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
This commit is contained in:
commit
df4364a429
@ -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,19 +469,20 @@ 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
|
||||||
}
|
}
|
||||||
test -z "$ORIG_GIT_WORK_TREE" || {
|
test -z "$ORIG_GIT_WORK_TREE" || {
|
||||||
GIT_WORK_TREE="$ORIG_GIT_WORK_TREE" &&
|
GIT_WORK_TREE="$ORIG_GIT_WORK_TREE" &&
|
||||||
export GIT_WORK_TREE
|
export GIT_WORK_TREE
|
||||||
}
|
}
|
||||||
test -z "$ORIG_GIT_INDEX_FILE" || {
|
test -z "$ORIG_GIT_INDEX_FILE" || {
|
||||||
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
|
||||||
|
|
||||||
|
@ -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' '
|
||||||
|
Loading…
Reference in New Issue
Block a user