summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 60abce3)
raw | patch | inline | side by side (parent: 60abce3)
author | Junio C Hamano <junkio@cox.net> | |
Mon, 21 Nov 2005 20:17:22 +0000 (12:17 -0800) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Mon, 21 Nov 2005 20:21:24 +0000 (12:21 -0800) |
Luben Tuikov noticed that sometimes being able to say
'git-format-patch <commit>' to format the change a single commit
introduces relative to its parent is handy.
This patch does not support that directly, but it makes sense to
interpret a single argument "rev" to mean "rev^1..rev".
With this, the backward compatibility syntaxes still apply:
- "format-patch master" means "format-patch master..HEAD"
- "format-patch origin master" means "format-patch origin..master"
- "format-patch origin.." means "format-patch origin..HEAD"
But "format-patch a b c d e" formats the changes these five
commits introduce relative to their respective parents. Earlier
it rejected these arguments not in "one..two" form.
Signed-off-by: Junio C Hamano <junkio@cox.net>
'git-format-patch <commit>' to format the change a single commit
introduces relative to its parent is handy.
This patch does not support that directly, but it makes sense to
interpret a single argument "rev" to mean "rev^1..rev".
With this, the backward compatibility syntaxes still apply:
- "format-patch master" means "format-patch master..HEAD"
- "format-patch origin master" means "format-patch origin..master"
- "format-patch origin.." means "format-patch origin..HEAD"
But "format-patch a b c d e" formats the changes these five
commits introduce relative to their respective parents. Earlier
it rejected these arguments not in "one..two" form.
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-format-patch.sh | patch | blob | history |
diff --git a/git-format-patch.sh b/git-format-patch.sh
index 7ee5d328c0324cc29a0f93a9ff4d9f8a8e19891e..351790c4494ec88c01063a4c97c487f9e015c339 100755 (executable)
--- a/git-format-patch.sh
+++ b/git-format-patch.sh
# Also, "rev1.." should mean "rev1..HEAD"; git-diff users are
# familiar with that syntax.
-case "$#,$1" in
+case "$#,$1$2" in
1,?*..?*)
# single "rev1..rev2"
;;
rev2=`expr "$revpair" : '.*\.\.\(.*\)'`
;;
*)
- usage
+ rev1="$revpair^"
+ rev2="$revpair"
;;
esac
git-rev-parse --verify "$rev1^0" >/dev/null 2>&1 ||