[PATCH 1/1] Display repository urls even if repository is empty
Tobias Dreher
tobiasdreher at outlook.com
Sat Apr 19 18:05:48 CEST 2014
Hello everyone,
Currently cgit only outputs the line "Repository seems to be empty" if a
repository is empty. However, this is often the case when you just
created a bare new repository, and want to make your first commit, and
for that you want to know the URL of your repository! This patch adds
that output.
cgit.c | 5 +++--
ui-summary.c | 20 ++++++++++++++++----
ui-summary.h | 1 +
3 files changed, 20 insertions(+), 6 deletions(-)
diff --git a/cgit.c b/cgit.c
index f488ebf..93a77a1 100644
--- a/cgit.c
+++ b/cgit.c
@@ -574,12 +574,15 @@ static int prepare_repo_cmd(void)
ctx.qry.nohead = 1;
ctx.qry.head = find_default_branch(ctx.repo);
}
+ sort_string_list(&ctx.repo->submodules);
+ cgit_prepare_repo_env(ctx.repo);
if (!ctx.qry.head) {
cgit_print_http_headers();
cgit_print_docstart();
cgit_print_pageheader();
cgit_print_error("Repository seems to be empty");
+ cgit_print_repository_urls_as_table();
cgit_print_docend();
return 1;
}
@@ -597,8 +600,6 @@ static int prepare_repo_cmd(void)
free(tmp);
return 1;
}
- sort_string_list(&ctx.repo->submodules);
- cgit_prepare_repo_env(ctx.repo);
choose_readme(ctx.repo);
return 0;
}
diff --git a/ui-summary.c b/ui-summary.c
index df99ce1..c55ad62 100644
--- a/ui-summary.c
+++ b/ui-summary.c
@@ -70,6 +70,21 @@ static void print_urls(char *txt, char *suffix)
}
}
+void cgit_print_repository_urls()
+{
+ if (ctx.repo->clone_url)
+ print_urls(expand_macros(ctx.repo->clone_url), NULL);
+ else if (ctx.cfg.clone_prefix)
+ print_urls(ctx.cfg.clone_prefix, ctx.repo->url);
+}
+
+void cgit_print_repository_urls_as_table()
+{
+ html("<table summary='repository info' class='list nowrap'>");
+ cgit_print_repository_urls();
+ html("</table>");
+}
+
void cgit_print_summary()
{
int columns = 3;
@@ -88,10 +103,7 @@ void cgit_print_summary()
cgit_print_log(ctx.qry.head, 0, ctx.cfg.summary_log, NULL,
NULL, NULL, 0, 0, 0);
}
- if (ctx.repo->clone_url)
- print_urls(expand_macros(ctx.repo->clone_url), NULL);
- else if (ctx.cfg.clone_prefix)
- print_urls(ctx.cfg.clone_prefix, ctx.repo->url);
+ cgit_print_repository_urls();
html("</table>");
}
diff --git a/ui-summary.h b/ui-summary.h
index c01f560..1dd7e9e 100644
--- a/ui-summary.h
+++ b/ui-summary.h
@@ -1,6 +1,7 @@
#ifndef UI_SUMMARY_H
#define UI_SUMMARY_H
+extern void cgit_print_repository_urls_as_table();
extern void cgit_print_summary();
extern void cgit_print_repo_readme(char *path);
More information about the CGit
mailing list