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;
for (p = commit->parents; p ; p = p->next) {
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('>');
}
}
fputs(diff_unique_abbrev(commit->object.sha1, abbrev_commit), stdout);
fputs(find_unique_abbrev(commit->object.sha1, abbrev_commit), stdout);
if (opt->print_parents)
show_parents(commit, abbrev_commit);
show_decorations(opt, commit);
@ -348,13 +348,13 @@ void show_log(struct rev_info *opt)
putchar('>');
}
}
fputs(diff_unique_abbrev(commit->object.sha1, abbrev_commit),
fputs(find_unique_abbrev(commit->object.sha1, abbrev_commit),
stdout);
if (opt->print_parents)
show_parents(commit, abbrev_commit);
if (parent)
printf(" (from %s)",
diff_unique_abbrev(parent->object.sha1,
find_unique_abbrev(parent->object.sha1,
abbrev_commit));
show_decorations(opt, commit);
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) {
struct commit *p = parent->item;
const char *hex = NULL;
const char *dots;
if (abbrev)
hex = find_unique_abbrev(p->object.sha1, abbrev);
if (!hex)
hex = sha1_to_hex(p->object.sha1);
dots = (abbrev && strlen(hex) != 40) ? "..." : "";
parent = parent->next;
strbuf_addf(sb, " %s%s", hex, dots);
strbuf_addf(sb, " %s", hex);
}
strbuf_addch(sb, '\n');
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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