aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Krüger <jk@jk.gs>2010-05-30 10:19:26 +0200
committerJunio C Hamano <gitster@pobox.com>2010-05-31 17:48:38 -0700
commit05bdcfe5fc3d626b752c2cb574f05ed30b279bcf (patch)
tree31de3de69fa6bde0185b87663634636ad5648533
parent81fa024cd8e336ba257f13fe7724b95baacfa3ad (diff)
downloadgit-05bdcfe5fc3d626b752c2cb574f05ed30b279bcf.tar.gz
git-05bdcfe5fc3d626b752c2cb574f05ed30b279bcf.tar.xz
git-am: suggest what to do with superfluous patches
Particularly in the context of rebase, conflicts frequently occur because the change in the patch to be applied was made obsolete by new upstream commits. In this case, solving the conflict effectively means skipping the patch. However, it's not always readily apparent that the patch needs to be skipped, and when people solve the conflict and try git rebase --continue, they get confronted with a message of No changes - did you forget to use 'git add'? That's not very helpful if you did actually stage your changes and they happen to turn the patch into a no-op. This extends the message to point out what's going on. Signed-off-by: Jan Krüger <jk@jk.gs> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgit-am.sh2
1 files changed, 2 insertions, 0 deletions
diff --git a/git-am.sh b/git-am.sh
index 87ffae252..43ea52c15 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -726,6 +726,8 @@ do
resolved=
git diff-index --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."
stop_here_user_resolve $this
}
unmerged=$(git ls-files -u)