From: Jonathan Nieder Date: Mon, 26 Jul 2010 19:04:48 GMT Subject: Re: Possible bug with `export-subst' attribute Message-ID: <20100726190448.GA32367@burratino> In-Reply-To: <7vbp9uaii2.fsf@alter.siamese.dyndns.org> 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 --- 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 --