log: do not print ellipses with --abbrev-commit

'git log --abbrev-commit' added an ellipsis to all commit names that
were abbreviated.  This was particularly annoying if you wanted to
cut&paste the sha1 from the terminal, since selecting by word would
pick up '...'  too.

So use find_unique_abbrev() instead of diff_unique_abbrev() in all
log-related commit sha1 printing routines, and also change the
formatting of the 'Merge: parent1 parent2' line output via
pretty_print_commit().

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Thomas Rast 2009-02-13 23:10:41 +01:00 committed by Junio C Hamano
parent 5cd12b85fe
commit 7fcda9201e
16 changed files with 19 additions and 21 deletions

View File

@ -48,7 +48,7 @@ static void show_parents(struct commit *commit, int abbrev)
struct commit_list *p; struct commit_list *p;
for (p = commit->parents; p ; p = p->next) { for (p = commit->parents; p ; p = p->next) {
struct commit *parent = p->item; struct commit *parent = p->item;
printf(" %s", diff_unique_abbrev(parent->object.sha1, abbrev)); printf(" %s", find_unique_abbrev(parent->object.sha1, abbrev));
} }
} }
@ -280,7 +280,7 @@ void show_log(struct rev_info *opt)
putchar('>'); putchar('>');
} }
} }
fputs(diff_unique_abbrev(commit->object.sha1, abbrev_commit), stdout); fputs(find_unique_abbrev(commit->object.sha1, abbrev_commit), stdout);
if (opt->print_parents) if (opt->print_parents)
show_parents(commit, abbrev_commit); show_parents(commit, abbrev_commit);
show_decorations(opt, commit); show_decorations(opt, commit);
@ -348,13 +348,13 @@ void show_log(struct rev_info *opt)
putchar('>'); putchar('>');
} }
} }
fputs(diff_unique_abbrev(commit->object.sha1, abbrev_commit), fputs(find_unique_abbrev(commit->object.sha1, abbrev_commit),
stdout); stdout);
if (opt->print_parents) if (opt->print_parents)
show_parents(commit, abbrev_commit); show_parents(commit, abbrev_commit);
if (parent) if (parent)
printf(" (from %s)", printf(" (from %s)",
diff_unique_abbrev(parent->object.sha1, find_unique_abbrev(parent->object.sha1,
abbrev_commit)); abbrev_commit));
show_decorations(opt, commit); show_decorations(opt, commit);
printf("%s", diff_get_color_opt(&opt->diffopt, DIFF_RESET)); printf("%s", diff_get_color_opt(&opt->diffopt, DIFF_RESET));

View File

@ -210,15 +210,13 @@ static void add_merge_info(enum cmit_fmt fmt, struct strbuf *sb,
while (parent) { while (parent) {
struct commit *p = parent->item; struct commit *p = parent->item;
const char *hex = NULL; const char *hex = NULL;
const char *dots;
if (abbrev) if (abbrev)
hex = find_unique_abbrev(p->object.sha1, abbrev); hex = find_unique_abbrev(p->object.sha1, abbrev);
if (!hex) if (!hex)
hex = sha1_to_hex(p->object.sha1); hex = sha1_to_hex(p->object.sha1);
dots = (abbrev && strlen(hex) != 40) ? "..." : "";
parent = parent->next; parent = parent->next;
strbuf_addf(sb, " %s%s", hex, dots); strbuf_addf(sb, " %s", hex);
} }
strbuf_addch(sb, '\n'); strbuf_addch(sb, '\n');
} }

View File

@ -1,6 +1,6 @@
$ git log --patch-with-stat --summary master -- dir/ $ git log --patch-with-stat --summary master -- dir/
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 commit 59d314ad6f356dd08601a4cd5e530381da3e3c64
Merge: 9a6d494... c7a2ab9... Merge: 9a6d494 c7a2ab9
Author: A U Thor <author@example.com> Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:04:00 2006 +0000 Date: Mon Jun 26 00:04:00 2006 +0000

View File

@ -1,6 +1,6 @@
$ git log --patch-with-stat master $ git log --patch-with-stat master
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 commit 59d314ad6f356dd08601a4cd5e530381da3e3c64
Merge: 9a6d494... c7a2ab9... Merge: 9a6d494 c7a2ab9
Author: A U Thor <author@example.com> Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:04:00 2006 +0000 Date: Mon Jun 26 00:04:00 2006 +0000

View File

@ -1,6 +1,6 @@
$ git log --patch-with-stat master -- dir/ $ git log --patch-with-stat master -- dir/
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 commit 59d314ad6f356dd08601a4cd5e530381da3e3c64
Merge: 9a6d494... c7a2ab9... Merge: 9a6d494 c7a2ab9
Author: A U Thor <author@example.com> Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:04:00 2006 +0000 Date: Mon Jun 26 00:04:00 2006 +0000

View File

@ -1,6 +1,6 @@
$ git log --root --cc --patch-with-stat --summary master $ git log --root --cc --patch-with-stat --summary master
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 commit 59d314ad6f356dd08601a4cd5e530381da3e3c64
Merge: 9a6d494... c7a2ab9... Merge: 9a6d494 c7a2ab9
Author: A U Thor <author@example.com> Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:04:00 2006 +0000 Date: Mon Jun 26 00:04:00 2006 +0000

View File

@ -1,6 +1,6 @@
$ git log --root --patch-with-stat --summary master $ git log --root --patch-with-stat --summary master
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 commit 59d314ad6f356dd08601a4cd5e530381da3e3c64
Merge: 9a6d494... c7a2ab9... Merge: 9a6d494 c7a2ab9
Author: A U Thor <author@example.com> Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:04:00 2006 +0000 Date: Mon Jun 26 00:04:00 2006 +0000

View File

@ -1,6 +1,6 @@
$ git log --root --patch-with-stat master $ git log --root --patch-with-stat master
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 commit 59d314ad6f356dd08601a4cd5e530381da3e3c64
Merge: 9a6d494... c7a2ab9... Merge: 9a6d494 c7a2ab9
Author: A U Thor <author@example.com> Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:04:00 2006 +0000 Date: Mon Jun 26 00:04:00 2006 +0000

View File

@ -1,6 +1,6 @@
$ git log --root -c --patch-with-stat --summary master $ git log --root -c --patch-with-stat --summary master
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 commit 59d314ad6f356dd08601a4cd5e530381da3e3c64
Merge: 9a6d494... c7a2ab9... Merge: 9a6d494 c7a2ab9
Author: A U Thor <author@example.com> Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:04:00 2006 +0000 Date: Mon Jun 26 00:04:00 2006 +0000

View File

@ -1,6 +1,6 @@
$ git log --root -p master $ git log --root -p master
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 commit 59d314ad6f356dd08601a4cd5e530381da3e3c64
Merge: 9a6d494... c7a2ab9... Merge: 9a6d494 c7a2ab9
Author: A U Thor <author@example.com> Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:04:00 2006 +0000 Date: Mon Jun 26 00:04:00 2006 +0000

View File

@ -1,6 +1,6 @@
$ git log --root master $ git log --root master
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 commit 59d314ad6f356dd08601a4cd5e530381da3e3c64
Merge: 9a6d494... c7a2ab9... Merge: 9a6d494 c7a2ab9
Author: A U Thor <author@example.com> Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:04:00 2006 +0000 Date: Mon Jun 26 00:04:00 2006 +0000

View File

@ -1,6 +1,6 @@
$ git log -p master $ git log -p master
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 commit 59d314ad6f356dd08601a4cd5e530381da3e3c64
Merge: 9a6d494... c7a2ab9... Merge: 9a6d494 c7a2ab9
Author: A U Thor <author@example.com> Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:04:00 2006 +0000 Date: Mon Jun 26 00:04:00 2006 +0000

View File

@ -1,6 +1,6 @@
$ git log master $ git log master
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 commit 59d314ad6f356dd08601a4cd5e530381da3e3c64
Merge: 9a6d494... c7a2ab9... Merge: 9a6d494 c7a2ab9
Author: A U Thor <author@example.com> Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:04:00 2006 +0000 Date: Mon Jun 26 00:04:00 2006 +0000

View File

@ -1,6 +1,6 @@
$ git show master $ git show master
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 commit 59d314ad6f356dd08601a4cd5e530381da3e3c64
Merge: 9a6d494... c7a2ab9... Merge: 9a6d494 c7a2ab9
Author: A U Thor <author@example.com> Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:04:00 2006 +0000 Date: Mon Jun 26 00:04:00 2006 +0000

View File

@ -1,6 +1,6 @@
$ git whatchanged --root --cc --patch-with-stat --summary master $ git whatchanged --root --cc --patch-with-stat --summary master
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 commit 59d314ad6f356dd08601a4cd5e530381da3e3c64
Merge: 9a6d494... c7a2ab9... Merge: 9a6d494 c7a2ab9
Author: A U Thor <author@example.com> Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:04:00 2006 +0000 Date: Mon Jun 26 00:04:00 2006 +0000

View File

@ -1,6 +1,6 @@
$ git whatchanged --root -c --patch-with-stat --summary master $ git whatchanged --root -c --patch-with-stat --summary master
commit 59d314ad6f356dd08601a4cd5e530381da3e3c64 commit 59d314ad6f356dd08601a4cd5e530381da3e3c64
Merge: 9a6d494... c7a2ab9... Merge: 9a6d494 c7a2ab9
Author: A U Thor <author@example.com> Author: A U Thor <author@example.com>
Date: Mon Jun 26 00:04:00 2006 +0000 Date: Mon Jun 26 00:04:00 2006 +0000