]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - archive.sh
Minor cleanup.
[config/dotfiles.git] / archive.sh
index 985cc51ea4d7a2f48957fb1bb7993d1d8912e732..5f8a0d2954f6875cefef35f1fdacda95a8eed7a7 100755 (executable)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
+set -e
+
 git_clone() {
-    git clone "$1" "$2" > /dev/null
-    cwd=`pwd`
-    cd "$2" && git remote rm origin && git gc && cd "$cwd"
+    git clone "$1" "$2" >/dev/null
+    ( cd "$2" && git remote rm origin && git gc )
 }
 
+
+# Don't overwrite an existing file/directory.
+if test -e tmp; then
+    echo 'tmp/ already exists!'
+    exit 1
+fi
+
 git_clone . tmp/dotfiles
 for name in browser shell vcs vim x11; do
-    echo cloning $name to tmp/
+    test -d $name || continue
+
+    echo "cloning $name to tmp/"
     git_clone $name tmp/dotfiles/$name
 done
 
 archive=dotfiles.tar.gz
-echo creating $archive
+echo "creating $archive"
 tar cf tmp/$archive -C tmp -z dotfiles
-echo moving $archive to .
+echo "moving $archive to ."
 mv tmp/$archive .
 
 rm -rf tmp