neocgit

a more 'modern' version of cgit
Log | Files | Refs | Submodules | README | LICENSE | git clone https://git.ne02ptzero.me/git/neocgit

commit 7358f63015a27d1c22816a3c1f734c3d4beed115
parent 1a9e56607eae2df2f4522b41294d94cb09fc4e5c
Author: Christian Hesse <mail@eworm.de>
Date:   Sat,  7 Feb 2015 14:18:28 +0100

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>

Diffstat:
MMakefile | 2+-
Mcgit.c | 2+-
Mui-blob.c | 8++++----
Mui-plain.c | 13++++++-------
Mui-tree.c | 17+++++++----------
5 files changed, 19 insertions(+), 23 deletions(-)

diff --git 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 @@ -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/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 @@ -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 @@ -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