From mboxrd@z Thu Jan 1 00:00:00 1970 From: john at keeping.me.uk (John Keeping) Date: Thu, 15 Jan 2015 22:01:42 +0000 Subject: [PATCH v2 1/1] git: preview for v2.3.0-rc0 In-Reply-To: <1421249660-9703-1-git-send-email-list@eworm.de> References: <20150113105739.1043e130@leda.localdomain> <1421249660-9703-1-git-send-email-list@eworm.de> Message-ID: <20150115220142.GI26383@serenity.lan> On Wed, Jan 14, 2015 at 04:34:20PM +0100, list at eworm.de wrote: > From: Christian Hesse > > * 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 > --- > Makefile | 4 ++-- > cgit.c | 2 +- > git | 2 +- > ui-blob.c | 15 ++++++++------- > ui-plain.c | 16 ++++++++-------- > ui-tree.c | 23 +++++++++++------------ > 6 files changed, 31 insertions(+), 31 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 = > -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..4e29223 100644 > --- a/ui-blob.c > +++ b/ui-blob.c > @@ -18,15 +18,16 @@ struct walk_tree_context { > int file_only:1; > }; > > -static int walk_tree(const unsigned char *sha1, const char *base, int baselen, > - const char *pathname, unsigned mode, int stage, void *cbdata) > +static int walk_tree_buf(const unsigned char *sha1, struct strbuf *base, > + const char *pathname, unsigned mode, int stage, > + void *cbdata) This seems unnecessarily noisy. The patch would be easier to read if the function name stays the same and you avoid re-wrapping the parameters. It would also remove several of the hunks below because the call sites won't need to change. > { > struct walk_tree_context *walk_tree_ctx = cbdata; > > if (walk_tree_ctx->file_only && !S_ISREG(mode)) > return READ_TREE_RECURSIVE; > - if (strncmp(base, walk_tree_ctx->match_path, baselen) > - || strcmp(walk_tree_ctx->match_path + baselen, pathname)) > + if (strncmp(base->buf, walk_tree_ctx->match_path, base->len) > + || strcmp(walk_tree_ctx->match_path + base->len, pathname)) > return READ_TREE_RECURSIVE; > memmove(walk_tree_ctx->matched_sha1, sha1, 20); > walk_tree_ctx->found_path = 1; > @@ -56,7 +57,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 +88,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 +141,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..061180d 100644 > --- a/ui-plain.c > +++ b/ui-plain.c > @@ -173,23 +173,23 @@ static void print_dir_tail(void) > html(" \n\n"); > } > > -static int walk_tree(const unsigned char *sha1, const char *base, int baselen, > - const char *pathname, unsigned mode, int stage, > - void *cbdata) > +static int walk_tree_buf(const unsigned char *sha1, struct strbuf *base, > + const char *pathname, unsigned mode, int stage, > + void *cbdata) > { > struct walk_tree_context *walk_tree_ctx = cbdata; > > - if (baselen == walk_tree_ctx->match_baselen) { > + if (base->len == walk_tree_ctx->match_baselen) { > if (S_ISREG(mode)) { > if (print_object(sha1, pathname)) > walk_tree_ctx->match = 1; > } else if (S_ISDIR(mode)) { > - print_dir(sha1, base, baselen, pathname); > + print_dir(sha1, base->buf, base->len, pathname); > walk_tree_ctx->match = 2; > return READ_TREE_RECURSIVE; > } > - } else if (baselen > walk_tree_ctx->match_baselen) { > - print_dir_entry(sha1, base, baselen, pathname, mode); > + } else if (base->len > walk_tree_ctx->match_baselen) { > + print_dir_entry(sha1, base->buf, base->len, pathname, mode); > walk_tree_ctx->match = 2; > } else if (S_ISDIR(mode)) { > return READ_TREE_RECURSIVE; > @@ -243,7 +243,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..f30f0e3 100644 > --- a/ui-tree.c > +++ b/ui-tree.c > @@ -121,9 +121,9 @@ static void print_object(const unsigned char *sha1, char *path, const char *base > } > > > -static int ls_item(const unsigned char *sha1, const char *base, int baselen, > - const char *pathname, unsigned int mode, int stage, > - void *cbdata) > +static int ls_item_buf(const unsigned char *sha1, struct strbuf *base, > + const char *pathname, unsigned mode, int stage, > + void *cbdata) > { > struct walk_tree_context *walk_tree_ctx = cbdata; > char *name; > @@ -211,21 +211,21 @@ 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(); > } > > > -static int walk_tree(const unsigned char *sha1, const char *base, int baselen, > - const char *pathname, unsigned mode, int stage, > - void *cbdata) > +static int walk_tree_buf(const unsigned char *sha1, struct strbuf *base, > + const char *pathname, unsigned mode, int stage, > + void *cbdata) > { > struct walk_tree_context *walk_tree_ctx = cbdata; > static char buffer[PATH_MAX]; > > if (walk_tree_ctx->state == 0) { > - memcpy(buffer, base, baselen); > - strcpy(buffer + baselen, pathname); > + memcpy(buffer, base->buf, base->len); > + strcpy(buffer + base->len, pathname); > if (strcmp(walk_tree_ctx->match_path, buffer)) > return READ_TREE_RECURSIVE; > > @@ -238,11 +238,10 @@ static int walk_tree(const unsigned char *sha1, const char *base, int baselen, > return 0; > } > } > - ls_item(sha1, base, baselen, pathname, mode, stage, walk_tree_ctx); > + ls_item_buf(sha1, base, pathname, mode, stage, walk_tree_ctx); > return 0; > } > > - > /* > * Show a tree or a blob > * rev: the commit pointing at the root tree object > @@ -285,7 +284,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();