[PATCH 1/1] Display repository urls even if repository is empty
Tobias Dreher
tobiasdreher at outlook.com
Sun May 4 21:29:06 CEST 2014
If I may ask: Could the patch be merged with master? I used my patch
without a hitch here for the last weeks and as I said, it doesn't bring
any changes for non-empty repositories.
On 2014-04-19 18:05, Tobias Dreher wrote:
> 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);
> _______________________________________________
> CGit mailing list
> CGit at lists.zx2c4.com
> http://lists.zx2c4.com/mailman/listinfo/cgit
More information about the CGit
mailing list