From f7ed539f09b4be74ef6581ba2457b8de165c4a55 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Sat, 29 May 2010 21:50:11 +0200 Subject: [PATCH] git am: ignore dirty submodules This fixes a rebase in the presence of dirty submodules. This is orthogonal to the application of patches changing submodules. Signed-off-by: Johannes Schindelin --- git-am.sh | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/git-am.sh b/git-am.sh index 4da0ddafc4..ef7191e562 100755 --- a/git-am.sh +++ b/git-am.sh @@ -564,7 +564,8 @@ case "$resolved" in '') files=$(git ls-files) ;; ?*) - files=$(git diff-index --cached --name-only HEAD --) ;; + files=$(git diff-index --ignore-submodules --cached \ + --name-only HEAD --) ;; esac || exit if test "$files" then @@ -736,7 +737,8 @@ To restore the original branch and stop patching run \"\$cmdline --abort\"." case "$resolved$interactive" in tt) # This is used only for interactive view option. - git diff-index -p --cached HEAD -- >"$dotest/patch" + git diff-index --ignore-submodules -p --cached \ + HEAD -- >"$dotest/patch" ;; esac esac @@ -812,7 +814,7 @@ To restore the original branch and stop patching run \"\$cmdline --abort\"." # trust what the user has in the index file and the # working tree. resolved= - git diff-index --quiet --cached HEAD -- && { + git diff-index --ignore-submodules --quiet --cached HEAD -- && { gettextln "No changes - did you forget to use 'git add'? If there is nothing left to stage, chances are that something else already introduced the same changes; you might want to skip this patch." @@ -836,7 +838,8 @@ did you forget to use 'git add'?" then # Applying the patch to an earlier tree and merging the # result may have produced the same tree as ours. - git diff-index --quiet --cached HEAD -- && { + git diff-index --ignore-submodules --quiet --cached \ + HEAD -- && { say "$(gettext "No changes -- Patch already applied.")" go_next continue -- 2.11.4.GIT