about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2008-12-01 21:58:59 +0100
committerLars Hjemli <hjemli@gmail.com>2008-12-01 22:01:26 +0100
commitc57aceb1d2f1a7d9fd3218fc8c6e9ea01b2952d2 (patch)
treede7a4c97a83ac348b96052be358cfd414de4afbc
parentui-refs.c: show download links for all tags referring to commit objects (diff)
downloadcgit-pink-c57aceb1d2f1a7d9fd3218fc8c6e9ea01b2952d2.tar.gz
cgit-pink-c57aceb1d2f1a7d9fd3218fc8c6e9ea01b2952d2.zip
ui-shared: shorten the sha1 printed by cgit_object_link
Such links was printed as the object type followed by the objects complete
sha1. We still use the complete sha1 in the link but we no longer show it
in all its glory; only the first 10 hex chars are printed.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--ui-shared.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/ui-shared.c b/ui-shared.c
index c4a506e..9319881 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -365,11 +365,14 @@ void cgit_patch_link(char *name, char *title, char *class, char *head,
 
 void cgit_object_link(struct object *obj)
 {
-	char *page, *rev, *name;
+	char *page, *shortrev, *fullrev, *name;
 
+	fullrev = sha1_to_hex(obj->sha1);
+	shortrev = xstrdup(fullrev);
+	shortrev[10] = '\0';
 	if (obj->type == OBJ_COMMIT) {
-                cgit_commit_link(fmt("commit %s", sha1_to_hex(obj->sha1)), NULL, NULL,
-				 ctx.qry.head, sha1_to_hex(obj->sha1));
+                cgit_commit_link(fmt("commit %s...", shortrev), NULL, NULL,
+				 ctx.qry.head, fullrev);
 		return;
 	} else if (obj->type == OBJ_TREE)
 		page = "tree";
@@ -377,9 +380,8 @@ void cgit_object_link(struct object *obj)
 		page = "tag";
 	else
 		page = "blob";
-	rev = sha1_to_hex(obj->sha1);
-	name = fmt("%s %s", typename(obj->type), rev);
-	reporevlink(page, name, NULL, NULL, ctx.qry.head, rev, NULL);
+	name = fmt("%s %s...", typename(obj->type), shortrev);
+	reporevlink(page, name, NULL, NULL, ctx.qry.head, fullrev, NULL);
 }
 
 void cgit_print_date(time_t secs, char *format, int local_time)
sitory override for enable-blameChristian Hesse 2019-06-05tests: successfully validate rc versionsChristian Hesse 2019-06-05git: update to v2.21.0Christian Hesse 2019-06-05ui-ssdiff: ban strncat()Christian Hesse 2019-06-05global: make 'char *path' const where possibleChristian Hesse 2019-05-20ui-shared: restrict to 15 levelsJason A. Donenfeld 2019-02-23ui-diff,ui-tag: don't use htmlf with non-formatted stringsChris Mayo 2019-02-23ui-ssdiff: resolve HTML5 validation errorsChris Mayo 2019-01-03filters: migrate from luacrypto to luaosslJason A. Donenfeld 2019-01-02ui-shared: fix broken sizeof in title setting and rewriteJason A. Donenfeld 2018-12-09git: update to v2.20.0Christian Hesse 2018-11-25ui-blame: set repo for sbJason A. Donenfeld 2018-11-25auth-filter: pass url with query string attachedJason A. Donenfeld 2018-11-21git: use xz compressed archive for downloadChristian Hesse 2018-10-12git: update to v2.19.1Christian Hesse 2018-09-11ui-ssdiff: ban strcat()Christian Hesse 2018-09-11ui-ssdiff: ban strncpy()Christian Hesse 2018-09-11ui-shared: ban strcat()Christian Hesse 2018-09-11ui-patch: ban sprintf()Christian Hesse 2018-09-11ui-log: ban strncpy()Christian Hesse 2018-09-11ui-log: ban strcpy()Christian Hesse 2018-09-11parsing: ban sprintf()Christian Hesse 2018-09-11parsing: ban strncpy()Christian Hesse 2018-08-28filters: generate anchor links from markdownChristian Hesse 2018-08-03Bump version.Jason A. Donenfeld 2018-08-03clone: fix directory traversalJason A. Donenfeld 2018-08-03config: record repo.snapshot-prefix in the per-repo configKonstantin Ryabitsev