diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-11-15 10:02:01 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-11-16 00:24:41 -0800 |
commit | 8c4021abfd170278d1a3431e2777bedd0c01fbb1 (patch) | |
tree | 1245de6c7df3d580c8fc06790647fa02211d5deb /log-tree.c | |
parent | ea4f2bd39dcfabb23e86b2f79149c6c4038ff3cd (diff) | |
download | git-8c4021abfd170278d1a3431e2777bedd0c01fbb1.tar.gz |
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 <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'log-tree.c')
-rw-r--r-- | log-tree.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/log-tree.c b/log-tree.c index 5444f0860b..194ddb13da 100644 --- a/log-tree.c +++ b/log-tree.c @@ -58,7 +58,7 @@ void show_decorations(struct rev_info *opt, struct commit *commit) struct name_decoration *decoration; if (opt->show_source && commit->util) - printf(" %s", (char *) commit->util); + printf("\t%s", (char *) commit->util); if (!opt->show_decorations) return; decoration = lookup_decoration(&name_decoration, &commit->object); |