Neither Git nor the user are in need of this (visual) aid anymore, but we must offer a transition period. Also, fix a typo: "abbbreviated" ---> "abbreviated". Signed-off-by: Ann T Ropea <bedhanger@xxxxxx> --- v2: rename patch series & focus on removal of ellipses v3: env var instead of config option, use one-line comments where appropriate, preserve indent level diff.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/diff.c b/diff.c index 0763e89263ef..359c6fc85a27 100644 --- a/diff.c +++ b/diff.c @@ -4901,15 +4901,22 @@ const char *diff_aligned_abbrev(const struct object_id *oid, int len) { int abblen; const char *abbrev; + const char *env_printsha1ellipsis = getenv("PRINT_SHA1_ELLIPSIS"); + /* 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 (!(env_printsha1ellipsis && !strcasecmp(env_printsha1ellipsis, "yes"))) + 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 -- 2.13.6