From 629659d2cffbf059374fc53e6400ff0bebe1ddde Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 6 Oct 2020 16:32:08 +0200 Subject: 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 --- tests/t0109-gitconfig.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/t0109-gitconfig.sh b/tests/t0109-gitconfig.sh index 8cee75c..189ef28 100755 --- a/tests/t0109-gitconfig.sh +++ b/tests/t0109-gitconfig.sh @@ -25,7 +25,7 @@ test_no_home_access () { -E CGIT_CONFIG="$PWD/cgitrc" \ -E QUERY_STRING="url=$1" \ -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() { -- cgit 1.4.1 From 779631c6dc23c15bbbf45a7c7ab9fffb619037b7 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 20 Oct 2020 23:32:45 +0200 Subject: global: replace references to 'sha1' with 'oid' For some time now sha1 is considered broken and upstream is working to replace it with sha256. Replace all references to 'sha1' with 'oid', just as upstream does. Signed-off-by: Christian Hesse --- cgit.c | 16 +++++++-------- cgit.css | 2 +- cgit.h | 6 +++--- cmd.c | 18 ++++++++-------- parsing.c | 6 +++--- tests/t0001-validate-git-versions.sh | 4 ++-- ui-blame.c | 4 ++-- ui-commit.c | 10 ++++----- ui-diff.c | 8 ++++---- ui-log.c | 6 +++--- ui-plain.c | 6 +++--- ui-shared.c | 40 ++++++++++++++++++------------------ ui-tag.c | 6 +++--- 13 files changed, 66 insertions(+), 66 deletions(-) (limited to 'tests') diff --git a/cgit.c b/cgit.c index c4320f0..08d81a1 100644 --- a/cgit.c +++ b/cgit.c @@ -324,11 +324,11 @@ static void querystring_cb(const char *name, const char *value) ctx.qry.head = xstrdup(value); ctx.qry.has_symref = 1; } else if (!strcmp(name, "id")) { - ctx.qry.sha1 = xstrdup(value); - ctx.qry.has_sha1 = 1; + ctx.qry.oid = xstrdup(value); + ctx.qry.has_oid = 1; } else if (!strcmp(name, "id2")) { - ctx.qry.sha2 = xstrdup(value); - ctx.qry.has_sha1 = 1; + ctx.qry.oid2 = xstrdup(value); + ctx.qry.has_oid = 1; } else if (!strcmp(name, "ofs")) { ctx.qry.ofs = atoi(value); } else if (!strcmp(name, "path")) { @@ -992,9 +992,9 @@ static void cgit_parse_args(int argc, const char **argv) } else if (skip_prefix(argv[i], "--head=", &arg)) { ctx.qry.head = xstrdup(arg); ctx.qry.has_symref = 1; - } else if (skip_prefix(argv[i], "--sha1=", &arg)) { - ctx.qry.sha1 = xstrdup(arg); - ctx.qry.has_sha1 = 1; + } else if (skip_prefix(argv[i], "--oid=", &arg)) { + ctx.qry.oid = xstrdup(arg); + ctx.qry.has_oid = 1; } else if (skip_prefix(argv[i], "--ofs=", &arg)) { ctx.qry.ofs = atoi(arg); } else if (skip_prefix(argv[i], "--scan-tree=", &arg) || @@ -1037,7 +1037,7 @@ static int calc_ttl(void) if (!strcmp(ctx.qry.page, "snapshot")) return ctx.cfg.cache_snapshot_ttl; - if (ctx.qry.has_sha1) + if (ctx.qry.has_oid) return ctx.cfg.cache_static_ttl; if (ctx.qry.has_symref) diff --git a/cgit.css b/cgit.css index d4aadbf..dfa144d 100644 --- a/cgit.css +++ b/cgit.css @@ -561,7 +561,7 @@ div#cgit table.diff td div.del { color: red; } -div#cgit .sha1 { +div#cgit .oid { font-family: monospace; font-size: 90%; } diff --git a/cgit.h b/cgit.h index f5db364..69b5c13 100644 --- a/cgit.h +++ b/cgit.h @@ -164,7 +164,7 @@ struct reflist { struct cgit_query { int has_symref; - int has_sha1; + int has_oid; int has_difftype; char *raw; char *repo; @@ -172,8 +172,8 @@ struct cgit_query { char *search; char *grep; char *head; - char *sha1; - char *sha2; + char *oid; + char *oid2; char *path; char *name; char *url; diff --git a/cmd.c b/cmd.c index bf6d8f5..0eb75b1 100644 --- a/cmd.c +++ b/cmd.c @@ -74,22 +74,22 @@ static void blame_fn(void) static void blob_fn(void) { - cgit_print_blob(ctx.qry.sha1, ctx.qry.path, ctx.qry.head, 0); + cgit_print_blob(ctx.qry.oid, ctx.qry.path, ctx.qry.head, 0); } static void commit_fn(void) { - cgit_print_commit(ctx.qry.sha1, ctx.qry.path); + cgit_print_commit(ctx.qry.oid, ctx.qry.path); } static void diff_fn(void) { - cgit_print_diff(ctx.qry.sha1, ctx.qry.sha2, ctx.qry.path, 1, 0); + cgit_print_diff(ctx.qry.oid, ctx.qry.oid2, ctx.qry.path, 1, 0); } static void rawdiff_fn(void) { - cgit_print_diff(ctx.qry.sha1, ctx.qry.sha2, ctx.qry.path, 1, 1); + cgit_print_diff(ctx.qry.oid, ctx.qry.oid2, ctx.qry.path, 1, 1); } static void info_fn(void) @@ -99,7 +99,7 @@ static void info_fn(void) static void log_fn(void) { - cgit_print_log(ctx.qry.sha1, ctx.qry.ofs, ctx.cfg.max_commit_count, + cgit_print_log(ctx.qry.oid, ctx.qry.ofs, ctx.cfg.max_commit_count, ctx.qry.grep, ctx.qry.search, ctx.qry.path, 1, ctx.repo->enable_commit_graph, ctx.repo->commit_sort); @@ -125,7 +125,7 @@ static void repolist_fn(void) static void patch_fn(void) { - cgit_print_patch(ctx.qry.sha1, ctx.qry.sha2, ctx.qry.path); + cgit_print_patch(ctx.qry.oid, ctx.qry.oid2, ctx.qry.path); } static void plain_fn(void) @@ -140,7 +140,7 @@ static void refs_fn(void) static void snapshot_fn(void) { - cgit_print_snapshot(ctx.qry.head, ctx.qry.sha1, ctx.qry.path, + cgit_print_snapshot(ctx.qry.head, ctx.qry.oid, ctx.qry.path, ctx.qry.nohead); } @@ -156,12 +156,12 @@ static void summary_fn(void) static void tag_fn(void) { - cgit_print_tag(ctx.qry.sha1); + cgit_print_tag(ctx.qry.oid); } static void tree_fn(void) { - cgit_print_tree(ctx.qry.sha1, ctx.qry.path); + cgit_print_tree(ctx.qry.oid, ctx.qry.path); } #define def_cmd(name, want_repo, want_vpath, is_clone) \ diff --git a/parsing.c b/parsing.c index 93b4767..e647dba 100644 --- a/parsing.c +++ b/parsing.c @@ -127,7 +127,7 @@ static int end_of_header(const char *p) struct commitinfo *cgit_parse_commit(struct commit *commit) { - const int sha1hex_len = 40; + const int oid_hex_len = 40; struct commitinfo *ret; const char *p = repo_get_commit_buffer(the_repository, commit, NULL); const char *t; @@ -140,10 +140,10 @@ struct commitinfo *cgit_parse_commit(struct commit *commit) if (!skip_prefix(p, "tree ", &p)) die("Bad commit: %s", oid_to_hex(&commit->object.oid)); - p += sha1hex_len + 1; + p += oid_hex_len + 1; while (skip_prefix(p, "parent ", &p)) - p += sha1hex_len + 1; + p += oid_hex_len + 1; if (p && skip_prefix(p, "author ", &p)) { parse_user(p, &ret->author, &ret->author_email, diff --git a/tests/t0001-validate-git-versions.sh b/tests/t0001-validate-git-versions.sh index 73bd32f..dd84fe3 100755 --- a/tests/t0001-validate-git-versions.sh +++ b/tests/t0001-validate-git-versions.sh @@ -33,10 +33,10 @@ test_expect_success 'test submodule version matches Makefile' ' else ( cd ../.. && - sm_sha1=$(git ls-files --stage -- git | + sm_oid=$(git ls-files --stage -- git | sed -e "s/^[0-9]* \\([0-9a-f]*\\) [0-9] .*$/\\1/") && cd git && - git describe --match "v[0-9]*" $sm_sha1 + git describe --match "v[0-9]*" $sm_oid ) | sed -e "s/^v//" -e "s/-/./" >sm_version && test_cmp sm_version makefile_version fi diff --git a/ui-blame.c b/ui-blame.c index c3662bb..cfab7fb 100644 --- a/ui-blame.c +++ b/ui-blame.c @@ -48,7 +48,7 @@ static void emit_blame_entry_hash(struct blame_entry *ent) unsigned long line = 0; char *detail = emit_suspect_detail(suspect); - html(""); + html(""); cgit_commit_link(find_unique_abbrev(oid, DEFAULT_ABBREV), detail, NULL, ctx.qry.head, oid_to_hex(oid), suspect->path); html(""); @@ -256,7 +256,7 @@ static int basedir_len(const char *path) void cgit_print_blame(void) { - const char *rev = ctx.qry.sha1; + const char *rev = ctx.qry.oid; struct object_id oid; struct commit *commit; struct pathspec_item path_items = { diff --git a/ui-commit.c b/ui-commit.c index 783211f..948118c 100644 --- a/ui-commit.c +++ b/ui-commit.c @@ -70,13 +70,13 @@ void cgit_print_commit(char *hex, const char *prefix) html_txt(show_date(info->committer_date, info->committer_tz, cgit_date_mode(DATE_ISO8601))); html("\n"); - html("commit"); + html("commit"); tmp = oid_to_hex(&commit->object.oid); cgit_commit_link(tmp, NULL, NULL, ctx.qry.head, tmp, prefix); html(" ("); cgit_patch_link("patch", NULL, NULL, NULL, tmp, prefix); html(")\n"); - html("tree"); + html("tree"); tmp = xstrdup(hex); cgit_tree_link(oid_to_hex(get_commit_tree_oid(commit)), NULL, NULL, ctx.qry.head, tmp, NULL); @@ -95,7 +95,7 @@ void cgit_print_commit(char *hex, const char *prefix) continue; } html("parent" - ""); + ""); tmp = tmp2 = oid_to_hex(&p->item->object.oid); if (ctx.repo->enable_subject_links) { parent_info = cgit_parse_commit(parent); @@ -109,7 +109,7 @@ void cgit_print_commit(char *hex, const char *prefix) parents++; } if (ctx.repo->snapshots) { - html("download"); + html("download"); cgit_print_snapshot_links(ctx.repo, hex, "
"); html(""); } @@ -139,7 +139,7 @@ void cgit_print_commit(char *hex, const char *prefix) tmp = oid_to_hex(&commit->parents->item->object.oid); else tmp = NULL; - cgit_print_diff(ctx.qry.sha1, tmp, prefix, 0, 0); + cgit_print_diff(ctx.qry.oid, tmp, prefix, 0, 0); } strbuf_release(¬es); cgit_free_commitinfo(info); diff --git a/ui-diff.c b/ui-diff.c index 329c350..5ed5990 100644 --- a/ui-diff.c +++ b/ui-diff.c @@ -97,8 +97,8 @@ static void print_fileinfo(struct fileinfo *info) html("]
"); } htmlf("", class); - cgit_diff_link(info->new_path, NULL, NULL, ctx.qry.head, ctx.qry.sha1, - ctx.qry.sha2, info->new_path); + cgit_diff_link(info->new_path, NULL, NULL, ctx.qry.head, ctx.qry.oid, + ctx.qry.oid2, info->new_path); if (info->status == DIFF_STATUS_COPIED || info->status == DIFF_STATUS_RENAMED) { htmlf(" (%s from ", info->status == DIFF_STATUS_COPIED ? "copied" : "renamed"); @@ -194,8 +194,8 @@ static void cgit_print_diffstat(const struct object_id *old_oid, int i; html("
"); - cgit_diff_link("Diffstat", NULL, NULL, ctx.qry.head, ctx.qry.sha1, - ctx.qry.sha2, NULL); + cgit_diff_link("Diffstat", NULL, NULL, ctx.qry.head, ctx.qry.oid, + ctx.qry.oid2, NULL); if (prefix) { html(" (limited to '"); html_txt(prefix); diff --git a/ui-log.c b/ui-log.c index fd07409..6914f75 100644 --- a/ui-log.c +++ b/ui-log.c @@ -463,7 +463,7 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern if (pager) { html(" ("); cgit_log_link(ctx.qry.showmsg ? "Collapse" : "Expand", NULL, - NULL, ctx.qry.head, ctx.qry.sha1, + NULL, ctx.qry.head, ctx.qry.oid, ctx.qry.vpath, ctx.qry.ofs, ctx.qry.grep, ctx.qry.search, ctx.qry.showmsg ? 0 : 1, ctx.qry.follow); @@ -519,7 +519,7 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern if (ofs > 0) { html("
  • "); cgit_log_link("[prev]", NULL, NULL, ctx.qry.head, - ctx.qry.sha1, ctx.qry.vpath, + ctx.qry.oid, ctx.qry.vpath, ofs - cnt, ctx.qry.grep, ctx.qry.search, ctx.qry.showmsg, ctx.qry.follow); @@ -528,7 +528,7 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern if ((commit = get_revision(&rev)) != NULL) { html("
  • "); cgit_log_link("[next]", NULL, NULL, ctx.qry.head, - ctx.qry.sha1, ctx.qry.vpath, + ctx.qry.oid, ctx.qry.vpath, ofs + cnt, ctx.qry.grep, ctx.qry.search, ctx.qry.showmsg, ctx.qry.follow); diff --git a/ui-plain.c b/ui-plain.c index 2a7b18c..001001c 100644 --- a/ui-plain.c +++ b/ui-plain.c @@ -99,7 +99,7 @@ static void print_dir(const struct object_id *oid, const char *base, fullpath = NULL; } html("
  • "); - cgit_plain_link("../", NULL, NULL, ctx.qry.head, ctx.qry.sha1, + cgit_plain_link("../", NULL, NULL, ctx.qry.head, ctx.qry.oid, fullpath); html("
  • \n"); } @@ -118,7 +118,7 @@ static void print_dir_entry(const struct object_id *oid, const char *base, if (S_ISGITLINK(mode)) { cgit_submodule_link(NULL, fullpath, oid_to_hex(oid)); } else - cgit_plain_link(path, NULL, NULL, ctx.qry.head, ctx.qry.sha1, + cgit_plain_link(path, NULL, NULL, ctx.qry.head, ctx.qry.oid, fullpath); html("\n"); free(fullpath); @@ -163,7 +163,7 @@ static int basedir_len(const char *path) void cgit_print_plain(void) { - const char *rev = ctx.qry.sha1; + const char *rev = ctx.qry.oid; struct object_id oid; struct commit *commit; struct pathspec_item path_items = { diff --git a/ui-shared.c b/ui-shared.c index d2358f2..151ac17 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -521,45 +521,45 @@ static void cgit_self_link(char *name, const char *title, const char *class) else if (!strcmp(ctx.qry.page, "summary")) cgit_summary_link(name, title, class, ctx.qry.head); else if (!strcmp(ctx.qry.page, "tag")) - cgit_tag_link(name, title, class, ctx.qry.has_sha1 ? - ctx.qry.sha1 : ctx.qry.head); + cgit_tag_link(name, title, class, ctx.qry.has_oid ? + ctx.qry.oid : ctx.qry.head); else if (!strcmp(ctx.qry.page, "tree")) cgit_tree_link(name, title, class, ctx.qry.head, - ctx.qry.has_sha1 ? ctx.qry.sha1 : NULL, + ctx.qry.has_oid ? ctx.qry.oid : NULL, ctx.qry.path); else if (!strcmp(ctx.qry.page, "plain")) cgit_plain_link(name, title, class, ctx.qry.head, - ctx.qry.has_sha1 ? ctx.qry.sha1 : NULL, + ctx.qry.has_oid ? ctx.qry.oid : NULL, ctx.qry.path); else if (!strcmp(ctx.qry.page, "blame")) cgit_blame_link(name, title, class, ctx.qry.head, - ctx.qry.has_sha1 ? ctx.qry.sha1 : NULL, + ctx.qry.has_oid ? ctx.qry.oid : NULL, ctx.qry.path); else if (!strcmp(ctx.qry.page, "log")) cgit_log_link(name, title, class, ctx.qry.head, - ctx.qry.has_sha1 ? ctx.qry.sha1 : NULL, + ctx.qry.has_oid ? ctx.qry.oid : NULL, ctx.qry.path, ctx.qry.ofs, ctx.qry.grep, ctx.qry.search, ctx.qry.showmsg, ctx.qry.follow); else if (!strcmp(ctx.qry.page, "commit")) cgit_commit_link(name, title, class, ctx.qry.head, - ctx.qry.has_sha1 ? ctx.qry.sha1 : NULL, + ctx.qry.has_oid ? ctx.qry.oid : NULL, ctx.qry.path); else if (!strcmp(ctx.qry.page, "patch")) cgit_patch_link(name, title, class, ctx.qry.head, - ctx.qry.has_sha1 ? ctx.qry.sha1 : NULL, + ctx.qry.has_oid ? ctx.qry.oid : NULL, ctx.qry.path); else if (!strcmp(ctx.qry.page, "refs")) cgit_refs_link(name, title, class, ctx.qry.head, - ctx.qry.has_sha1 ? ctx.qry.sha1 : NULL, + ctx.qry.has_oid ? ctx.qry.oid : NULL, ctx.qry.path); else if (!strcmp(ctx.qry.page, "snapshot")) cgit_snapshot_link(name, title, class, ctx.qry.head, - ctx.qry.has_sha1 ? ctx.qry.sha1 : NULL, + ctx.qry.has_oid ? ctx.qry.oid : NULL, ctx.qry.path); else if (!strcmp(ctx.qry.page, "diff")) cgit_diff_link(name, title, class, ctx.qry.head, - ctx.qry.sha1, ctx.qry.sha2, + ctx.qry.oid, ctx.qry.oid2, ctx.qry.path); else if (!strcmp(ctx.qry.page, "stats")) cgit_stats_link(name, title, class, ctx.qry.head, @@ -918,10 +918,10 @@ void cgit_add_hidden_formfields(int incl_head, int incl_search, strcmp(ctx.qry.head, ctx.repo->defbranch)) html_hidden("h", ctx.qry.head); - if (ctx.qry.sha1) - html_hidden("id", ctx.qry.sha1); - if (ctx.qry.sha2) - html_hidden("id2", ctx.qry.sha2); + if (ctx.qry.oid) + html_hidden("id", ctx.qry.oid); + if (ctx.qry.oid2) + html_hidden("id2", ctx.qry.oid2); if (ctx.qry.showmsg) html_hidden("showmsg", "1"); @@ -1038,20 +1038,20 @@ void cgit_print_pageheader(void) cgit_summary_link("summary", NULL, hc("summary"), ctx.qry.head); cgit_refs_link("refs", NULL, hc("refs"), ctx.qry.head, - ctx.qry.sha1, NULL); + ctx.qry.oid, NULL); cgit_log_link("log", NULL, hc("log"), ctx.qry.head, NULL, ctx.qry.vpath, 0, NULL, NULL, ctx.qry.showmsg, ctx.qry.follow); if (ctx.qry.page && !strcmp(ctx.qry.page, "blame")) cgit_blame_link("blame", NULL, hc("blame"), ctx.qry.head, - ctx.qry.sha1, ctx.qry.vpath); + ctx.qry.oid, ctx.qry.vpath); else cgit_tree_link("tree", NULL, hc("tree"), ctx.qry.head, - ctx.qry.sha1, ctx.qry.vpath); + ctx.qry.oid, ctx.qry.vpath); cgit_commit_link("commit", NULL, hc("commit"), - ctx.qry.head, ctx.qry.sha1, ctx.qry.vpath); + ctx.qry.head, ctx.qry.oid, ctx.qry.vpath); cgit_diff_link("diff", NULL, hc("diff"), ctx.qry.head, - ctx.qry.sha1, ctx.qry.sha2, ctx.qry.vpath); + ctx.qry.oid, ctx.qry.oid2, ctx.qry.vpath); if (ctx.repo->max_stats) cgit_stats_link("stats", NULL, hc("stats"), ctx.qry.head, ctx.qry.vpath); diff --git a/ui-tag.c b/ui-tag.c index 846d5b1..424bbcc 100644 --- a/ui-tag.c +++ b/ui-tag.c @@ -33,7 +33,7 @@ static void print_tag_content(char *buf) static void print_download_links(char *revname) { - html("download"); + html("download"); cgit_print_snapshot_links(ctx.repo, revname, "
    "); html(""); } @@ -91,7 +91,7 @@ void cgit_print_tag(char *revname) cgit_close_filter(ctx.repo->email_filter); html("\n"); } - html("tagged object"); + html("tagged object"); cgit_object_link(tag->tagged); html("\n"); if (ctx.repo->snapshots) @@ -106,7 +106,7 @@ void cgit_print_tag(char *revname) html("tag name"); html_txt(revname); html("\n"); - html("tagged object"); + html("tagged object"); cgit_object_link(obj); html("\n"); if (ctx.repo->snapshots) -- cgit 1.4.1 From a4de0e810b69710c3b32f6d253d80d16dec09f36 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 20 Oct 2020 23:46:09 +0200 Subject: global: replace hard coded hash length With sha1 we had a guaranteed length of 40 hex chars. This changes now that we have to support sha256 with 64 hex chars... Support both. Signed-off-by: Christian Hesse --- filters/commit-links.sh | 2 +- parsing.c | 5 ++--- tests/t0105-commit.sh | 2 +- ui-patch.c | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) (limited to 'tests') diff --git a/filters/commit-links.sh b/filters/commit-links.sh index 5881952..796ac30 100755 --- a/filters/commit-links.sh +++ b/filters/commit-links.sh @@ -19,7 +19,7 @@ regex='' # This expression generates links to commits referenced by their SHA1. regex=$regex' -s|\b([0-9a-fA-F]{7,40})\b|\1|g' +s|\b([0-9a-fA-F]{7,64})\b|\1|g' # This expression generates links to a fictional bugtracker. regex=$regex' diff --git a/parsing.c b/parsing.c index e647dba..72b59b3 100644 --- a/parsing.c +++ b/parsing.c @@ -127,7 +127,6 @@ static int end_of_header(const char *p) struct commitinfo *cgit_parse_commit(struct commit *commit) { - const int oid_hex_len = 40; struct commitinfo *ret; const char *p = repo_get_commit_buffer(the_repository, commit, NULL); const char *t; @@ -140,10 +139,10 @@ struct commitinfo *cgit_parse_commit(struct commit *commit) if (!skip_prefix(p, "tree ", &p)) die("Bad commit: %s", oid_to_hex(&commit->object.oid)); - p += oid_hex_len + 1; + p += the_hash_algo->hexsz + 1; while (skip_prefix(p, "parent ", &p)) - p += oid_hex_len + 1; + p += the_hash_algo->hexsz + 1; if (p && skip_prefix(p, "author ", &p)) { parse_user(p, &ret->author, &ret->author_email, diff --git a/tests/t0105-commit.sh b/tests/t0105-commit.sh index 9cdf55c..1a12ee3 100755 --- a/tests/t0105-commit.sh +++ b/tests/t0105-commit.sh @@ -25,7 +25,7 @@ test_expect_success 'get root commit' ' ' test_expect_success 'root commit contains diffstat' ' - grep "file-1" tmp + grep "file-1" tmp ' test_expect_success 'root commit contains diff' ' diff --git a/ui-patch.c b/ui-patch.c index 5a96410..4ac03cb 100644 --- a/ui-patch.c +++ b/ui-patch.c @@ -61,7 +61,7 @@ void cgit_print_patch(const char *new_rev, const char *old_rev, } if (is_null_oid(&old_rev_oid)) { - memcpy(rev_range, oid_to_hex(&new_rev_oid), GIT_SHA1_HEXSZ + 1); + memcpy(rev_range, oid_to_hex(&new_rev_oid), the_hash_algo->hexsz + 1); } else { xsnprintf(rev_range, REV_RANGE_LEN, "%s..%s", oid_to_hex(&old_rev_oid), oid_to_hex(&new_rev_oid)); -- cgit 1.4.1 From a1039ab17591cc531c877bc693088fd2e45c97ff Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Wed, 21 Oct 2020 21:31:52 +0200 Subject: tests: do not copy snapshots to /tmp/ No idea why this was added... Possibly to inspect the snapshot manually? Let's drop it. Signed-off-by: Christian Hesse --- tests/t0107-snapshot.sh | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'tests') diff --git a/tests/t0107-snapshot.sh b/tests/t0107-snapshot.sh index c164d3e..89b9159 100755 --- a/tests/t0107-snapshot.sh +++ b/tests/t0107-snapshot.sh @@ -61,8 +61,7 @@ test_expect_success LZIP 'strip off the header lines' ' ' test_expect_success LZIP 'verify lzip format' ' - lzip --test master.tar.lz && - cp master.tar.lz /tmp/. + lzip --test master.tar.lz ' test_expect_success LZIP 'untar' ' @@ -103,8 +102,7 @@ test_expect_success XZ 'strip off the header lines' ' ' test_expect_success XZ 'verify xz format' ' - xz --test master.tar.xz && - cp master.tar.xz /tmp/. + xz --test master.tar.xz ' test_expect_success XZ 'untar' ' @@ -145,8 +143,7 @@ test_expect_success ZSTD 'strip off the header lines' ' ' test_expect_success ZSTD 'verify zstd format' ' - zstd --test master.tar.zst && - cp master.tar.zst /tmp/. + zstd --test master.tar.zst ' test_expect_success ZSTD 'untar' ' -- cgit 1.4.1 From adcc4f822fe11836e5f942fc1ae0f00db4eb8d5f Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Wed, 21 Oct 2020 22:16:57 +0200 Subject: tests: try with commit-graph Git 2.24.0 enabled commit-graph by default and caused crashes without necessary update. Let's test to work with commit-graph. Signed-off-by: Christian Hesse --- tests/setup.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/setup.sh b/tests/setup.sh index 5879348..8db810f 100755 --- a/tests/setup.sh +++ b/tests/setup.sh @@ -80,13 +80,17 @@ mkrepo() { git commit -m "commit $n" n=$(expr $n + 1) done - if test "$3" = "testplus" - then + case "$3" in + testplus) echo "hello" >a+b git add a+b git commit -m "add a+b" git branch "1+2" - fi + ;; + commit-graph) + git commit-graph write + ;; + esac ) } @@ -95,7 +99,7 @@ setup_repos() rm -rf cache mkdir -p cache mkrepo repos/foo 5 >/dev/null - mkrepo repos/bar 50 >/dev/null + mkrepo repos/bar 50 commit-graph >/dev/null mkrepo repos/foo+bar 10 testplus >/dev/null mkrepo "repos/with space" 2 >/dev/null mkrepo repos/filter 5 testplus >/dev/null -- cgit 1.4.1 From bd6f5683f6cde4212364354b3139c1d521f40f39 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Tue, 29 Dec 2020 14:18:01 -0500 Subject: tests: t0107: support older and/or non-GNU tar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The untar tests for various compression algorithms use shortcut options from GNU tar to handle decompression. These options may not be provided by non-GNU tar nor even by slightly older GNU tar versions which ship on many systems. An example of the latter case is the --zstd option. This was added in GNU tar-1.32 (2019-02-23)¹. This version of tar is not provided by CentOS/RHEL, in particular. In Debian, --zstd has been backported to the tar-1.30 release. Avoid the requirement on any specific implementations or versions of tar by piping decompressed output to tar. This is compatible with older GNU tar releases as well as tar implementations from other vendors. (It may also be a slight benefit that this more closely matches what the snapshot creation code does.) ¹ Technically, the --zstd option was first released in tar-1.31 (2019-01-02), but this release was very short-lived and is no longer listed on the GNU Tar release page. Signed-off-by: Todd Zullinger Signed-off-by: Jason A. Donenfeld --- tests/t0107-snapshot.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/t0107-snapshot.sh b/tests/t0107-snapshot.sh index 89b9159..0811ec4 100755 --- a/tests/t0107-snapshot.sh +++ b/tests/t0107-snapshot.sh @@ -25,7 +25,7 @@ test_expect_success 'verify gzip format' ' test_expect_success 'untar' ' rm -rf master && - tar -xzf master.tar.gz + gzip -dc master.tar.gz | tar -xf - ' test_expect_success 'count files' ' @@ -66,7 +66,7 @@ test_expect_success LZIP 'verify lzip format' ' test_expect_success LZIP 'untar' ' rm -rf master && - tar --lzip -xf master.tar.lz + lzip -dc master.tar.lz | tar -xf - ' test_expect_success LZIP 'count files' ' @@ -107,7 +107,7 @@ test_expect_success XZ 'verify xz format' ' test_expect_success XZ 'untar' ' rm -rf master && - tar --xz -xf master.tar.xz + xz -dc master.tar.xz | tar -xf - ' test_expect_success XZ 'count files' ' @@ -148,7 +148,7 @@ test_expect_success ZSTD 'verify zstd format' ' test_expect_success ZSTD 'untar' ' rm -rf master && - tar --zstd -xf master.tar.zst + zstd -dc master.tar.zst | tar -xf - ' test_expect_success ZSTD 'count files' ' -- cgit 1.4.1