Support "git repack project.git" syntax which is more intuitive than using the GIT_DIR environment variable. Signed-off-by: Timo Hirvonen <tihirvon@xxxxxxxxx> --- git-repack.sh | 27 ++++++++++++++++++++++++--- 1 files changed, 24 insertions(+), 3 deletions(-) c09c41750023e5b502312ddaa21bf5a2371e66ac diff --git a/git-repack.sh b/git-repack.sh index 4fb3f26..b24cd1a 100755 --- a/git-repack.sh +++ b/git-repack.sh @@ -3,8 +3,8 @@ # # Copyright (c) 2005 Linus Torvalds # -USAGE='[-a] [-d] [-f] [-l] [-n] [-q]' -. git-sh-setup +unset CDPATH +USAGE='[-a] [-d] [-f] [-l] [-n] [-q] [GIT_DIR]' no_update_info= all_into_one= remove_redundant= local= quiet= no_reuse_delta= extra= @@ -19,11 +19,32 @@ do -l) local=--local ;; --window=*) extra="$extra $1" ;; --depth=*) extra="$extra $1" ;; - *) usage ;; + -h|--h|--he|--hel|--help) + echo "Usage: $0 $USAGE" + exit + ;; + *) + if test "$#" -gt 1 + then + echo >&2 "Usage: $0 $USAGE" + exit 1 + fi + export GIT_DIR="$1" + ;; esac shift done +: ${GIT_DIR=.git} +: ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"} + +# Make sure we are in a valid repository of a vintage we understand. +GIT_DIR="$GIT_DIR" git repo-config --get core.nosuch >/dev/null +if test $? = 128 +then + exit +fi + rm -f .tmp-pack-* PACKDIR="$GIT_OBJECT_DIRECTORY/pack" -- 1.3.3.g8701-dirty - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html