Ignore dirty submodule states during rebase and stash

When rebasing or stashing, chances are that you do not care about
dirty submodules, since they are not updated by those actions anyway.
So ignore the submodules' states.

Note: the submodule states -- as committed in the superproject --
will still be stashed and rebased, it is _just_ the state of the
submodule in the working tree which is ignored.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Schindelin
2008-05-14 18:03:59 +01:00
committed by Junio C Hamano
parent 5fdeacb0ca
commit 6848d58c60
4 changed files with 105 additions and 12 deletions

View File

@ -15,8 +15,8 @@ trap 'rm -f "$TMP-*"' 0
ref_stash=refs/stash
no_changes () {
git diff-index --quiet --cached HEAD -- &&
git diff-files --quiet
git diff-index --quiet --cached HEAD --ignore-submodules -- &&
git diff-files --quiet --ignore-submodules
}
clear_stash () {
@ -130,7 +130,7 @@ show_stash () {
}
apply_stash () {
git diff-files --quiet ||
git diff-files --quiet --ignore-submodules ||
die 'Cannot restore on top of a dirty state'
unstash_index=