X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=archive.sh;h=26a0e8d667fb932068bed15ca2afc56ec4902d09;hb=0b96090f82bd835ed3707be7f7a32cc497272458;hp=4a6d785d589d326050625e6b1b2cca52fd542aaa;hpb=de7a0a45d872450fc96614c51a1ad2670d01be5a;p=config%2Fdotfiles.git diff --git a/archive.sh b/archive.sh index 4a6d785..26a0e8d 100755 --- a/archive.sh +++ b/archive.sh @@ -5,23 +5,48 @@ # # Usage: ./archive.sh +# Copyright (C) 2010-2013 Simon Ruderich +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +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