X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=archive.sh;h=26a0e8d667fb932068bed15ca2afc56ec4902d09;hb=533854506dc124e0c2420ef91808e5a9605ef2ba;hp=9994836bb687131bf511eaac58f17e8bc70010c2;hpb=46d2ea7be4283759805fd0e9a51ef4f8a65b07ab;p=config%2Fdotfiles.git diff --git a/archive.sh b/archive.sh index 9994836..26a0e8d 100755 --- a/archive.sh +++ b/archive.sh @@ -21,24 +21,32 @@ # along with this program. If not, see . -set -e +set -eu 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