Re: [PATCH] Get format-patch to show first commit after root commit
From: Alexander Potashev <hidden>
Date: 2016-06-15 22:45:55
Hello! I experienced this problem today while preparing a simple patch for reply in "[PATCH 2/2] Use is_pseudo_dir_name everywhere" thread. I used a workaround: add a file, commit, remove it, commit, add it once again, commit and after all format-patch. On 13:35 Fri 09 Jan , Nathan W. Panike wrote:
Currently, the command git format-patch -1 e83c5163316f89bfbde in the git repository creates an empty file. Instead, one is forced to do git format-patch -1 --root e83c5163316f89bfbde This seems arbitrary. This patch fixes this case, so that git format-patch -1 e83c5163316f89bfbde
Your patch doesn't solve the problem if there are more than one commit (say, 2 commits) and you run 'git format-patch -2'. Even with your patch format-patch writes an empty patch file corresponding to the root commit (actually, it creates 2 patches, but the first is empty). Please, correct me if I'm wrong.
quoted hunk ↗ jump to hunk
will produce an actual patch. --- builtin-log.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)diff --git a/builtin-log.c b/builtin-log.c index 4a02ee9..5e7b61f 100644 --- a/builtin-log.c +++ b/builtin-log.c@@ -977,6 +977,8 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) list[nr - 1] = commit; } total = nr; + if (total == 1 && !list[0]->parents) + rev.show_root_diff=1; if (!keep_subject && auto_number && total > 1) numbered = 1; if (numbered)-- 1.6.1.76.gc123b.dirty