about summary refs log tree commit diff stats
path: root/ui-shared.c
diff options
context:
space:
mode:
authorLars Hjemli2008-12-01 21:58:59 +0100
committerLars Hjemli2008-12-01 22:01:26 +0100
commitc57aceb1d2f1a7d9fd3218fc8c6e9ea01b2952d2 (patch)
treede7a4c97a83ac348b96052be358cfd414de4afbc /ui-shared.c
parentui-refs.c: show download links for all tags referring to commit objects (diff)
downloadcgit-c57aceb1d2f1a7d9fd3218fc8c6e9ea01b2952d2.tar.gz
cgit-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>
Diffstat (limited to 'ui-shared.c')
-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,
365 365
366void cgit_object_link(struct object *obj) 366void cgit_object_link(struct object *obj)
367{ 367{
368 char *page, *rev, *name; 368 char *page, *shortrev, *fullrev, *name;
369 369
370 fullrev = sha1_to_hex(obj->sha1);
371 shortrev = xstrdup(fullrev);
372 shortrev[10] = '\0';
370 if (obj->type == OBJ_COMMIT) { 373 if (obj->type == OBJ_COMMIT) {
371 cgit_commit_link(fmt("commit %s", sha1_to_hex(obj->sha1)), NULL, NULL, 374 cgit_commit_link(fmt("commit %s...", shortrev), NULL, NULL,
372 ctx.qry.head, sha1_to_hex(obj->sha1)); 375 ctx.qry.head, fullrev);
373 return; 376 return;
374 } else if (obj->type == OBJ_TREE) 377 } else if (obj->type == OBJ_TREE)
375 page = "tree"; 378 page = "tree";
@@ -377,9 +380,8 @@ void cgit_object_link(struct object *obj)
377 page = "tag"; 380 page = "tag";
378 else 381 else
379 page = "blob"; 382 page = "blob";
380 rev = sha1_to_hex(obj->sha1); 383 name = fmt("%s %s...", typename(obj->type), shortrev);
381 name = fmt("%s %s", typename(obj->type), rev); 384 reporevlink(page, name, NULL, NULL, ctx.qry.head, fullrev, NULL);
382 reporevlink(page, name, NULL, NULL, ctx.qry.head, rev, NULL);
383} 385}
384 386
385void cgit_print_date(time_t secs, char *format, int local_time) 387void cgit_print_date(time_t secs, char *format, int local_time)