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
maint
Junio C Hamano 2009-02-07 11:09:48 -08:00
commit df4364a429
2 changed files with 17 additions and 14 deletions

View File

@ -108,7 +108,7 @@ OPTIONS_SPEC=
. git-sh-setup . git-sh-setup


if [ "$(is_bare_repository)" = false ]; then if [ "$(is_bare_repository)" = false ]; then
git diff-files --quiet && git diff-files --ignore-submodules --quiet &&
git diff-index --cached --quiet HEAD -- || git diff-index --cached --quiet HEAD -- ||
die "Cannot rewrite branch(es) with a dirty working directory." die "Cannot rewrite branch(es) with a dirty working directory."
fi fi
@ -469,7 +469,6 @@ rm -rf "$tempdir"


trap - 0 trap - 0


if [ "$(is_bare_repository)" = false ]; then
unset GIT_DIR GIT_WORK_TREE GIT_INDEX_FILE unset GIT_DIR GIT_WORK_TREE GIT_INDEX_FILE
test -z "$ORIG_GIT_DIR" || { test -z "$ORIG_GIT_DIR" || {
GIT_DIR="$ORIG_GIT_DIR" && export GIT_DIR GIT_DIR="$ORIG_GIT_DIR" && export GIT_DIR
@ -482,6 +481,8 @@ if [ "$(is_bare_repository)" = false ]; then
GIT_INDEX_FILE="$ORIG_GIT_INDEX_FILE" && GIT_INDEX_FILE="$ORIG_GIT_INDEX_FILE" &&
export GIT_INDEX_FILE export GIT_INDEX_FILE
} }

if [ "$(is_bare_repository)" = false ]; then
git read-tree -u -m HEAD git read-tree -u -m HEAD
fi fi



View File

@ -39,7 +39,9 @@ test_expect_success 'result is really identical' '
' '


test_expect_success 'rewrite bare repository identically' ' test_expect_success 'rewrite bare repository identically' '
(git config core.bare true && cd .git && git filter-branch branch) (git config core.bare true && cd .git &&
git filter-branch branch > filter-output 2>&1 &&
! fgrep fatal filter-output)
' '
git config core.bare false git config core.bare false
test_expect_success 'result is really identical' ' test_expect_success 'result is really identical' '