about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChristian Hesse <mail@eworm.de>2015-02-07 14:18:28 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2015-02-08 18:11:09 +0100
commit7358f63015a27d1c22816a3c1f734c3d4beed115 (patch)
tree5cb35efdca25827a939623c13c2513302976291b
parentui-shared.c: Refactor add_clone_urls() (diff)
downloadcgit-magenta-7358f63015a27d1c22816a3c1f734c3d4beed115.tar.xz
git: update for v2.3.0
* 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 <mail@eworm.de>
-rw-r--r--Makefile2
-rw-r--r--cgit.c2
m---------git0
-rw-r--r--ui-blob.c8
-rw-r--r--ui-plain.c13
-rw-r--r--ui-tree.c17
6 files changed, 19 insertions, 23 deletions
diff --git a/Makefile b/Makefile

index 2ff8a90..3697795 100644 --- a/Makefile +++ b/Makefile
@@ -14,7 +14,7 @@ htmldir = $(docdir) pdfdir = $(docdir) mandir = $(prefix)/share/man SHA1_HEADER = <openssl/sha.h> -GIT_VER = 2.2.2 +GIT_VER = 2.3.0 GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.gz INSTALL = install COPYTREE = cp -r diff --git a/cgit.c b/cgit.c
index 431e325..02dddda 100644 --- a/cgit.c +++ b/cgit.c
@@ -603,7 +603,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 -Subproject fdf96a20acf96a6ac538df8113b2aafd6ed71d5 +Subproject 9874fca7122563e28d699a911404fc49d2a24f1 diff --git a/ui-blob.c b/ui-blob.c
index c2de8d6..a025bca 100644 --- a/ui-blob.c +++ b/ui-blob.c
@@ -18,15 +18,15 @@ 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(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 (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; diff --git a/ui-plain.c b/ui-plain.c
index 30fff89..b787bc3 100644 --- a/ui-plain.c +++ b/ui-plain.c
@@ -173,23 +173,22 @@ static void print_dir_tail(void) html(" </ul>\n</body></html>\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(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; diff --git a/ui-tree.c b/ui-tree.c
index e4c3d22..4ab0137 100644 --- a/ui-tree.c +++ b/ui-tree.c
@@ -121,9 +121,8 @@ 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(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; @@ -216,16 +215,15 @@ static void ls_tree(const unsigned char *sha1, char *path, struct walk_tree_cont } -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(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 +236,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(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