diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-02-07 20:09:48 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-02-07 20:09:48 +0100 |
commit | df4364a42981dec067dbacfd6371d4ca910df48e (patch) | |
tree | 862033510a057a827ee2e918f83ea0f438db876f /git-filter-branch.sh | |
parent | Merge branch 'maint' (diff) | |
parent | filter-branch: do not consider diverging submodules a 'dirty worktree' (diff) | |
download | git-df4364a42981dec067dbacfd6371d4ca910df48e.tar.xz git-df4364a42981dec067dbacfd6371d4ca910df48e.zip |
Merge branch 'js/filter-branch-submodule'
* js/filter-branch-submodule:
filter-branch: do not consider diverging submodules a 'dirty worktree'
filter-branch: Fix fatal error on bare repositories
Diffstat (limited to 'git-filter-branch.sh')
-rwxr-xr-x | git-filter-branch.sh | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/git-filter-branch.sh b/git-filter-branch.sh index eb62f719b0..86eef56297 100755 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -108,7 +108,7 @@ OPTIONS_SPEC= . git-sh-setup if [ "$(is_bare_repository)" = false ]; then - git diff-files --quiet && + git diff-files --ignore-submodules --quiet && git diff-index --cached --quiet HEAD -- || die "Cannot rewrite branch(es) with a dirty working directory." fi @@ -469,19 +469,20 @@ rm -rf "$tempdir" trap - 0 +unset GIT_DIR GIT_WORK_TREE GIT_INDEX_FILE +test -z "$ORIG_GIT_DIR" || { + GIT_DIR="$ORIG_GIT_DIR" && export GIT_DIR +} +test -z "$ORIG_GIT_WORK_TREE" || { + GIT_WORK_TREE="$ORIG_GIT_WORK_TREE" && + export GIT_WORK_TREE +} +test -z "$ORIG_GIT_INDEX_FILE" || { + GIT_INDEX_FILE="$ORIG_GIT_INDEX_FILE" && + export GIT_INDEX_FILE +} + if [ "$(is_bare_repository)" = false ]; then - unset GIT_DIR GIT_WORK_TREE GIT_INDEX_FILE - test -z "$ORIG_GIT_DIR" || { - GIT_DIR="$ORIG_GIT_DIR" && export GIT_DIR - } - test -z "$ORIG_GIT_WORK_TREE" || { - GIT_WORK_TREE="$ORIG_GIT_WORK_TREE" && - export GIT_WORK_TREE - } - test -z "$ORIG_GIT_INDEX_FILE" || { - GIT_INDEX_FILE="$ORIG_GIT_INDEX_FILE" && - export GIT_INDEX_FILE - } git read-tree -u -m HEAD fi |