[RFC/PATCH] Prettify log decorations even more
From: Felipe Contreras <hidden>
Date: 2016-06-15 22:46:43
"tag: v1.6.2.5" looks much better than "tag: refs/tags/v1.6.2.5". Signed-off-by: Felipe Contreras <redacted> --- log-tree.c | 1 + refs.c | 3 +-- refs.h | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/log-tree.c b/log-tree.c
index 5bd29e6..59d63eb 100644
--- a/log-tree.c
+++ b/log-tree.c@@ -25,6 +25,7 @@ static int add_ref_decoration(const char *refname, const unsigned char *sha1, in struct object *obj = parse_object(sha1); if (!obj) return 0; + refname = prettify_refname(refname); add_name_decoration("", refname, obj); while (obj->type == OBJ_TAG) { obj = ((struct tag *)obj)->tagged;
diff --git a/refs.c b/refs.c
index e65a3b4..e74461e 100644
--- a/refs.c
+++ b/refs.c@@ -750,9 +750,8 @@ int check_ref_format(const char *ref) } } -const char *prettify_ref(const struct ref *ref) +const char *prettify_refname(const char *name) { - const char *name = ref->name; return name + ( !prefixcmp(name, "refs/heads/") ? 11 : !prefixcmp(name, "refs/tags/") ? 10 :
diff --git a/refs.h b/refs.h
index 29d17a4..3de5e1c 100644
--- a/refs.h
+++ b/refs.h@@ -80,7 +80,8 @@ extern int for_each_reflog(each_ref_fn, void *); #define CHECK_REF_FORMAT_WILDCARD (-3) extern int check_ref_format(const char *target); -extern const char *prettify_ref(const struct ref *ref); +extern const char *prettify_refname(const char *refname); +#define prettify_ref(ref) prettify_refname((ref)->name) extern char *shorten_unambiguous_ref(const char *ref, int strict); /** rename ref, return 0 on success **/
--
1.6.3.rc4.14.g96da.dirty