[PATCH 1/1] RFC: git: update to v2.5.0-rc0
Christian Hesse
list at eworm.de
Fri Jun 26 13:58:32 CEST 2015
From: Christian Hesse <mail at eworm.de>
Update to git version v2.5.0-rc0.
* Upstream commit 5455ee0573a22bb793a7083d593ae1ace909cd4c (Merge branch
'bc/object-id') changed API:
for_each_ref() callback functions were taught to name the objects
not with "unsigned char sha1[20]" but with "struct object_id".
* Upstream commit dcf692625ac569fefbe52269061230f4fde10e47 (path.c: make
get_pathname() call sites return const char *)
Signed-off-by: Christian Hesse <mail at eworm.de>
---
cgit.c | 2 +-
cgit.h | 2 +-
git | 2 +-
shared.c | 8 ++++----
ui-clone.c | 8 ++++----
ui-log.c | 4 ++--
ui-shared.c | 2 +-
7 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/cgit.c b/cgit.c
index ae413c6..9cb7f9e 100644
--- a/cgit.c
+++ b/cgit.c
@@ -421,7 +421,7 @@ struct refmatch {
int match;
};
-static int find_current_ref(const char *refname, const unsigned char *sha1,
+static int find_current_ref(const char *refname, const struct object_id *oid,
int flags, void *cb_data)
{
struct refmatch *info;
diff --git a/cgit.h b/cgit.h
index 16f8092..db9a8eb 100644
--- a/cgit.h
+++ b/cgit.h
@@ -335,7 +335,7 @@ extern void strbuf_ensure_end(struct strbuf *sb, char c);
extern void cgit_add_ref(struct reflist *list, struct refinfo *ref);
extern void cgit_free_reflist_inner(struct reflist *list);
-extern int cgit_refs_cb(const char *refname, const unsigned char *sha1,
+extern int cgit_refs_cb(const char *refname, const struct object_id *oid,
int flags, void *cb_data);
extern void *cgit_free_commitinfo(struct commitinfo *info);
diff --git a/git b/git
index aaa7e0d..7ecec52 160000
--- a/git
+++ b/git
@@ -1 +1 @@
-Subproject commit aaa7e0d7f8f003c0c8ab34f959083f6d191d44ca
+Subproject commit 7ecec52d42a964c4a8e9f6ca41bb0b5ce00049b4
diff --git a/shared.c b/shared.c
index a99173b..a83afcb 100644
--- a/shared.c
+++ b/shared.c
@@ -185,13 +185,13 @@ void cgit_add_ref(struct reflist *list, struct refinfo *ref)
list->refs[list->count++] = ref;
}
-static struct refinfo *cgit_mk_refinfo(const char *refname, const unsigned char *sha1)
+static struct refinfo *cgit_mk_refinfo(const char *refname, const struct object_id *oid)
{
struct refinfo *ref;
ref = xmalloc(sizeof (struct refinfo));
ref->refname = xstrdup(refname);
- ref->object = parse_object(sha1);
+ ref->object = parse_object(oid->hash);
switch (ref->object->type) {
case OBJ_TAG:
ref->tag = cgit_parse_tag((struct tag *)ref->object);
@@ -239,11 +239,11 @@ void cgit_free_reflist_inner(struct reflist *list)
free(list->refs);
}
-int cgit_refs_cb(const char *refname, const unsigned char *sha1, int flags,
+int cgit_refs_cb(const char *refname, const struct object_id *oid, int flags,
void *cb_data)
{
struct reflist *list = (struct reflist *)cb_data;
- struct refinfo *info = cgit_mk_refinfo(refname, sha1);
+ struct refinfo *info = cgit_mk_refinfo(refname, oid);
if (info)
cgit_add_ref(list, info);
diff --git a/ui-clone.c b/ui-clone.c
index e35d3d3..e4ddd34 100644
--- a/ui-clone.c
+++ b/ui-clone.c
@@ -12,15 +12,15 @@
#include "html.h"
#include "ui-shared.h"
-static int print_ref_info(const char *refname, const unsigned char *sha1,
+static int print_ref_info(const char *refname, const struct object_id *oid,
int flags, void *cb_data)
{
struct object *obj;
- if (!(obj = parse_object(sha1)))
+ if (!(obj = parse_object(oid->hash)))
return 0;
- htmlf("%s\t%s\n", sha1_to_hex(sha1), refname);
+ htmlf("%s\t%s\n", oid_to_hex(oid), refname);
if (obj->type == OBJ_TAG) {
if (!(obj = deref_tag(obj, refname, 0)))
return 0;
@@ -50,7 +50,7 @@ static void print_pack_info(void)
}
}
-static void send_file(char *path)
+static void send_file(const char *path)
{
struct stat st;
diff --git a/ui-log.c b/ui-log.c
index 32b4c47..8028b27 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -249,11 +249,11 @@ static void print_commit(struct commit *commit, struct rev_info *revs)
static const char *disambiguate_ref(const char *ref, int *must_free_result)
{
- unsigned char sha1[20];
+ struct object_id oid;
struct strbuf longref = STRBUF_INIT;
strbuf_addf(&longref, "refs/heads/%s", ref);
- if (get_sha1(longref.buf, sha1) == 0) {
+ if (get_sha1(longref.buf, oid.hash) == 0) {
*must_free_result = 1;
return strbuf_detach(&longref, NULL);
}
diff --git a/ui-shared.c b/ui-shared.c
index ac5a287..e755c92 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -792,7 +792,7 @@ void cgit_add_clone_urls(void (*fn)(const char *))
add_clone_urls(fn, ctx.cfg.clone_prefix, ctx.repo->url);
}
-static int print_branch_option(const char *refname, const unsigned char *sha1,
+static int print_branch_option(const char *refname, const struct object_id *oid,
int flags, void *cb_data)
{
char *name = (char *)refname;
--
2.4.4
More information about the CGit
mailing list