all repos — cgit @ c57aceb1d2f1a7d9fd3218fc8c6e9ea01b2952d2

a hyperfast web frontend for git written in c

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>
Lars Hjemli hjemli@gmail.com
Mon, 01 Dec 2008 21:58:59 +0100
commit

c57aceb1d2f1a7d9fd3218fc8c6e9ea01b2952d2

parent

6596268576a4f5fe2f5c8a3238856b0fb205ff76

1 files changed, 8 insertions(+), 6 deletions(-)

jump to
M ui-shared.cui-shared.c

@@ -365,11 +365,14 @@ }

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 @@ else if (obj->type == OBJ_TAG)

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)