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>
This commit is contained in:
parent
0476786e64
commit
b2bc9a3098
@ -170,13 +170,6 @@ do
|
|||||||
esac
|
esac
|
||||||
done < "$tempdir"/backup-refs
|
done < "$tempdir"/backup-refs
|
||||||
|
|
||||||
case "$GIT_DIR" in
|
|
||||||
/*)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
GIT_DIR="$(pwd)/../../$GIT_DIR"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
export GIT_DIR GIT_WORK_TREE=.
|
export GIT_DIR GIT_WORK_TREE=.
|
||||||
|
|
||||||
# These refs should be updated if their heads were rewritten
|
# These refs should be updated if their heads were rewritten
|
||||||
|
@ -8,13 +8,7 @@ USAGE='[--start] [--stop] [--restart]
|
|||||||
|
|
||||||
. git-sh-setup
|
. git-sh-setup
|
||||||
|
|
||||||
case "$GIT_DIR" in
|
fqgitdir="$GIT_DIR"
|
||||||
/*)
|
|
||||||
fqgitdir="$GIT_DIR" ;;
|
|
||||||
*)
|
|
||||||
fqgitdir="$PWD/$GIT_DIR" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
local="`git config --bool --get instaweb.local`"
|
local="`git config --bool --get instaweb.local`"
|
||||||
httpd="`git config --get instaweb.httpd`"
|
httpd="`git config --get instaweb.httpd`"
|
||||||
browser="`git config --get instaweb.browser`"
|
browser="`git config --get instaweb.browser`"
|
||||||
|
@ -116,6 +116,16 @@ then
|
|||||||
exit $exit
|
exit $exit
|
||||||
}
|
}
|
||||||
else
|
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
|
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"}
|
: ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user