diff options
| author | 2026-02-27 16:51:11 +0100 | |
|---|---|---|
| committer | 2026-05-21 15:31:21 +0200 | |
| commit | c9f91124f9462d8eeb0a9d2ddeff586807413fc0 (patch) | |
| tree | 19a7c566234b453f55099c9b4461e692a0b77d22 | |
| parent | ui-shared: add "this commit" option to switch form (diff) | |
| download | cgit-ch/for-jason.tar.xz cgit-ch/for-jason.zip | |
cgit: Fix guessing default branchch/for-jason
Even when HEAD is set to "main" in a repository, cgit still uses the
"master" branch to detect the age of the last commit.
Example:
$ cat repositories/openwrt/openwrt.git/HEAD
ref: refs/heads/main
$ stat repositories/openwrt/openwrt.git/refs/heads/master
Modify: 2024-02-22 23:00:01.285731731 +0000
$ stat repositories/openwrt/openwrt.git/refs/heads/main
Modify: 2026-02-27 15:33:49.506017172 +0000
In this situation, cgit displays "25 months" for this repository on the index page.
I guess the internal format for HEAD has changed at some point, so it
needs to be taken into account when parsing it in cgit.
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
| -rw-r--r-- | cgit.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -496,7 +496,7 @@ static char *guess_defbranch(void) ref = refs_resolve_ref_unsafe(get_main_ref_store(the_repository), "HEAD", 0, &oid, NULL); - if (!ref || !skip_prefix(ref, "refs/heads/", &refname)) + if (!ref || !skip_prefix(ref, "ref: refs/heads/", &refname)) return "master"; return xstrdup(refname); } |
