summaryrefslogtreecommitdiff
path: root/diff.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-12-19 19:33:58 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-12-19 19:33:58 (GMT)
commit8d7fefaac4318ac3155368f475e10f97714ebd47 (patch)
tree225f9c262ffa4d1bcd58a2b407df396594a711cb /diff.c
parent66d3f19324ac9eeae8ef0d2ae2067ae7b18f8ac8 (diff)
parent64a5e98032d2462749021136a53d9e1928cd0db0 (diff)
downloadgit-8d7fefaac4318ac3155368f475e10f97714ebd47.zip
git-8d7fefaac4318ac3155368f475e10f97714ebd47.tar.gz
git-8d7fefaac4318ac3155368f475e10f97714ebd47.tar.bz2
Merge branch 'ar/unconfuse-three-dots'
Ancient part of codebase still shows dots after an abbreviated object name just to show that it is not a full object name, but these ellipses are confusing to people who newly discovered Git who are used to seeing abbreviated object names and find them confusing with the range syntax. * ar/unconfuse-three-dots: t2020: test variations that matter t4013: test new output from diff --abbrev --raw diff: diff_aligned_abbrev: remove ellipsis after abbreviated SHA-1 value t4013: prepare for upcoming "diff --raw --abbrev" output format change checkout: describe_detached_head: remove ellipsis after committish print_sha1_ellipsis: introduce helper Documentation: user-manual: limit usage of ellipsis Documentation: revisions: fix typo: "three dot" ---> "three-dot" (in line with "two-dot").
Diffstat (limited to 'diff.c')
-rw-r--r--diff.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/diff.c b/diff.c
index 516f68d..3fb445a 100644
--- a/diff.c
+++ b/diff.c
@@ -4920,14 +4920,20 @@ const char *diff_aligned_abbrev(const struct object_id *oid, int len)
int abblen;
const char *abbrev;
+ /* Do we want all 40 hex characters? */
if (len == GIT_SHA1_HEXSZ)
return oid_to_hex(oid);
+ /* An abbreviated value is fine, possibly followed by an ellipsis. */
abbrev = diff_abbrev_oid(oid, len);
+
+ if (!print_sha1_ellipsis())
+ return abbrev;
+
abblen = strlen(abbrev);
/*
- * In well-behaved cases, where the abbbreviated result is the
+ * In well-behaved cases, where the abbreviated result is the
* same as the requested length, append three dots after the
* abbreviation (hence the whole logic is limited to the case
* where abblen < 37); when the actual abbreviated result is a