diff options
author | David Kastrup <dak@gnu.org> | 2007-08-11 15:36:28 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-08-13 21:19:48 -0700 |
commit | b2bc9a30981ace8c18d1a73b3e10153efc5c20f7 (patch) | |
tree | 4c8cceb653e27c2b5d089a5f279647ec8b25c5f3 | |
parent | 0476786e645ae18096d6a63de5fd4b756071b522 (diff) | |
download | git-b2bc9a30981ace8c18d1a73b3e10153efc5c20f7.tar.gz |
git-sh-setup.sh: make GIT_DIR absolute
Quite a few of the scripts are rather careless about using GIT_DIR
while changing directories.
Some try their hands (with different likelihood of success) in making
GIT_DIR absolute.
This patch lets git-sh-setup.sh cater for absolute directories (in a
way that should work reliably also with non-Unix path names) and
removes the respective kludges in git-filter-branch.sh and
git-instaweb.sh.
Signed-off-by: David Kastrup <dak@gnu.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-filter-branch.sh | 7 | ||||
-rwxr-xr-x | git-instaweb.sh | 8 | ||||
-rwxr-xr-x | git-sh-setup.sh | 12 |
3 files changed, 12 insertions, 15 deletions
diff --git a/git-filter-branch.sh b/git-filter-branch.sh index b5fa44920d..c42e4512cf 100755 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -170,13 +170,6 @@ do esac done < "$tempdir"/backup-refs -case "$GIT_DIR" in -/*) - ;; -*) - GIT_DIR="$(pwd)/../../$GIT_DIR" - ;; -esac export GIT_DIR GIT_WORK_TREE=. # These refs should be updated if their heads were rewritten diff --git a/git-instaweb.sh b/git-instaweb.sh index cbc7418e35..b79c6b6a42 100755 --- a/git-instaweb.sh +++ b/git-instaweb.sh @@ -8,13 +8,7 @@ USAGE='[--start] [--stop] [--restart] . git-sh-setup -case "$GIT_DIR" in -/*) - fqgitdir="$GIT_DIR" ;; -*) - fqgitdir="$PWD/$GIT_DIR" ;; -esac - +fqgitdir="$GIT_DIR" local="`git config --bool --get instaweb.local`" httpd="`git config --get instaweb.httpd`" browser="`git config --get instaweb.browser`" diff --git a/git-sh-setup.sh b/git-sh-setup.sh index 8cbd153b62..185c5c6c95 100755 --- a/git-sh-setup.sh +++ b/git-sh-setup.sh @@ -116,6 +116,16 @@ then exit $exit } else - GIT_DIR=$(git rev-parse --git-dir) || exit + GIT_DIR=$(git rev-parse --git-dir) || { + exit=$? + echo >&2 "Failed to find a valid git directory." + exit $exit + } fi + +test -n "$GIT_DIR" && GIT_DIR=$(cd "$GIT_DIR" && pwd) || { + echo >&2 "Unable to determine absolute path of git directory" + exit 1 +} + : ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"} |