summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2009-01-10 12:41:33 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2009-01-10 17:40:57 -0800
commit68c2ec7f43c4dc16833ff58af76ab20e9cdfad17 (patch)
tree8efa3282651594bfbcf5f3a5de142088d8682e2a
parentMerge branch 'maint-1.5.6' into maint-1.6.0 (diff)
downloadtgif-68c2ec7f43c4dc16833ff58af76ab20e9cdfad17.tar.xz
format-patch: show patch text for the root commit
Even without --root specified, if the range given on the command line happens to include a root commit, we should include its patch text in the output. This fix deliberately ignores log.showroot configuration variable because "format-patch" and "log -p" can and should behave differently in this case, as the former is about exporting a part of your history in a form that is replayable elsewhere and just giving the commit log message without the patch text does not make any sense for that purpose. Noticed and fix originally attempted by Nathan W. Panike; credit goes to Alexander Potashev for injecting sanity to my initial (broken) fix that used the value from log.showroot configuration, which was misguided. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin-log.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/builtin-log.c b/builtin-log.c
index db71e0da74..5e302906fb 100644
--- a/builtin-log.c
+++ b/builtin-log.c
@@ -962,6 +962,13 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
* get_revision() to do the usual traversal.
*/
}
+
+ /*
+ * We cannot move this anywhere earlier because we do want to
+ * know if --root was given explicitly from the comand line.
+ */
+ rev.show_root_diff = 1;
+
if (cover_letter) {
/* remember the range */
int i;