зеркало из https://github.com/microsoft/git.git
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:
Коммит
df4364a429
|
@ -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
|
||||
|
||||
|
|
|
@ -39,7 +39,9 @@ test_expect_success 'result is really identical' '
|
|||
'
|
||||
|
||||
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
|
||||
test_expect_success 'result is really identical' '
|
||||
|
|
Загрузка…
Ссылка в новой задаче