git: update to v2.29.0

Update to git version v2.29.0, this requires changes for these
upstream commits:

* dbbcd44fb47347a3fdbee88ea21805b7f4ac0b98
  strvec: rename files from argv-array to strvec

* 873cd28a8b17ff21908c78c7929a7615f8c94992
  argv-array: rename to strvec

* d70a9eb611a9d242c1d26847d223b8677609305b
  strvec: rename struct fields

* 6a67c759489e1025665adf78326e9e0d0981bab5
  test-lib-functions: restrict test_must_fail usage

Signed-off-by: Christian Hesse <mail@eworm.de>
master
Christian Hesse 4 years ago
parent 205837d468
commit 629659d2cf

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

@ -14,7 +14,7 @@
#include <tag.h> #include <tag.h>
#include <diff.h> #include <diff.h>
#include <diffcore.h> #include <diffcore.h>
#include <argv-array.h> #include <strvec.h>
#include <refs.h> #include <refs.h>
#include <revision.h> #include <revision.h>
#include <log-tree.h> #include <log-tree.h>

2
git

@ -1 +1 @@
Subproject commit 47ae905ffb98cc4d4fd90083da6bc8dab55d9ecc Subproject commit 69986e19ffcfb9af674ae5180689ab7bbf92ed28

@ -25,7 +25,7 @@ test_no_home_access () {
-E CGIT_CONFIG="$PWD/cgitrc" \ -E CGIT_CONFIG="$PWD/cgitrc" \
-E QUERY_STRING="url=$1" \ -E QUERY_STRING="url=$1" \
-e access -f -o strace.out cgit && -e access -f -o strace.out cgit &&
test_must_fail grep "$non_existent_path" strace.out ! grep "$non_existent_path" strace.out
} }
test_no_home_access_success() { test_no_home_access_success() {

@ -10,7 +10,7 @@
#include "ui-blame.h" #include "ui-blame.h"
#include "html.h" #include "html.h"
#include "ui-shared.h" #include "ui-shared.h"
#include "argv-array.h" #include "strvec.h"
#include "blame.h" #include "blame.h"
@ -104,7 +104,7 @@ static void print_object(const struct object_id *oid, const char *path,
enum object_type type; enum object_type type;
char *buf; char *buf;
unsigned long size; unsigned long size;
struct argv_array rev_argv = ARGV_ARRAY_INIT; struct strvec rev_argv = STRVEC_INIT;
struct rev_info revs; struct rev_info revs;
struct blame_scoreboard sb; struct blame_scoreboard sb;
struct blame_origin *o; struct blame_origin *o;
@ -124,11 +124,11 @@ static void print_object(const struct object_id *oid, const char *path,
return; return;
} }
argv_array_push(&rev_argv, "blame"); strvec_push(&rev_argv, "blame");
argv_array_push(&rev_argv, rev); strvec_push(&rev_argv, rev);
init_revisions(&revs, NULL); init_revisions(&revs, NULL);
revs.diffopt.flags.allow_textconv = 1; revs.diffopt.flags.allow_textconv = 1;
setup_revisions(rev_argv.argc, rev_argv.argv, &revs, NULL); setup_revisions(rev_argv.nr, rev_argv.v, &revs, NULL);
init_scoreboard(&sb); init_scoreboard(&sb);
sb.revs = &revs; sb.revs = &revs;
sb.repo = the_repository; sb.repo = the_repository;

@ -10,7 +10,7 @@
#include "ui-log.h" #include "ui-log.h"
#include "html.h" #include "html.h"
#include "ui-shared.h" #include "ui-shared.h"
#include "argv-array.h" #include "strvec.h"
static int files, add_lines, rem_lines, lines_counted; static int files, add_lines, rem_lines, lines_counted;
@ -366,23 +366,23 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
{ {
struct rev_info rev; struct rev_info rev;
struct commit *commit; struct commit *commit;
struct argv_array rev_argv = ARGV_ARRAY_INIT; struct strvec rev_argv = STRVEC_INIT;
int i, columns = commit_graph ? 4 : 3; int i, columns = commit_graph ? 4 : 3;
int must_free_tip = 0; int must_free_tip = 0;
/* rev_argv.argv[0] will be ignored by setup_revisions */ /* rev_argv.argv[0] will be ignored by setup_revisions */
argv_array_push(&rev_argv, "log_rev_setup"); strvec_push(&rev_argv, "log_rev_setup");
if (!tip) if (!tip)
tip = ctx.qry.head; tip = ctx.qry.head;
tip = disambiguate_ref(tip, &must_free_tip); tip = disambiguate_ref(tip, &must_free_tip);
argv_array_push(&rev_argv, tip); strvec_push(&rev_argv, tip);
if (grep && pattern && *pattern) { if (grep && pattern && *pattern) {
pattern = xstrdup(pattern); pattern = xstrdup(pattern);
if (!strcmp(grep, "grep") || !strcmp(grep, "author") || if (!strcmp(grep, "grep") || !strcmp(grep, "author") ||
!strcmp(grep, "committer")) { !strcmp(grep, "committer")) {
argv_array_pushf(&rev_argv, "--%s=%s", grep, pattern); strvec_pushf(&rev_argv, "--%s=%s", grep, pattern);
} else if (!strcmp(grep, "range")) { } else if (!strcmp(grep, "range")) {
char *arg; char *arg;
/* Split the pattern at whitespace and add each token /* Split the pattern at whitespace and add each token
@ -390,14 +390,14 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
* rev-list options. Also, replace the previously * rev-list options. Also, replace the previously
* pushed tip (it's no longer relevant). * pushed tip (it's no longer relevant).
*/ */
argv_array_pop(&rev_argv); strvec_pop(&rev_argv);
while ((arg = next_token(&pattern))) { while ((arg = next_token(&pattern))) {
if (*arg == '-') { if (*arg == '-') {
fprintf(stderr, "Bad range expr: %s\n", fprintf(stderr, "Bad range expr: %s\n",
arg); arg);
break; break;
} }
argv_array_push(&rev_argv, arg); strvec_push(&rev_argv, arg);
} }
} }
} }
@ -412,22 +412,22 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
} }
if (commit_graph && !ctx.qry.follow) { if (commit_graph && !ctx.qry.follow) {
argv_array_push(&rev_argv, "--graph"); strvec_push(&rev_argv, "--graph");
argv_array_push(&rev_argv, "--color"); strvec_push(&rev_argv, "--color");
graph_set_column_colors(column_colors_html, graph_set_column_colors(column_colors_html,
COLUMN_COLORS_HTML_MAX); COLUMN_COLORS_HTML_MAX);
} }
if (commit_sort == 1) if (commit_sort == 1)
argv_array_push(&rev_argv, "--date-order"); strvec_push(&rev_argv, "--date-order");
else if (commit_sort == 2) else if (commit_sort == 2)
argv_array_push(&rev_argv, "--topo-order"); strvec_push(&rev_argv, "--topo-order");
if (path && ctx.qry.follow) if (path && ctx.qry.follow)
argv_array_push(&rev_argv, "--follow"); strvec_push(&rev_argv, "--follow");
argv_array_push(&rev_argv, "--"); strvec_push(&rev_argv, "--");
if (path) if (path)
argv_array_push(&rev_argv, path); strvec_push(&rev_argv, path);
init_revisions(&rev, NULL); init_revisions(&rev, NULL);
rev.abbrev = DEFAULT_ABBREV; rev.abbrev = DEFAULT_ABBREV;
@ -436,7 +436,7 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
rev.show_root_diff = 0; rev.show_root_diff = 0;
rev.ignore_missing = 1; rev.ignore_missing = 1;
rev.simplify_history = 1; rev.simplify_history = 1;
setup_revisions(rev_argv.argc, rev_argv.argv, &rev, NULL); setup_revisions(rev_argv.nr, rev_argv.v, &rev, NULL);
load_ref_decorations(NULL, DECORATE_FULL_REFS); load_ref_decorations(NULL, DECORATE_FULL_REFS);
rev.show_decorations = 1; rev.show_decorations = 1;
rev.grep_filter.ignore_case = 1; rev.grep_filter.ignore_case = 1;

@ -13,32 +13,32 @@
static int write_archive_type(const char *format, const char *hex, const char *prefix) static int write_archive_type(const char *format, const char *hex, const char *prefix)
{ {
struct argv_array argv = ARGV_ARRAY_INIT; struct strvec argv = STRVEC_INIT;
const char **nargv; const char **nargv;
int result; int result;
argv_array_push(&argv, "snapshot"); strvec_push(&argv, "snapshot");
argv_array_push(&argv, format); strvec_push(&argv, format);
if (prefix) { if (prefix) {
struct strbuf buf = STRBUF_INIT; struct strbuf buf = STRBUF_INIT;
strbuf_addstr(&buf, prefix); strbuf_addstr(&buf, prefix);
strbuf_addch(&buf, '/'); strbuf_addch(&buf, '/');
argv_array_push(&argv, "--prefix"); strvec_push(&argv, "--prefix");
argv_array_push(&argv, buf.buf); strvec_push(&argv, buf.buf);
strbuf_release(&buf); strbuf_release(&buf);
} }
argv_array_push(&argv, hex); strvec_push(&argv, hex);
/* /*
* Now we need to copy the pointers to arguments into a new * Now we need to copy the pointers to arguments into a new
* structure because write_archive will rearrange its arguments * structure because write_archive will rearrange its arguments
* which may result in duplicated/missing entries causing leaks * which may result in duplicated/missing entries causing leaks
* or double-frees in argv_array_clear. * or double-frees in strvec_clear.
*/ */
nargv = xmalloc(sizeof(char *) * (argv.argc + 1)); nargv = xmalloc(sizeof(char *) * (argv.nr + 1));
/* argv_array guarantees a trailing NULL entry. */ /* strvec guarantees a trailing NULL entry. */
memcpy(nargv, argv.argv, sizeof(char *) * (argv.argc + 1)); memcpy(nargv, argv.v, sizeof(char *) * (argv.nr + 1));
result = write_archive(argv.argc, nargv, NULL, the_repository, NULL, 0); result = write_archive(argv.nr, nargv, NULL, the_repository, NULL, 0);
argv_array_clear(&argv); strvec_clear(&argv);
free(nargv); free(nargv);
return result; return result;
} }

Loading…
Cancel
Save