Revision ed58d8088b570e7629bfc94b87e433f05229ef3c authored by Jeff King on 06 January 2017, 04:18:08 UTC, committed by Junio C Hamano on 08 January 2017, 03:34:54 UTC
You can already ask blame for full sha1s with "-l" or with
"--abbrev=40". But for consistency with other parts of Git,
we should support "--no-abbrev".

Worse, blame already accepts --no-abbrev, but it's totally
broken. When we see --no-abbrev, the abbrev variable is set
to 0, which is then used as a printf precision. For regular
sha1s, that means we print nothing at all (which is very
wrong). For boundary commits we decrement it to "-1", which
printf interprets as "no limit" (which is almost correct,
except it misses the 39-length magic explained in the
previous commit).

Let's detect --no-abbrev and behave as if --abbrev=40 was
given.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 9122983
History
File Mode Size
add.c -rw-r--r-- 12.8 KB
am.c -rw-r--r-- 59.3 KB
annotate.c -rw-r--r-- 444 bytes
apply.c -rw-r--r-- 126.2 KB
archive.c -rw-r--r-- 3.0 KB
bisect--helper.c -rw-r--r-- 787 bytes
blame.c -rw-r--r-- 77.2 KB
branch.c -rw-r--r-- 25.0 KB
bundle.c -rw-r--r-- 1.9 KB
cat-file.c -rw-r--r-- 14.0 KB
check-attr.c -rw-r--r-- 4.5 KB
check-ignore.c -rw-r--r-- 4.9 KB
check-mailmap.c -rw-r--r-- 1.6 KB
check-ref-format.c -rw-r--r-- 2.1 KB
checkout-index.c -rw-r--r-- 6.5 KB
checkout.c -rw-r--r-- 35.7 KB
clean.c -rw-r--r-- 23.8 KB
clone.c -rw-r--r-- 30.1 KB
column.c -rw-r--r-- 1.9 KB
commit-tree.c -rw-r--r-- 3.0 KB
commit.c -rw-r--r-- 53.0 KB
config.c -rw-r--r-- 20.5 KB
count-objects.c -rw-r--r-- 3.8 KB
credential.c -rw-r--r-- 663 bytes
describe.c -rw-r--r-- 12.1 KB
diff-files.c -rw-r--r-- 2.0 KB
diff-index.c -rw-r--r-- 1.4 KB
diff-tree.c -rw-r--r-- 4.8 KB
diff.c -rw-r--r-- 12.1 KB
fast-export.c -rw-r--r-- 27.3 KB
fetch-pack.c -rw-r--r-- 5.1 KB
fetch.c -rw-r--r-- 37.2 KB
fmt-merge-msg.c -rw-r--r-- 18.1 KB
for-each-ref.c -rw-r--r-- 2.7 KB
fsck.c -rw-r--r-- 18.4 KB
gc.c -rw-r--r-- 11.2 KB
get-tar-commit-id.c -rw-r--r-- 968 bytes
grep.c -rw-r--r-- 24.4 KB
hash-object.c -rw-r--r-- 4.3 KB
help.c -rw-r--r-- 12.3 KB
index-pack.c -rw-r--r-- 46.2 KB
init-db.c -rw-r--r-- 15.7 KB
interpret-trailers.c -rw-r--r-- 1.2 KB
log.c -rw-r--r-- 50.6 KB
ls-files.c -rw-r--r-- 15.3 KB
ls-remote.c -rw-r--r-- 3.2 KB
ls-tree.c -rw-r--r-- 4.9 KB
mailinfo.c -rw-r--r-- 1.6 KB
mailsplit.c -rw-r--r-- 7.1 KB
merge-base.c -rw-r--r-- 6.0 KB
merge-file.c -rw-r--r-- 3.2 KB
merge-index.c -rw-r--r-- 2.2 KB
merge-ours.c -rw-r--r-- 926 bytes
merge-recursive.c -rw-r--r-- 2.1 KB
merge-tree.c -rw-r--r-- 8.8 KB
merge.c -rw-r--r-- 42.9 KB
mktag.c -rw-r--r-- 5.2 KB
mktree.c -rw-r--r-- 4.9 KB
mv.c -rw-r--r-- 8.2 KB
name-rev.c -rw-r--r-- 9.7 KB
notes.c -rw-r--r-- 27.8 KB
pack-objects.c -rw-r--r-- 74.6 KB
pack-redundant.c -rw-r--r-- 14.9 KB
pack-refs.c -rw-r--r-- 600 bytes
patch-id.c -rw-r--r-- 4.0 KB
prune-packed.c -rw-r--r-- 1.5 KB
prune.c -rw-r--r-- 3.8 KB
pull.c -rw-r--r-- 26.5 KB
push.c -rw-r--r-- 17.6 KB
read-tree.c -rw-r--r-- 7.0 KB
receive-pack.c -rw-r--r-- 48.6 KB
reflog.c -rw-r--r-- 18.9 KB
remote-ext.c -rw-r--r-- 4.5 KB
remote-fd.c -rw-r--r-- 1.8 KB
remote.c -rw-r--r-- 44.1 KB
repack.c -rw-r--r-- 11.7 KB
replace.c -rw-r--r-- 13.8 KB
rerere.c -rw-r--r-- 3.0 KB
reset.c -rw-r--r-- 10.7 KB
rev-list.c -rw-r--r-- 10.7 KB
rev-parse.c -rw-r--r-- 19.6 KB
revert.c -rw-r--r-- 5.9 KB
rm.c -rw-r--r-- 11.6 KB
send-pack.c -rw-r--r-- 7.5 KB
shortlog.c -rw-r--r-- 9.0 KB
show-branch.c -rw-r--r-- 22.7 KB
show-ref.c -rw-r--r-- 5.8 KB
stripspace.c -rw-r--r-- 1.4 KB
submodule--helper.c -rw-r--r-- 26.2 KB
symbolic-ref.c -rw-r--r-- 2.0 KB
tag.c -rw-r--r-- 13.0 KB
unpack-file.c -rw-r--r-- 824 bytes
unpack-objects.c -rw-r--r-- 13.3 KB
update-index.c -rw-r--r-- 30.5 KB
update-ref.c -rw-r--r-- 11.8 KB
update-server-info.c -rw-r--r-- 620 bytes
upload-archive.c -rw-r--r-- 3.0 KB
var.c -rw-r--r-- 1.7 KB
verify-commit.c -rw-r--r-- 2.4 KB
verify-pack.c -rw-r--r-- 1.9 KB
verify-tag.c -rw-r--r-- 1.4 KB
worktree.c -rw-r--r-- 14.0 KB
write-tree.c -rw-r--r-- 1.5 KB

back to top