[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