* [PATCH 1/3] parsing.c: make commit buffer const
2014-07-27 10:56 [PATCH 0/3] Update to Git 2.0.3 john
@ 2014-07-27 10:56 ` john
2014-07-27 10:56 ` [PATCH 2/3] git: update to v2.0.3 john
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: john @ 2014-07-27 10:56 UTC (permalink / raw)
This will be required in order to incorporate the changes to commit
buffer handling in Git 2.0.2.
Signed-off-by: John Keeping <john at keeping.me.uk>
---
parsing.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
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);
--
2.0.1.472.g6f92e5f.dirty
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/3] git: update to v2.0.3
2014-07-27 10:56 [PATCH 0/3] Update to Git 2.0.3 john
2014-07-27 10:56 ` [PATCH 1/3] parsing.c: make commit buffer const john
@ 2014-07-27 10:56 ` john
2014-07-27 10:56 ` [PATCH 3/3] ui-stats.c: set parent pointer to NULL after freeing it john
2014-07-27 23:59 ` [PATCH 0/3] Update to Git 2.0.3 Jason
3 siblings, 0 replies; 5+ messages in thread
From: john @ 2014-07-27 10:56 UTC (permalink / raw)
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 <john at keeping.me.uk>
---
Makefile | 2 +-
git | 2 +-
parsing.c | 3 ++-
ui-atom.c | 3 +--
ui-log.c | 6 ++----
ui-stats.c | 2 +-
6 files changed, 8 insertions(+), 10 deletions(-)
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 = <openssl/sha.h>
-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/git b/git
index 341e7e8..740c281 160000
--- a/git
+++ b/git
@@ -1 +1 @@
-Subproject commit 341e7e8eda3dbeb6867f4f8f45b671201b807de5
+Subproject commit 740c281d21ef5b27f6f1b942a4f2fc20f51e8c7e
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;
--
2.0.1.472.g6f92e5f.dirty
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 3/3] ui-stats.c: set parent pointer to NULL after freeing it
2014-07-27 10:56 [PATCH 0/3] Update to Git 2.0.3 john
2014-07-27 10:56 ` [PATCH 1/3] parsing.c: make commit buffer const john
2014-07-27 10:56 ` [PATCH 2/3] git: update to v2.0.3 john
@ 2014-07-27 10:56 ` john
2014-07-27 23:59 ` [PATCH 0/3] Update to Git 2.0.3 Jason
3 siblings, 0 replies; 5+ messages in thread
From: john @ 2014-07-27 10:56 UTC (permalink / raw)
We do this everywhere else, so we should be doing it here as well.
Signed-off-by: John Keeping <john at keeping.me.uk>
---
ui-stats.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/ui-stats.c b/ui-stats.c
index 6f13c32..a264f6a 100644
--- a/ui-stats.c
+++ b/ui-stats.c
@@ -246,6 +246,7 @@ static struct string_list collect_stats(struct cgit_period *period)
add_commit(&authors, commit, period);
free_commit_buffer(commit);
free_commit_list(commit->parents);
+ commit->parents = NULL;
}
return authors;
}
--
2.0.1.472.g6f92e5f.dirty
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 0/3] Update to Git 2.0.3
2014-07-27 10:56 [PATCH 0/3] Update to Git 2.0.3 john
` (2 preceding siblings ...)
2014-07-27 10:56 ` [PATCH 3/3] ui-stats.c: set parent pointer to NULL after freeing it john
@ 2014-07-27 23:59 ` Jason
3 siblings, 0 replies; 5+ messages in thread
From: Jason @ 2014-07-27 23:59 UTC (permalink / raw)
Applied this series. Thanks John.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.zx2c4.com/pipermail/cgit/attachments/20140728/2e457b50/attachment.html>
^ permalink raw reply [flat|nested] 5+ messages in thread