url="$1"
if [ -e $NOGIT_DIR ]; then
- echo "Error: .nogit already exists. Cowardly refusing to re-clone."
+ echo "Error: $NOGIT_DIR already exists. Cowardly refusing to re-clone."
+ return 1
+ fi
+
+ if [ -e $NOGIT_DIR_TMP ]; then
+ echo "Error: $NOGIT_DIR_TMP already exists. Was a previous clone interrupted?"
+ echo "You'll want to clean that up before trying again."
return 1
fi
false
fi
+ # Install the info/atttributes file that forces the "union" merge
+ # driver for all files, giving us the semantics of "keep both sides
+ # of all conflicts" that is at the heart of nogit.
+ mkdir -p tmp/.git/info
+ echo '* merge=union' > tmp/.git/info/attributes
+
# Now that we've passed the sanity check, install the cloned .git
# object store into $NOGIT_DIR, cleanup our temporary files, and
# checkout the (known to not be conflicting) files.