diff options
Diffstat (limited to 'ui-shared.c')
| -rw-r--r-- | ui-shared.c | 29 | 
1 files changed, 19 insertions, 10 deletions
| diff --git a/ui-shared.c b/ui-shared.c index 224e5f3..95dfeb4 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -281,7 +281,8 @@ void cgit_plain_link(char *name, char *title, char *class, char *head,  }  void cgit_log_link(char *name, char *title, char *class, char *head, -		   char *rev, char *path, int ofs, char *grep, char *pattern) +		   char *rev, char *path, int ofs, char *grep, char *pattern, +		   int showmsg)  {  	char *delim; @@ -305,6 +306,11 @@ void cgit_log_link(char *name, char *title, char *class, char *head,  		html(delim);  		html("ofs=");  		htmlf("%d", ofs); +		delim = "&"; +	} +	if (showmsg) { +		html(delim); +		html("showmsg=1");  	}  	html("'>");  	html_txt(name); @@ -365,11 +371,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 +386,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) @@ -568,6 +576,8 @@ void add_hidden_formfields(int incl_head, int incl_search, char *page)  		html_hidden("id", ctx.qry.sha1);  	if (ctx.qry.sha2)  		html_hidden("id2", ctx.qry.sha2); +	if (ctx.qry.showmsg) +		html_hidden("showmsg", "1");  	if (incl_search) {  		if (ctx.qry.grep) @@ -634,7 +644,7 @@ void cgit_print_pageheader(struct cgit_context *ctx)  		cgit_refs_link("refs", NULL, hc(cmd, "refs"), ctx->qry.head,  			       ctx->qry.sha1, NULL);  		cgit_log_link("log", NULL, hc(cmd, "log"), ctx->qry.head, -			      NULL, NULL, 0, NULL, NULL); +			      NULL, NULL, 0, NULL, NULL, ctx->qry.showmsg);  		cgit_tree_link("tree", NULL, hc(cmd, "tree"), ctx->qry.head,  			       ctx->qry.sha1, NULL);  		cgit_commit_link("commit", NULL, hc(cmd, "commit"), @@ -707,8 +717,7 @@ void cgit_print_snapshot_links(const char *repo, const char *head,  			continue;  		filename = fmt("%s-%s%s", cgit_repobasename(repo), hex,  			       f->suffix); -		cgit_snapshot_link(filename, NULL, NULL, (char *)head, -				   (char *)hex, filename); +		cgit_snapshot_link(filename, NULL, NULL, NULL, NULL, filename);  		html("<br/>");  	}  } | 
