Skip to content

Commit 8c4021a

Browse files
torvaldsgitster
authored andcommitted
Fix machine-parseability of 'git log --source'
The space between the commit and the source attribute is not easily machine-parseable: if we combine --source with --parents and give a SHA1 as a starting point, it's unnecessarily hard to see where the list of parents ends and the source decoration begins. Example: git show --parents --source $(git rev-list HEAD) which is admittedly contrived, but can easily happen in scripting. So use a <tab> instead of a space as the source separator. The other decorations didn't have this issue, because they were surrounded by parenthesis, so it's obvious that they aren't parent SHA1's. It so happens that _visually_ this makes no difference for "git log --source", since "commit <40-char SHA1>" is 47 characters, so both a space and a <tab> will end up showing as a single commit. Of course, with '--pretty=oneline' or '--parents' or '--abbrev-commit' you'll see the difference. Signed-off-by: Linus Torvalds <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent ea4f2bd commit 8c4021a

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

log-tree.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ void show_decorations(struct rev_info *opt, struct commit *commit)
5858
struct name_decoration *decoration;
5959

6060
if (opt->show_source && commit->util)
61-
printf(" %s", (char *) commit->util);
61+
printf("\t%s", (char *) commit->util);
6262
if (!opt->show_decorations)
6363
return;
6464
decoration = lookup_decoration(&name_decoration, &commit->object);

0 commit comments

Comments
 (0)