diff options
author | Lars Noschinski <lars@public.noschinski.de> | 2009-02-18 09:35:36 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-02-18 11:15:17 -0800 |
commit | 88e38808cd52aaed327a82d6a6ffdb8b9da621f2 (patch) | |
tree | d8516c8207b752d58acf43cfe646a6bdb1a1b025 /git-filter-branch.sh | |
parent | 51b2ead03c8cdc0ddeeca2fb5db14b7bac584337 (diff) | |
download | git-88e38808cd52aaed327a82d6a6ffdb8b9da621f2.tar.gz git-88e38808cd52aaed327a82d6a6ffdb8b9da621f2.tar.xz |
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 <lars@public.noschinski.de>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-filter-branch.sh')
-rwxr-xr-x | git-filter-branch.sh | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/git-filter-branch.sh b/git-filter-branch.sh index 27b57b826..9a09ba138 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 |