git: update to v2.16.0

Update to git version v2.16.0:

* refs: convert resolve_ref_unsafe to struct object_id
  (49e61479be913f67e66bb3fdf8de9475c41b58bd)
* diff: remove DIFF_OPT_SET macro
  (23dcf77f48feb49c54bad09210f093a799816334)
* log: add option to choose which refs to decorate
  (65516f586b69307f977cd67cc45513a296cabc25)
* diff: convert flags to be stored in bitfields
  (02f2f56bc377c287c411947d0e1482aac888f8db)

Signed-off-by: Christian Hesse <mail@eworm.de>
This commit is contained in:
Christian Hesse 2018-01-18 09:19:31 +01:00 committed by Jason A. Donenfeld
parent 5d947ba3f0
commit 1dd53e3a2f
8 changed files with 10 additions and 11 deletions

View File

@ -14,7 +14,7 @@ htmldir = $(docdir)
pdfdir = $(docdir)
mandir = $(prefix)/share/man
SHA1_HEADER = <openssl/sha.h>
GIT_VER = 2.15.1
GIT_VER = 2.16.0
GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.gz
INSTALL = install
COPYTREE = cp -r

2
cgit.c
View File

@ -478,7 +478,7 @@ static char *guess_defbranch(void)
const char *ref, *refname;
struct object_id oid;
ref = resolve_ref_unsafe("HEAD", 0, oid.hash, NULL);
ref = resolve_ref_unsafe("HEAD", 0, &oid, NULL);
if (!ref || !skip_prefix(ref, "refs/heads/", &refname))
return "master";
return xstrdup(refname);

2
git

@ -1 +1 @@
Subproject commit 9b185bef0c15cec1ea8753ce091e42ea041f2c31
Subproject commit 2512f15446149235156528dafbe75930c712b29e

View File

@ -346,7 +346,7 @@ void cgit_diff_tree(const struct object_id *old_oid,
opt.output_format = DIFF_FORMAT_CALLBACK;
opt.detect_rename = 1;
opt.rename_limit = ctx.cfg.renamelimit;
DIFF_OPT_SET(&opt, RECURSIVE);
opt.flags.recursive = 1;
if (ignorews)
DIFF_XDL_SET(&opt, IGNORE_WHITESPACE);
opt.format_callback = cgit_diff_tree_cb;

View File

@ -101,7 +101,7 @@ static void print_object(const unsigned char *sha1, const char *path,
argv_array_push(&rev_argv, "blame");
argv_array_push(&rev_argv, rev);
init_revisions(&revs, NULL);
DIFF_OPT_SET(&revs.diffopt, ALLOW_TEXTCONV);
revs.diffopt.flags.allow_textconv = 1;
setup_revisions(rev_argv.argc, rev_argv.argv, &revs, NULL);
init_scoreboard(&sb);
sb.revs = &revs;

View File

@ -41,7 +41,7 @@ void cgit_print_commit(char *hex, const char *prefix)
format_display_notes(&oid, &notes, PAGE_ENCODING, 0);
load_ref_decorations(DECORATE_FULL_REFS);
load_ref_decorations(NULL, DECORATE_FULL_REFS);
cgit_print_layout_start();
cgit_print_diff_ctrls();

View File

@ -444,7 +444,7 @@ void cgit_print_diff(const char *new_rev, const char *old_rev,
diff_setup(&diffopt);
diffopt.output_format = DIFF_FORMAT_PATCH;
DIFF_OPT_SET(&diffopt, RECURSIVE);
diffopt.flags.recursive = 1;
diff_setup_done(&diffopt);
ctx.page.mimetype = "text/plain";

View File

@ -119,8 +119,7 @@ static int show_commit(struct commit *commit, struct rev_info *revs)
struct commit_list *parents = commit->parents;
struct commit *parent;
int found = 0, saved_fmt;
unsigned saved_flags = revs->diffopt.flags;
struct diff_flags saved_flags = revs->diffopt.flags;
/* Always show if we're not in "follow" mode with a single file. */
if (!ctx.qry.follow)
@ -149,7 +148,7 @@ static int show_commit(struct commit *commit, struct rev_info *revs)
add_lines = 0;
rem_lines = 0;
DIFF_OPT_SET(&revs->diffopt, RECURSIVE);
revs->diffopt.flags.recursive = 1;
diff_tree_oid(&parent->tree->object.oid,
&commit->tree->object.oid,
"", &revs->diffopt);
@ -434,7 +433,7 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
rev.ignore_missing = 1;
rev.simplify_history = 1;
setup_revisions(rev_argv.argc, rev_argv.argv, &rev, NULL);
load_ref_decorations(DECORATE_FULL_REFS);
load_ref_decorations(NULL, DECORATE_FULL_REFS);
rev.show_decorations = 1;
rev.grep_filter.ignore_case = 1;