On Tue, Jan 13, 2015 at 09:56:47AM +0100, l...@eworm.de wrote:
> From: Christian Hesse <m...@eworm.de>
> 
> * sort_string_list(): rename to string_list_sort() (upstream commit 3383e199)
> * update read_tree_recursive callback to pass strbuf as base (upstream
>   commit 6a0b0b6d)
> 
> Signed-off-by: Christian Hesse <m...@eworm.de>
> ---
>  Makefile   |  4 ++--
>  cgit.c     |  2 +-
>  git        |  2 +-
>  ui-blob.c  | 14 +++++++++++---
>  ui-plain.c | 10 +++++++++-
>  ui-tree.c  | 21 +++++++++++++++++++--
>  6 files changed, 43 insertions(+), 10 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 38bf595..36c30a8 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -14,8 +14,8 @@ htmldir = $(docdir)
>  pdfdir = $(docdir)
>  mandir = $(prefix)/share/man
>  SHA1_HEADER = <openssl/sha.h>
> -GIT_VER = 2.2.1
> -GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.gz
> +GIT_VER = 2.3.0.rc0
> +GIT_URL = 
> https://www.kernel.org/pub/software/scm/git/testing/git-$(GIT_VER).tar.gz
>  INSTALL = install
>  COPYTREE = cp -r
>  MAN5_TXT = $(wildcard *.5.txt)
> diff --git a/cgit.c b/cgit.c
> index 79019c2..df301ea 100644
> --- a/cgit.c
> +++ b/cgit.c
> @@ -599,7 +599,7 @@ static int prepare_repo_cmd(void)
>               free(tmp);
>               return 1;
>       }
> -     sort_string_list(&ctx.repo->submodules);
> +     string_list_sort(&ctx.repo->submodules);
>       cgit_prepare_repo_env(ctx.repo);
>       choose_readme(ctx.repo);
>       return 0;
> diff --git a/git b/git
> index 9b7cbb3..addfb21 160000
> --- a/git
> +++ b/git
> @@ -1 +1 @@
> -Subproject commit 9b7cbb315923e61bb0c4297c701089f30e116750
> +Subproject commit addfb21a94fb4e6b9d07b270f7bb3748767a8f38
> diff --git a/ui-blob.c b/ui-blob.c
> index c2de8d6..90fcf81 100644
> --- a/ui-blob.c
> +++ b/ui-blob.c
> @@ -33,6 +33,14 @@ static int walk_tree(const unsigned char *sha1, const char 
> *base, int baselen,
>       return 0;
>  }
>  
> +static int walk_tree_buf(const unsigned char *sha1, struct strbuf *base,
> +     const char *filename, unsigned mode, int stage,
> +     void *context)
> +{
> +     return walk_tree(sha1, base->buf, base->len,
> +             filename, mode, stage, context);
> +}
> +

Is there any benefit to introducing a new function here?  In other
words, is walk_tree() used anywhere else?  If not, wouldn't it be
simpler to update the signature of the existing function?

(The same comment applies to several other places below.)

>  int cgit_ref_path_exists(const char *path, const char *ref, int file_only)
>  {
>       unsigned char sha1[20];
> @@ -56,7 +64,7 @@ int cgit_ref_path_exists(const char *path, const char *ref, 
> int file_only)
>               return 0;
>       if (sha1_object_info(sha1, &size) != OBJ_COMMIT)
>               return 0;
> -     read_tree_recursive(lookup_commit_reference(sha1)->tree, "", 0, 0, 
> &paths, walk_tree, &walk_tree_ctx);
> +     read_tree_recursive(lookup_commit_reference(sha1)->tree, "", 0, 0, 
> &paths, walk_tree_buf, &walk_tree_ctx);
>       return walk_tree_ctx.found_path;
>  }
>  
> @@ -87,7 +95,7 @@ int cgit_print_file(char *path, const char *head, int 
> file_only)
>       type = sha1_object_info(sha1, &size);
>       if (type == OBJ_COMMIT && path) {
>               commit = lookup_commit_reference(sha1);
> -             read_tree_recursive(commit->tree, "", 0, 0, &paths, walk_tree, 
> &walk_tree_ctx);
> +             read_tree_recursive(commit->tree, "", 0, 0, &paths, 
> walk_tree_buf, &walk_tree_ctx);
>               if (!walk_tree_ctx.found_path)
>                       return -1;
>               type = sha1_object_info(sha1, &size);
> @@ -140,7 +148,7 @@ void cgit_print_blob(const char *hex, char *path, const 
> char *head, int file_onl
>  
>       if ((!hex) && type == OBJ_COMMIT && path) {
>               commit = lookup_commit_reference(sha1);
> -             read_tree_recursive(commit->tree, "", 0, 0, &paths, walk_tree, 
> &walk_tree_ctx);
> +             read_tree_recursive(commit->tree, "", 0, 0, &paths, 
> walk_tree_buf, &walk_tree_ctx);
>               type = sha1_object_info(sha1,&size);
>       }
>  
> diff --git a/ui-plain.c b/ui-plain.c
> index 30fff89..891e9f7 100644
> --- a/ui-plain.c
> +++ b/ui-plain.c
> @@ -198,6 +198,14 @@ static int walk_tree(const unsigned char *sha1, const 
> char *base, int baselen,
>       return 0;
>  }
>  
> +static int walk_tree_buf(const unsigned char *sha1, struct strbuf *base,
> +     const char *filename, unsigned mode, int stage,
> +     void *context)
> +{
> +     return walk_tree(sha1, base->buf, base->len,
> +             filename, mode, stage, context);
> +}
> +
>  static int basedir_len(const char *path)
>  {
>       char *p = strrchr(path, '/');
> @@ -243,7 +251,7 @@ void cgit_print_plain(void)
>       }
>       else
>               walk_tree_ctx.match_baselen = basedir_len(path_items.match);
> -     read_tree_recursive(commit->tree, "", 0, 0, &paths, walk_tree, 
> &walk_tree_ctx);
> +     read_tree_recursive(commit->tree, "", 0, 0, &paths, walk_tree_buf, 
> &walk_tree_ctx);
>       if (!walk_tree_ctx.match)
>               html_status(404, "Not found", 0);
>       else if (walk_tree_ctx.match == 2)
> diff --git a/ui-tree.c b/ui-tree.c
> index e4c3d22..7cc45e9 100644
> --- a/ui-tree.c
> +++ b/ui-tree.c
> @@ -181,6 +181,15 @@ static int ls_item(const unsigned char *sha1, const char 
> *base, int baselen,
>       return 0;
>  }
>  
> +static int ls_item_buf(const unsigned char *sha1, struct strbuf *base,
> +     const char *filename, unsigned mode, int stage,
> +     void *context)
> +{
> +     return ls_item(sha1, base->buf, base->len,
> +             filename, mode, stage, context);
> +}
> +
> +
>  static void ls_head()
>  {
>       html("<table summary='tree listing' class='list'>\n");
> @@ -211,7 +220,7 @@ static void ls_tree(const unsigned char *sha1, char 
> *path, struct walk_tree_cont
>       }
>  
>       ls_head();
> -     read_tree_recursive(tree, "", 0, 1, &paths, ls_item, walk_tree_ctx);
> +     read_tree_recursive(tree, "", 0, 1, &paths, ls_item_buf, walk_tree_ctx);
>       ls_tail();
>  }
>  
> @@ -242,6 +251,14 @@ static int walk_tree(const unsigned char *sha1, const 
> char *base, int baselen,
>       return 0;
>  }
>  
> +static int walk_tree_buf(const unsigned char *sha1, struct strbuf *base,
> +     const char *filename, unsigned mode, int stage,
> +     void *context)
> +{
> +     return walk_tree(sha1, base->buf, base->len,
> +             filename, mode, stage, context);
> +}
> +
>  
>  /*
>   * Show a tree or a blob
> @@ -285,7 +302,7 @@ void cgit_print_tree(const char *rev, char *path)
>               goto cleanup;
>       }
>  
> -     read_tree_recursive(commit->tree, "", 0, 0, &paths, walk_tree, 
> &walk_tree_ctx);
> +     read_tree_recursive(commit->tree, "", 0, 0, &paths, walk_tree_buf, 
> &walk_tree_ctx);
>       if (walk_tree_ctx.state == 1)
>               ls_tail();
>  
> -- 
> 2.2.1
> 
> _______________________________________________
> CGit mailing list
> CGit@lists.zx2c4.com
> http://lists.zx2c4.com/mailman/listinfo/cgit
_______________________________________________
CGit mailing list
CGit@lists.zx2c4.com
http://lists.zx2c4.com/mailman/listinfo/cgit

Reply via email to