From 0462f08d8508978256118769b3e6dc89773a1367 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Mon, 9 Mar 2020 09:51:05 +0100 Subject: git: update to v2.26.0 Update to git version v2.26.0. No changes required. Signed-off-by: Christian Hesse --- Makefile | 2 +- git | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 49109ad..b50159f 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ htmldir = $(docdir) pdfdir = $(docdir) mandir = $(prefix)/share/man SHA1_HEADER = -GIT_VER = 2.25.1 +GIT_VER = 2.26.0 GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz INSTALL = install COPYTREE = cp -r diff --git a/git b/git index c522f06..274b9cc 160000 --- a/git +++ b/git @@ -1 +1 @@ -Subproject commit c522f061d551c9bb8684a7c3859b2ece4499b56b +Subproject commit 274b9cc25322d9ee79aa8e6d4e86f0ffe5ced925 -- cgit v1.2.3-24-g4f1b From f780396c0afa6015a05025c6404a560252605319 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 2 Jun 2020 10:10:15 +0200 Subject: git: update to v2.27.0 Update to git version v2.27.0. No changes required. Signed-off-by: Christian Hesse --- Makefile | 2 +- git | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index b50159f..5c8fa8c 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ htmldir = $(docdir) pdfdir = $(docdir) mandir = $(prefix)/share/man SHA1_HEADER = -GIT_VER = 2.26.0 +GIT_VER = 2.27.0 GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz INSTALL = install COPYTREE = cp -r diff --git a/git b/git index 274b9cc..b3d7a52 160000 --- a/git +++ b/git @@ -1 +1 @@ -Subproject commit 274b9cc25322d9ee79aa8e6d4e86f0ffe5ced925 +Subproject commit b3d7a52fac39193503a0b6728771d1bf6a161464 -- cgit v1.2.3-24-g4f1b From 205837d4684f331afa93c946cbdfa1fa9b3d1ce9 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Mon, 27 Jul 2020 20:36:14 +0200 Subject: git: update to v2.28.0 Update to git version v2.28.0. No changes required. Signed-off-by: Christian Hesse --- Makefile | 2 +- git | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 5c8fa8c..84822f0 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ htmldir = $(docdir) pdfdir = $(docdir) mandir = $(prefix)/share/man SHA1_HEADER = -GIT_VER = 2.27.0 +GIT_VER = 2.28.0 GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz INSTALL = install COPYTREE = cp -r diff --git a/git b/git index b3d7a52..47ae905 160000 --- a/git +++ b/git @@ -1 +1 @@ -Subproject commit b3d7a52fac39193503a0b6728771d1bf6a161464 +Subproject commit 47ae905ffb98cc4d4fd90083da6bc8dab55d9ecc -- cgit v1.2.3-24-g4f1b 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 --- Makefile | 2 +- cgit.h | 2 +- git | 2 +- tests/t0109-gitconfig.sh | 2 +- ui-blame.c | 10 +++++----- ui-log.c | 30 +++++++++++++++--------------- ui-snapshot.c | 24 ++++++++++++------------ 7 files changed, 36 insertions(+), 36 deletions(-) diff --git a/Makefile b/Makefile index 84822f0..c947b63 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ htmldir = $(docdir) pdfdir = $(docdir) mandir = $(prefix)/share/man SHA1_HEADER = -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 INSTALL = install COPYTREE = cp -r diff --git a/cgit.h b/cgit.h index 7ec46b4..f5db364 100644 --- a/cgit.h +++ b/cgit.h @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/git b/git index 47ae905..69986e1 160000 --- a/git +++ b/git @@ -1 +1 @@ -Subproject commit 47ae905ffb98cc4d4fd90083da6bc8dab55d9ecc +Subproject commit 69986e19ffcfb9af674ae5180689ab7bbf92ed28 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() { diff --git a/ui-blame.c b/ui-blame.c index f28eea0..c3662bb 100644 --- a/ui-blame.c +++ b/ui-blame.c @@ -10,7 +10,7 @@ #include "ui-blame.h" #include "html.h" #include "ui-shared.h" -#include "argv-array.h" +#include "strvec.h" #include "blame.h" @@ -104,7 +104,7 @@ static void print_object(const struct object_id *oid, const char *path, enum object_type type; char *buf; unsigned long size; - struct argv_array rev_argv = ARGV_ARRAY_INIT; + struct strvec rev_argv = STRVEC_INIT; struct rev_info revs; struct blame_scoreboard sb; struct blame_origin *o; @@ -124,11 +124,11 @@ static void print_object(const struct object_id *oid, const char *path, return; } - argv_array_push(&rev_argv, "blame"); - argv_array_push(&rev_argv, rev); + strvec_push(&rev_argv, "blame"); + strvec_push(&rev_argv, rev); init_revisions(&revs, NULL); 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); sb.revs = &revs; sb.repo = the_repository; diff --git a/ui-log.c b/ui-log.c index 2939c01..fd07409 100644 --- a/ui-log.c +++ b/ui-log.c @@ -10,7 +10,7 @@ #include "ui-log.h" #include "html.h" #include "ui-shared.h" -#include "argv-array.h" +#include "strvec.h" 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 commit *commit; - struct argv_array rev_argv = ARGV_ARRAY_INIT; + struct strvec rev_argv = STRVEC_INIT; int i, columns = commit_graph ? 4 : 3; int must_free_tip = 0; /* 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) tip = ctx.qry.head; tip = disambiguate_ref(tip, &must_free_tip); - argv_array_push(&rev_argv, tip); + strvec_push(&rev_argv, tip); if (grep && pattern && *pattern) { pattern = xstrdup(pattern); if (!strcmp(grep, "grep") || !strcmp(grep, "author") || !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")) { char *arg; /* 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 * pushed tip (it's no longer relevant). */ - argv_array_pop(&rev_argv); + strvec_pop(&rev_argv); while ((arg = next_token(&pattern))) { if (*arg == '-') { fprintf(stderr, "Bad range expr: %s\n", arg); 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) { - argv_array_push(&rev_argv, "--graph"); - argv_array_push(&rev_argv, "--color"); + strvec_push(&rev_argv, "--graph"); + strvec_push(&rev_argv, "--color"); graph_set_column_colors(column_colors_html, COLUMN_COLORS_HTML_MAX); } if (commit_sort == 1) - argv_array_push(&rev_argv, "--date-order"); + strvec_push(&rev_argv, "--date-order"); else if (commit_sort == 2) - argv_array_push(&rev_argv, "--topo-order"); + strvec_push(&rev_argv, "--topo-order"); if (path && ctx.qry.follow) - argv_array_push(&rev_argv, "--follow"); - argv_array_push(&rev_argv, "--"); + strvec_push(&rev_argv, "--follow"); + strvec_push(&rev_argv, "--"); if (path) - argv_array_push(&rev_argv, path); + strvec_push(&rev_argv, path); init_revisions(&rev, NULL); 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.ignore_missing = 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); rev.show_decorations = 1; rev.grep_filter.ignore_case = 1; diff --git a/ui-snapshot.c b/ui-snapshot.c index 556d3ed..18361a6 100644 --- a/ui-snapshot.c +++ b/ui-snapshot.c @@ -13,32 +13,32 @@ 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; int result; - argv_array_push(&argv, "snapshot"); - argv_array_push(&argv, format); + strvec_push(&argv, "snapshot"); + strvec_push(&argv, format); if (prefix) { struct strbuf buf = STRBUF_INIT; strbuf_addstr(&buf, prefix); strbuf_addch(&buf, '/'); - argv_array_push(&argv, "--prefix"); - argv_array_push(&argv, buf.buf); + strvec_push(&argv, "--prefix"); + strvec_push(&argv, buf.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 * structure because write_archive will rearrange its arguments * 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)); - /* argv_array guarantees a trailing NULL entry. */ - memcpy(nargv, argv.argv, sizeof(char *) * (argv.argc + 1)); + nargv = xmalloc(sizeof(char *) * (argv.nr + 1)); + /* strvec guarantees a trailing NULL entry. */ + memcpy(nargv, argv.v, sizeof(char *) * (argv.nr + 1)); - result = write_archive(argv.argc, nargv, NULL, the_repository, NULL, 0); - argv_array_clear(&argv); + result = write_archive(argv.nr, nargv, NULL, the_repository, NULL, 0); + strvec_clear(&argv); free(nargv); return result; } -- cgit v1.2.3-24-g4f1b 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(-) 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 v1.2.3-24-g4f1b 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(-) 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 v1.2.3-24-g4f1b 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(-) 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 v1.2.3-24-g4f1b 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(-) 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 v1.2.3-24-g4f1b From fe99c76ee477f91d6d983486491603109c7b2599 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 27 Oct 2020 10:39:46 +0100 Subject: git: update to v2.29.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update to git version v2.29.1. No functional change, but we want latest and greated version number, no? 😜 Signed-off-by: Christian Hesse --- Makefile | 2 +- git | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index c947b63..eb60388 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ htmldir = $(docdir) pdfdir = $(docdir) mandir = $(prefix)/share/man SHA1_HEADER = -GIT_VER = 2.29.0 +GIT_VER = 2.29.1 GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz INSTALL = install COPYTREE = cp -r diff --git a/git b/git index 69986e1..b927c80 160000 --- a/git +++ b/git @@ -1 +1 @@ -Subproject commit 69986e19ffcfb9af674ae5180689ab7bbf92ed28 +Subproject commit b927c80531cca9b9107754186532e8cb00884008 -- cgit v1.2.3-24-g4f1b From b1739247b17524460282f63fa240b3f34501e000 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Fri, 30 Oct 2020 22:22:32 +0100 Subject: git: update to v2.29.2 Update to git version v2.29.2. No changes required. Signed-off-by: Christian Hesse --- Makefile | 2 +- git | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index eb60388..1a8f496 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ htmldir = $(docdir) pdfdir = $(docdir) mandir = $(prefix)/share/man SHA1_HEADER = -GIT_VER = 2.29.1 +GIT_VER = 2.29.2 GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz INSTALL = install COPYTREE = cp -r diff --git a/git b/git index b927c80..898f807 160000 --- a/git +++ b/git @@ -1 +1 @@ -Subproject commit b927c80531cca9b9107754186532e8cb00884008 +Subproject commit 898f80736c75878acc02dc55672317fcc0e0a5a6 -- cgit v1.2.3-24-g4f1b From cef27b670a66c9840bb6120260864e4b3a701dc2 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Mon, 28 Dec 2020 23:27:13 +0100 Subject: git: update to v2.30.0 Update to git version v2.30.0, this requires changes for these upstream commits: * 88894aaeeae92e8cb41143cc2e045f50289dc790 blame: simplify 'setup_scoreboard' interface * 1fbfdf556f2abc708183caca53ae4e2881b46ae2 banned.h: mark non-reentrant gmtime, etc as banned Signed-off-by: Christian Hesse --- Makefile | 2 +- cache.c | 6 +++--- git | 2 +- ui-blame.c | 3 ++- ui-shared.c | 9 +++++---- ui-stats.c | 48 ++++++++++++++++++++++++------------------------ 6 files changed, 36 insertions(+), 34 deletions(-) diff --git a/Makefile b/Makefile index 1a8f496..6dfc003 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ htmldir = $(docdir) pdfdir = $(docdir) mandir = $(prefix)/share/man SHA1_HEADER = -GIT_VER = 2.29.2 +GIT_VER = 2.30.0 GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz INSTALL = install COPYTREE = cp -r diff --git a/cache.c b/cache.c index 2c70be7..55199e8 100644 --- a/cache.c +++ b/cache.c @@ -401,12 +401,12 @@ int cache_process(int size, const char *path, const char *key, int ttl, static char *sprintftime(const char *format, time_t time) { static char buf[64]; - struct tm *tm; + struct tm tm; if (!time) return NULL; - tm = gmtime(&time); - strftime(buf, sizeof(buf)-1, format, tm); + gmtime_r(&time, &tm); + strftime(buf, sizeof(buf)-1, format, &tm); return buf; } diff --git a/git b/git index 898f807..71ca53e 160000 --- a/git +++ b/git @@ -1 +1 @@ -Subproject commit 898f80736c75878acc02dc55672317fcc0e0a5a6 +Subproject commit 71ca53e8125e36efbda17293c50027d31681a41f diff --git a/ui-blame.c b/ui-blame.c index cfab7fb..ec1d888 100644 --- a/ui-blame.c +++ b/ui-blame.c @@ -132,7 +132,8 @@ static void print_object(const struct object_id *oid, const char *path, init_scoreboard(&sb); sb.revs = &revs; sb.repo = the_repository; - setup_scoreboard(&sb, path, &o); + sb.path = path; + setup_scoreboard(&sb, &o); o->suspects = blame_entry_prepend(NULL, 0, sb.num_lines, o); prio_queue_put(&sb.commits, o->commit); blame_origin_decref(o); diff --git a/ui-shared.c b/ui-shared.c index 151ac17..acd8ab5 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -22,10 +22,11 @@ static char *http_date(time_t t) static char month[][4] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; - struct tm *tm = gmtime(&t); - return fmt("%s, %02d %s %04d %02d:%02d:%02d GMT", day[tm->tm_wday], - tm->tm_mday, month[tm->tm_mon], 1900 + tm->tm_year, - tm->tm_hour, tm->tm_min, tm->tm_sec); + struct tm tm; + gmtime_r(&t, &tm); + return fmt("%s, %02d %s %04d %02d:%02d:%02d GMT", day[tm.tm_wday], + tm.tm_mday, month[tm.tm_mon], 1900 + tm.tm_year, + tm.tm_hour, tm.tm_min, tm.tm_sec); } void cgit_print_error(const char *fmt, ...) diff --git a/ui-stats.c b/ui-stats.c index 7272a61..09b3625 100644 --- a/ui-stats.c +++ b/ui-stats.c @@ -166,7 +166,7 @@ static void add_commit(struct string_list *authors, struct commit *commit, struct authorstat *authorstat; struct string_list *items; char *tmp; - struct tm *date; + struct tm date; time_t t; uintptr_t *counter; @@ -180,9 +180,9 @@ static void add_commit(struct string_list *authors, struct commit *commit, authorstat = author->util; items = &authorstat->list; t = info->committer_date; - date = gmtime(&t); - period->trunc(date); - tmp = xstrdup(period->pretty(date)); + gmtime_r(&t, &date); + period->trunc(&date); + tmp = xstrdup(period->pretty(&date)); item = string_list_insert(items, tmp); counter = (uintptr_t *)&item->util; if (*counter) @@ -215,15 +215,15 @@ static struct string_list collect_stats(const struct cgit_period *period) int argc = 3; time_t now; long i; - struct tm *tm; + struct tm tm; char tmp[11]; time(&now); - tm = gmtime(&now); - period->trunc(tm); + gmtime_r(&now, &tm); + period->trunc(&tm); for (i = 1; i < period->count; i++) - period->dec(tm); - strftime(tmp, sizeof(tmp), "%Y-%m-%d", tm); + period->dec(&tm); + strftime(tmp, sizeof(tmp), "%Y-%m-%d", &tm); argv[2] = xstrdup(fmt("--since=%s", tmp)); if (ctx.qry.path) { argv[3] = "--"; @@ -261,21 +261,21 @@ static void print_combined_authorrow(struct string_list *authors, int from, struct string_list_item *date; time_t now; long i, j, total, subtotal; - struct tm *tm; + struct tm tm; char *tmp; time(&now); - tm = gmtime(&now); - period->trunc(tm); + gmtime_r(&now, &tm); + period->trunc(&tm); for (i = 1; i < period->count; i++) - period->dec(tm); + period->dec(&tm); total = 0; htmlf("%s", leftclass, fmt(name, to - from + 1)); for (j = 0; j < period->count; j++) { - tmp = period->pretty(tm); - period->inc(tm); + tmp = period->pretty(&tm); + period->inc(&tm); subtotal = 0; for (i = from; i <= to; i++) { author = &authors->items[i]; @@ -300,20 +300,20 @@ static void print_authors(struct string_list *authors, int top, struct string_list_item *date; time_t now; long i, j, total; - struct tm *tm; + struct tm tm; char *tmp; time(&now); - tm = gmtime(&now); - period->trunc(tm); + gmtime_r(&now, &tm); + period->trunc(&tm); for (i = 1; i < period->count; i++) - period->dec(tm); + period->dec(&tm); html(""); for (j = 0; j < period->count; j++) { - tmp = period->pretty(tm); + tmp = period->pretty(&tm); htmlf("", tmp); - period->inc(tm); + period->inc(&tm); } html("\n"); @@ -329,10 +329,10 @@ static void print_authors(struct string_list *authors, int top, items = &authorstat->list; total = 0; for (j = 0; j < period->count; j++) - period->dec(tm); + period->dec(&tm); for (j = 0; j < period->count; j++) { - tmp = period->pretty(tm); - period->inc(tm); + tmp = period->pretty(&tm); + period->inc(&tm); date = string_list_lookup(items, tmp); if (!date) html(""); -- cgit v1.2.3-24-g4f1b From f69626c68eb64e1a2f6b4ba055409d7205e72757 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Fri, 4 Dec 2020 13:13:23 +0100 Subject: md2html: use sane_lists extension This allows for cleaner nesting semantics and matches github more closely. Signed-off-by: Jason A. Donenfeld --- filters/html-converters/md2html | 1 + 1 file changed, 1 insertion(+) diff --git a/filters/html-converters/md2html b/filters/html-converters/md2html index dc20f42..f505cb2 100755 --- a/filters/html-converters/md2html +++ b/filters/html-converters/md2html @@ -301,6 +301,7 @@ markdown.markdownFromFile( "markdown.extensions.fenced_code", "markdown.extensions.codehilite", "markdown.extensions.tables", + "markdown.extensions.sane_lists", TocExtension(anchorlink=True)], extension_configs={ "markdown.extensions.codehilite":{"css_class":"highlight"}}) -- cgit v1.2.3-24-g4f1b 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(-) 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 v1.2.3-24-g4f1b From 4ffadc1e0c589f9bcfb4a721f5625914ef2d496d Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Wed, 10 Feb 2021 16:13:53 +0100 Subject: git: update to v2.30.1 Update to git version v2.30.1, no additional changes required. Signed-off-by: Christian Hesse --- Makefile | 2 +- git | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 6dfc003..a4e597b 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ htmldir = $(docdir) pdfdir = $(docdir) mandir = $(prefix)/share/man SHA1_HEADER = -GIT_VER = 2.30.0 +GIT_VER = 2.30.1 GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz INSTALL = install COPYTREE = cp -r diff --git a/git b/git index 71ca53e..773e25a 160000 --- a/git +++ b/git @@ -1 +1 @@ -Subproject commit 71ca53e8125e36efbda17293c50027d31681a41f +Subproject commit 773e25afc41b1b6533fa9ae2cd825d0b4a697fad -- cgit v1.2.3-24-g4f1b From d889cae811f27a052317ac5aea23890cba414760 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Mon, 15 Mar 2021 22:48:26 +0100 Subject: git: update to v2.31.0 Update to git version v2.31.0, this requires changes for these upstream commits: * 36a317929b8f0c67d77d54235f2d20751c576cbb refs: switch peel_ref() to peel_iterated_oid() Signed-off-by: Christian Hesse --- Makefile | 2 +- git | 2 +- ui-log.c | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index a4e597b..11b437b 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ htmldir = $(docdir) pdfdir = $(docdir) mandir = $(prefix)/share/man SHA1_HEADER = -GIT_VER = 2.30.1 +GIT_VER = 2.31.0 GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz INSTALL = install COPYTREE = cp -r diff --git a/git b/git index 773e25a..a5828ae 160000 --- a/git +++ b/git @@ -1 +1 @@ -Subproject commit 773e25afc41b1b6533fa9ae2cd825d0b4a697fad +Subproject commit a5828ae6b52137b913b978e16cd2334482eb4c1f diff --git a/ui-log.c b/ui-log.c index 6914f75..20774bf 100644 --- a/ui-log.c +++ b/ui-log.c @@ -65,8 +65,9 @@ void show_commit_decorations(struct commit *commit) return; html(""); while (deco) { - struct object_id peeled; + struct object_id oid_tag, peeled; int is_annotated = 0; + strlcpy(buf, prettify_refname(deco->name), sizeof(buf)); switch(deco->type) { case DECORATION_NONE: @@ -79,8 +80,8 @@ void show_commit_decorations(struct commit *commit) ctx.qry.showmsg, 0); break; case DECORATION_REF_TAG: - if (!peel_ref(deco->name, &peeled)) - is_annotated = !oidcmp(&commit->object.oid, &peeled); + if (!read_ref(deco->name, &oid_tag) && !peel_iterated_oid(&oid_tag, &peeled)) + is_annotated = !oideq(&oid_tag, &peeled); cgit_tag_link(buf, NULL, is_annotated ? "tag-annotated-deco" : "tag-deco", buf); break; case DECORATION_REF_REMOTE: -- cgit v1.2.3-24-g4f1b From 62eb8db4527e6803df4a26056db8ab9eaf5a79ba Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 31 Mar 2020 14:53:42 +0200 Subject: md2html: use proper formatting for hr This addressed a non-existent background image and made the element invisible. Drop the style and use something sane. Signed-off-by: Christian Hesse --- filters/html-converters/md2html | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/filters/html-converters/md2html b/filters/html-converters/md2html index f505cb2..59f43a8 100755 --- a/filters/html-converters/md2html +++ b/filters/html-converters/md2html @@ -86,11 +86,7 @@ div#cgit .markdown-body h1 a.toclink, div#cgit .markdown-body h2 a.toclink, div# margin: 15px 0; } .markdown-body hr { - background: transparent url("/dirty-shade.png") repeat-x 0 0; - border: 0 none; - color: #ccc; - height: 4px; - padding: 0; + border: 2px solid #ccc; } .markdown-body>h2:first-child, .markdown-body>h1:first-child, .markdown-body>h1:first-child+h2, .markdown-body>h3:first-child, .markdown-body>h4:first-child, .markdown-body>h5:first-child, .markdown-body>h6:first-child { margin-top: 0; -- cgit v1.2.3-24-g4f1b From 6dbbffe01533a91c79c4497c80f46af8e1581e25 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 18 May 2021 21:54:23 +0200 Subject: git: update to v2.31.1 Update to git version v2.31.1, no additional changes required. Signed-off-by: Christian Hesse --- Makefile | 2 +- git | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 11b437b..abc52bc 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ htmldir = $(docdir) pdfdir = $(docdir) mandir = $(prefix)/share/man SHA1_HEADER = -GIT_VER = 2.31.0 +GIT_VER = 2.31.1 GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz INSTALL = install COPYTREE = cp -r diff --git a/git b/git index a5828ae..48bf2fa 160000 --- a/git +++ b/git @@ -1 +1 @@ -Subproject commit a5828ae6b52137b913b978e16cd2334482eb4c1f +Subproject commit 48bf2fa8bad054d66bd79c6ba903c89c704201f7 -- cgit v1.2.3-24-g4f1b From 5258c297ba6fb604ae1415fbc19a3fe42457e49e Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 18 May 2021 22:49:13 +0200 Subject: git: update to v2.32.0 Update to git version v2.32.0, this requires changes for these upstream commits: * 47957485b3b731a7860e0554d2bd12c0dce1c75a tree.h API: simplify read_tree_recursive() signature Signed-off-by: Christian Hesse --- Makefile | 2 +- git | 2 +- ui-blame.c | 9 +++------ ui-blob.c | 20 ++++++++------------ ui-plain.c | 7 +++---- ui-tree.c | 21 ++++++++------------- 6 files changed, 24 insertions(+), 37 deletions(-) diff --git a/Makefile b/Makefile index abc52bc..d13c5bd 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ htmldir = $(docdir) pdfdir = $(docdir) mandir = $(prefix)/share/man SHA1_HEADER = -GIT_VER = 2.31.1 +GIT_VER = 2.32.0 GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz INSTALL = install COPYTREE = cp -r diff --git a/git b/git index 48bf2fa..ebf3c04 160000 --- a/git +++ b/git @@ -1 +1 @@ -Subproject commit 48bf2fa8bad054d66bd79c6ba903c89c704201f7 +Subproject commit ebf3c04b262aa27fbb97f8a0156c2347fecafafb diff --git a/ui-blame.c b/ui-blame.c index ec1d888..03136f7 100644 --- a/ui-blame.c +++ b/ui-blame.c @@ -221,8 +221,7 @@ cleanup: } static int walk_tree(const struct object_id *oid, struct strbuf *base, - const char *pathname, unsigned mode, int stage, - void *cbdata) + const char *pathname, unsigned mode, void *cbdata) { struct walk_tree_context *walk_tree_ctx = cbdata; @@ -291,10 +290,8 @@ void cgit_print_blame(void) walk_tree_ctx.match_baselen = (path_items.match) ? basedir_len(path_items.match) : -1; - read_tree_recursive(the_repository, - repo_get_commit_tree(the_repository, commit), - "", 0, 0, - &paths, walk_tree, &walk_tree_ctx); + read_tree(the_repository, repo_get_commit_tree(the_repository, commit), + &paths, walk_tree, &walk_tree_ctx); if (!walk_tree_ctx.state) cgit_print_error_page(404, "Not found", "Not found"); else if (walk_tree_ctx.state == 2) diff --git a/ui-blob.c b/ui-blob.c index f76c641..c10ae42 100644 --- a/ui-blob.c +++ b/ui-blob.c @@ -19,7 +19,7 @@ struct walk_tree_context { }; static int walk_tree(const struct object_id *oid, struct strbuf *base, - const char *pathname, unsigned mode, int stage, void *cbdata) + const char *pathname, unsigned mode, void *cbdata) { struct walk_tree_context *walk_tree_ctx = cbdata; @@ -56,9 +56,9 @@ int cgit_ref_path_exists(const char *path, const char *ref, int file_only) goto done; if (oid_object_info(the_repository, &oid, &size) != OBJ_COMMIT) goto done; - read_tree_recursive(the_repository, - repo_get_commit_tree(the_repository, lookup_commit_reference(the_repository, &oid)), - "", 0, 0, &paths, walk_tree, &walk_tree_ctx); + read_tree(the_repository, + repo_get_commit_tree(the_repository, lookup_commit_reference(the_repository, &oid)), + &paths, walk_tree, &walk_tree_ctx); done: free(path_items.match); @@ -92,10 +92,8 @@ int cgit_print_file(char *path, const char *head, int file_only) type = oid_object_info(the_repository, &oid, &size); if (type == OBJ_COMMIT) { commit = lookup_commit_reference(the_repository, &oid); - read_tree_recursive(the_repository, - repo_get_commit_tree(the_repository, commit), - "", 0, 0, &paths, walk_tree, - &walk_tree_ctx); + read_tree(the_repository, repo_get_commit_tree(the_repository, commit), + &paths, walk_tree, &walk_tree_ctx); if (!walk_tree_ctx.found_path) return -1; type = oid_object_info(the_repository, &oid, &size); @@ -151,10 +149,8 @@ void cgit_print_blob(const char *hex, char *path, const char *head, int file_onl if ((!hex) && type == OBJ_COMMIT && path) { commit = lookup_commit_reference(the_repository, &oid); - read_tree_recursive(the_repository, - repo_get_commit_tree(the_repository, commit), - "", 0, 0, &paths, walk_tree, - &walk_tree_ctx); + read_tree(the_repository, repo_get_commit_tree(the_repository, commit), + &paths, walk_tree, &walk_tree_ctx); type = oid_object_info(the_repository, &oid, &size); } diff --git a/ui-plain.c b/ui-plain.c index 001001c..65a205f 100644 --- a/ui-plain.c +++ b/ui-plain.c @@ -130,7 +130,7 @@ static void print_dir_tail(void) } static int walk_tree(const struct object_id *oid, struct strbuf *base, - const char *pathname, unsigned mode, int stage, void *cbdata) + const char *pathname, unsigned mode, void *cbdata) { struct walk_tree_context *walk_tree_ctx = cbdata; @@ -198,9 +198,8 @@ void cgit_print_plain(void) } else walk_tree_ctx.match_baselen = basedir_len(path_items.match); - read_tree_recursive(the_repository, - repo_get_commit_tree(the_repository, commit), - "", 0, 0, &paths, walk_tree, &walk_tree_ctx); + read_tree(the_repository, repo_get_commit_tree(the_repository, commit), + &paths, walk_tree, &walk_tree_ctx); if (!walk_tree_ctx.match) cgit_print_error_page(404, "Not found", "Not found"); else if (walk_tree_ctx.match == 2) diff --git a/ui-tree.c b/ui-tree.c index 1e4efb2..b61f6f5 100644 --- a/ui-tree.c +++ b/ui-tree.c @@ -139,8 +139,7 @@ struct single_tree_ctx { }; static int single_tree_cb(const struct object_id *oid, struct strbuf *base, - const char *pathname, unsigned mode, int stage, - void *cbdata) + const char *pathname, unsigned mode, void *cbdata) { struct single_tree_ctx *ctx = cbdata; @@ -185,8 +184,7 @@ static void write_tree_link(const struct object_id *oid, char *name, tree_ctx.name = NULL; tree_ctx.count = 0; - read_tree_recursive(the_repository, tree, "", 0, 1, - &paths, single_tree_cb, &tree_ctx); + read_tree(the_repository, tree, &paths, single_tree_cb, &tree_ctx); if (tree_ctx.count != 1) break; @@ -199,7 +197,7 @@ static void write_tree_link(const struct object_id *oid, char *name, } static int ls_item(const struct object_id *oid, struct strbuf *base, - const char *pathname, unsigned mode, int stage, void *cbdata) + const char *pathname, unsigned mode, void *cbdata) { struct walk_tree_context *walk_tree_ctx = cbdata; char *name; @@ -294,14 +292,13 @@ static void ls_tree(const struct object_id *oid, const char *path, struct walk_t } ls_head(); - read_tree_recursive(the_repository, tree, "", 0, 1, - &paths, ls_item, walk_tree_ctx); + read_tree(the_repository, tree, &paths, ls_item, walk_tree_ctx); ls_tail(); } static int walk_tree(const struct object_id *oid, struct strbuf *base, - const char *pathname, unsigned mode, int stage, void *cbdata) + const char *pathname, unsigned mode, void *cbdata) { struct walk_tree_context *walk_tree_ctx = cbdata; @@ -326,7 +323,7 @@ static int walk_tree(const struct object_id *oid, struct strbuf *base, return 0; } } - ls_item(oid, base, pathname, mode, stage, walk_tree_ctx); + ls_item(oid, base, pathname, mode, walk_tree_ctx); return 0; } @@ -374,10 +371,8 @@ void cgit_print_tree(const char *rev, char *path) goto cleanup; } - read_tree_recursive(the_repository, - repo_get_commit_tree(the_repository, commit), - "", 0, 0, - &paths, walk_tree, &walk_tree_ctx); + read_tree(the_repository, repo_get_commit_tree(the_repository, commit), + &paths, walk_tree, &walk_tree_ctx); if (walk_tree_ctx.state == 1) ls_tail(); else if (walk_tree_ctx.state == 2) -- cgit v1.2.3-24-g4f1b
    Author%sTotal
    0