From 88e38808cd52aaed327a82d6a6ffdb8b9da621f2 Mon Sep 17 00:00:00 2001 From: Lars Noschinski Date: Wed, 18 Feb 2009 09:35:36 +0100 Subject: filter-branch -d: Export GIT_DIR earlier The improved error handling catches a bug in filter-branch when using -d pointing to a path outside any git repository: $ git filter-branch -d /tmp/foo master fatal: Not a git repository (or any of the parent directories): .git This error message comes from git for-each-ref in line 224. GIT_DIR is set correctly by git-sh-setup (to the foo.git repository), but not exported (yet). Signed-off-by: Lars Noschinski Acked-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- git-filter-branch.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'git-filter-branch.sh') diff --git a/git-filter-branch.sh b/git-filter-branch.sh index 27b57b826a..9a09ba1382 100755 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -220,6 +220,12 @@ die "" # Remove tempdir on exit trap 'cd ../..; rm -rf "$tempdir"' 0 +ORIG_GIT_DIR="$GIT_DIR" +ORIG_GIT_WORK_TREE="$GIT_WORK_TREE" +ORIG_GIT_INDEX_FILE="$GIT_INDEX_FILE" +GIT_WORK_TREE=. +export GIT_DIR GIT_WORK_TREE + # Make sure refs/original is empty git for-each-ref > "$tempdir"/backup-refs || exit while read sha1 type name @@ -234,12 +240,6 @@ do esac done < "$tempdir"/backup-refs -ORIG_GIT_DIR="$GIT_DIR" -ORIG_GIT_WORK_TREE="$GIT_WORK_TREE" -ORIG_GIT_INDEX_FILE="$GIT_INDEX_FILE" -GIT_WORK_TREE=. -export GIT_DIR GIT_WORK_TREE - # The refs should be updated if their heads were rewritten git rev-parse --no-flags --revs-only --symbolic-full-name \ --default HEAD "$@" > "$tempdir"/raw-heads || exit -- cgit v1.2.3