We do not want an ellipsis displayed following an (abbreviated) SHA-1
value.

The days when this was necessary to indicate the truncation to
lower-level Git commands and/or the user are bygone.

However, to ease the transition, the ellipsis will still be printed if
the user (actively!) sets the environment variable PRINT_SHA1_ELLIPSIS
to "yes" (case does not matter).

The transient nature of this fallback suggests that we should not prefix
the variable by "GIT_".

Signed-off-by: Ann T Ropea <bedhan...@gmx.de>
---
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
 builtin/checkout.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/builtin/checkout.c b/builtin/checkout.c
index 7d8bcc383351..e6d3a28fe26e 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -400,10 +400,17 @@ static void show_local_changes(struct object *head,
 static void describe_detached_head(const char *msg, struct commit *commit)
 {
        struct strbuf sb = STRBUF_INIT;
+       const char *env_printsha1ellipsis = getenv("PRINT_SHA1_ELLIPSIS");
+
        if (!parse_commit(commit))
                pp_commit_easy(CMIT_FMT_ONELINE, commit, &sb);
-       fprintf(stderr, "%s %s... %s\n", msg,
-               find_unique_abbrev(commit->object.oid.hash, DEFAULT_ABBREV), 
sb.buf);
+       if (env_printsha1ellipsis && !strcasecmp(env_printsha1ellipsis, "yes")) 
{
+               fprintf(stderr, "%s %s... %s\n", msg,
+                       find_unique_abbrev(commit->object.oid.hash, 
DEFAULT_ABBREV), sb.buf);
+       } else {
+               fprintf(stderr, "%s %s %s\n", msg,
+                       find_unique_abbrev(commit->object.oid.hash, 
DEFAULT_ABBREV), sb.buf);
+       }
        strbuf_release(&sb);
 }
 
-- 
2.13.6

Reply via email to