[PATCH] git-filter-branch.sh: Fix broken setting of GIT_DIR
- From
David Kastrup <dak@gnu.org>
- Date
- Aug 10, 2007, 14:02 UTC
- Message-ID
- <868x8j7aj2.fsf@lola.quinscape.zz>
If filter-branch is entered with an unset GIT_DIR, things are rather fragile. The GIT_DIR variable setting then points to something like $(pwd)/../.. which is neither guaranteed to be a git directory (depends on where filter-branch is started), nor will it continue to work once the temporary directory (for which the pwd is output) ceases to exist.
So we just call git-name-rev in order to get the correct setting here for exporting.
Signed-off-by: David Kastrup <dak@gnu.org> --- git-filter-branch.sh | 12 ++++-------- 1 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/git-filter-branch.sh b/git-filter-branch.sh index b5fa449..6cd489e 100755 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -170,14 +170,10 @@ do esac done < "$tempdir"/backup-refs -case "$GIT_DIR" in -/*) - ;; -*) - GIT_DIR="$(pwd)/../../$GIT_DIR" - ;; -esac -export GIT_DIR GIT_WORK_TREE=. +GIT_DIR=$(cd ../..;git-name-rev --git-dir) +GIT_WORK_TREE=. + +export GIT_DIR GIT_WORK_TREE # These refs should be updated if their heads were rewritten
-- 1.5.3.rc4.43.gaf14