commit 93d8ef8f1de4385c565049e1ccd7fdd25e6c14d7 Author: John Keeping Date: Sun Jul 27 11:56:18 2014 +0100 parsing.c: make commit buffer const This will be required in order to incorporate the changes to commit buffer handling in Git 2.0.2. Signed-off-by: John Keeping diff --git a/parsing.c b/parsing.c index 073f46f..edb3416 100644 --- a/parsing.c +++ b/parsing.c @@ -69,9 +69,9 @@ static char *substr(const char *head, const char *tail) return buf; } -static char *parse_user(char *t, char **name, char **email, unsigned long *date) +static const char *parse_user(const char *t, char **name, char **email, unsigned long *date) { - char *p = t; + const char *p = t; int mode = 1; while (p && *p) { @@ -132,7 +132,7 @@ static const char *reencode(char **txt, const char *src_enc, const char *dst_enc struct commitinfo *cgit_parse_commit(struct commit *commit) { struct commitinfo *ret; - char *p = commit->buffer, *t; + const char *p = commit->buffer, *t; ret = xmalloc(sizeof(*ret)); ret->commit = commit; @@ -223,7 +223,7 @@ struct taginfo *cgit_parse_tag(struct tag *tag) void *data; enum object_type type; unsigned long size; - char *p; + const char *p; struct taginfo *ret; data = read_sha1_file(tag->object.sha1, &type, &size); commit 865afe0eb1b5e6485fe0f65472e6635266e393b1 Author: John Keeping Date: Sun Jul 27 11:56:19 2014 +0100 git: update to v2.0.3 This is slightly more involved than just bumping the version number because it pulls in a change to convert the commit buffer to a slab, removing the "buffer" field from "struct commit". All sites that access "commit->buffer" have been changed to use the new functions provided for this purpose. Signed-off-by: John Keeping diff --git a/Makefile b/Makefile index bf8be02..93b525a 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ htmldir = $(docdir) pdfdir = $(docdir) mandir = $(prefix)/share/man SHA1_HEADER = -GIT_VER = 2.0.1 +GIT_VER = 2.0.3 GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.gz INSTALL = install COPYTREE = cp -r diff --git a/parsing.c b/parsing.c index edb3416..3dbd122 100644 --- a/parsing.c +++ b/parsing.c @@ -132,7 +132,8 @@ static const char *reencode(char **txt, const char *src_enc, const char *dst_enc struct commitinfo *cgit_parse_commit(struct commit *commit) { struct commitinfo *ret; - const char *p = commit->buffer, *t; + const char *p = get_cached_commit_buffer(commit, NULL); + const char *t; ret = xmalloc(sizeof(*ret)); ret->commit = commit; diff --git a/ui-atom.c b/ui-atom.c index b22d745..e2b39ee 100644 --- a/ui-atom.c +++ b/ui-atom.c @@ -133,8 +133,7 @@ void cgit_print_atom(char *tip, char *path, int max_count) } while ((commit = get_revision(&rev)) != NULL) { add_entry(commit, host); - free(commit->buffer); - commit->buffer = NULL; + free_commit_buffer(commit); free_commit_list(commit->parents); commit->parents = NULL; } diff --git a/ui-log.c b/ui-log.c index b5846e4..bcdb666 100644 --- a/ui-log.c +++ b/ui-log.c @@ -388,16 +388,14 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern ofs = 0; for (i = 0; i < ofs && (commit = get_revision(&rev)) != NULL; i++) { - free(commit->buffer); - commit->buffer = NULL; + free_commit_buffer(commit); free_commit_list(commit->parents); commit->parents = NULL; } for (i = 0; i < cnt && (commit = get_revision(&rev)) != NULL; i++) { print_commit(commit, &rev); - free(commit->buffer); - commit->buffer = NULL; + free_commit_buffer(commit); free_commit_list(commit->parents); commit->parents = NULL; } diff --git a/ui-stats.c b/ui-stats.c index bc27308..6f13c32 100644 --- a/ui-stats.c +++ b/ui-stats.c @@ -244,7 +244,7 @@ static struct string_list collect_stats(struct cgit_period *period) memset(&authors, 0, sizeof(authors)); while ((commit = get_revision(&rev)) != NULL) { add_commit(&authors, commit, period); - free(commit->buffer); + free_commit_buffer(commit); free_commit_list(commit->parents); } return authors;