Junio C Hamano wrote:
The ones to archive and checkout I understand, but what effect does the
one to commit.c::print_summary() have?
Currently commit.c::print_summary() does this:
struct strbuf format = STRBUF_INIT;
...
strbuf_addstr(&format, "format:%h] %s");
[+ other bits for the commit notice]
rev.abbrev = 0;
rev.diff = 1;
...
get_commit_format(format.buf, &rev)
...
printf("[%s%s ",
[branch name " (root-commit)"]);
if (!log_tree_commit(&rev, commit)) {
...
In other words, it imbues rev with a format including %h and uses that
to print a commit summary.
That code is as old as builtin commit (v1.5.4-rc0~78^2~30,
2007-11-08) and was meant to imitate a diff-tree invocation (which
is plumbing).
-- %< --
Subject: examples/commit: use --abbrev for commit summary
After v1.7.1.1~17^2~3 (pretty: Respect --abbrev option, 2010-05-03),
plumbing users do not abbreviate %h hashes by default any more.
Signed-off-by: Jonathan Nieder <redacted>
---
If this seems to be a problem elsewhere, we will have to decouple
the remembered --abbrev setting for %h from that for --raw output.
diff --git i/contrib/examples/git-commit.sh w/contrib/examples/git-commit.sh
index 5c72f65..23ffb02 100755
--- i/contrib/examples/git-commit.sh
+++ w/contrib/examples/git-commit.sh
@@ -631,7 +631,7 @@ then
if test -z "$quiet"
then
commit=`git diff-tree --always --shortstat --pretty="format:%h: %s"\
- --summary --root HEAD --`
+ --abbrev --summary --root HEAD --`
echo "Created${initial_commit:+ initial} commit $commit"
fi
fi--