mirror of
https://github.com/git/git.git
synced 2026-03-13 02:13:24 +01:00
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 <johannes.schindelin@gmx.de>
This commit is contained in:
11
git-am.sh
11
git-am.sh
@@ -513,7 +513,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
|
||||
@@ -682,7 +683,8 @@ do
|
||||
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
|
||||
@@ -755,7 +757,7 @@ do
|
||||
# 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 -- && {
|
||||
echo "No changes - did you forget to use 'git add'?"
|
||||
echo "If there is nothing left to stage, chances are that something else"
|
||||
echo "already introduced the same changes; you might want to skip this patch."
|
||||
@@ -779,7 +781,8 @@ do
|
||||
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 No changes -- Patch already applied.
|
||||
go_next
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user