opkg

statically linked package installer
git clone anongit@rnpnr.xyz:opkg.git
Log | Files | Refs | Feed | Submodules | README | LICENSE

Commit: e0d768747aab917aef62d5d93a24e3c6c55aa28a
Parent: e1366ef138d294b5bda663f56ed1ad4601180eff
Author: Michael Forney
Date:   Mon, 11 May 2026 23:54:32 -0700

git: Update to 2.54.0

Diffstat:
M.gitmodules | 2+-
Mdist/.gitignore | 2+-
Mpkg/git/commands.txt | 6++++++
Mpkg/git/config.h | 3++-
Mpkg/git/configs.txt | 2++
Mpkg/git/gen.lua | 99+++++++++++++++++++++++++++++++++++++++++++------------------------------------
Mpkg/git/man.txt | 6++++++
Dpkg/git/patch/0001-request-pull-use-awk-instead-of-perl-to-parse-ls-rem.patch | 84-------------------------------------------------------------------------------
Mpkg/git/sha256 | 2+-
Mpkg/git/url | 2+-
Mpkg/git/ver | 2+-
11 files changed, 75 insertions(+), 135 deletions(-)

diff --git a/.gitmodules b/.gitmodules @@ -20,7 +20,7 @@ [submodule "pkg/git/src"] path = pkg/git/src url = https://github.com/git/git.git - ignore = all + ignore = untracked [submodule "pkg/libevent/src"] path = pkg/libevent/src url = https://github.com/libevent/libevent.git diff --git a/dist/.gitignore b/dist/.gitignore @@ -1,5 +1,5 @@ /curl-8.14.1.tar.gz -/git-manpages-2.49.0.tar.gz +/git-manpages-2.54.0.tar.gz /hyx-2026.01.11.tar.xz /less-643.tar.gz /linux-7.0.tar.xz diff --git a/pkg/git/commands.txt b/pkg/git/commands.txt @@ -42,6 +42,7 @@ git-describe.adoc git-diagnose.adoc git-diff-files.adoc git-diff-index.adoc +git-diff-pairs.adoc git-diff-tree.adoc git-diff.adoc git-difftool.adoc @@ -63,6 +64,7 @@ git-grep.adoc git-gui.adoc git-hash-object.adoc git-help.adoc +git-history.adoc git-hook.adoc git-http-backend.adoc git-http-fetch.adoc @@ -73,6 +75,7 @@ git-init-db.adoc git-init.adoc git-instaweb.adoc git-interpret-trailers.adoc +git-last-modified.adoc git-log.adoc git-ls-files.adoc git-ls-remote.adoc @@ -116,6 +119,7 @@ git-remote.adoc git-repack.adoc git-replace.adoc git-replay.adoc +git-repo.adoc git-request-pull.adoc git-rerere.adoc git-reset.adoc @@ -168,6 +172,7 @@ gitcli.adoc gitcore-tutorial.adoc gitcredentials.adoc gitcvs-migration.adoc +gitdatamodel.adoc gitdiffcore.adoc giteveryday.adoc gitfaq.adoc @@ -175,6 +180,7 @@ gitformat-bundle.adoc gitformat-chunk.adoc gitformat-commit-graph.adoc gitformat-index.adoc +gitformat-loose.adoc gitformat-pack.adoc gitformat-signature.adoc gitglossary.adoc diff --git a/pkg/git/config.h b/pkg/git/config.h @@ -14,9 +14,10 @@ #define HAVE_DEV_TTY #define HAVE_CLOCK_GETTIME #define HAVE_CLOCK_MONOTONIC -#define HAVE_SYNC_FILE_RANGE #define HAVE_GETRANDOM #define HAVE_GETDELIM +#define HAVE_SYNC_FILE_RANGE +#define HAVE_SYSINFO #define NO_GETTEXT #define NO_OPENSSL #define NO_SYS_POLL_H diff --git a/pkg/git/configs.txt b/pkg/git/configs.txt @@ -41,6 +41,7 @@ config/grep.adoc config/gui.adoc config/guitool.adoc config/help.adoc +config/hook.adoc config/http.adoc config/i18n.adoc config/imap.adoc @@ -71,6 +72,7 @@ config/reftable.adoc config/remote.adoc config/remotes.adoc config/repack.adoc +config/replay.adoc config/rerere.adoc config/revert.adoc config/safe.adoc diff --git a/pkg/git/gen.lua b/pkg/git/gen.lua @@ -1,11 +1,11 @@ -cflags({ +cflags{ '-include $dir/config.h', '-I $srcdir', '-I $srcdir/compat/regex', '-I $outdir', '-isystem $builddir/pkg/curl/include', '-isystem $builddir/pkg/zlib/include', -}) +} pkg.deps = { '$outdir/version-def.h', @@ -16,28 +16,28 @@ pkg.deps = { 'pkg/zlib/headers', } -rule('cmdlist', '$srcdir/generate-cmdlist.sh $srcdir $out') +rule('cmdlist', '$srcdir/tools/generate-cmdlist.sh $srcdir $out') build('cmdlist', '$outdir/command-list.h', { - '|', '$srcdir/generate-cmdlist.sh', '$srcdir/command-list.txt', + '|', '$srcdir/tools/generate-cmdlist.sh', '$srcdir/command-list.txt', expand({'$srcdir/Documentation/', lines('commands.txt')}), }) -rule('configlist', '$srcdir/generate-configlist.sh $srcdir $out') +rule('configlist', '$srcdir/tools/generate-configlist.sh $srcdir $out') build('configlist', '$outdir/config-list.h', { - '|', '$srcdir/generate-configlist.sh', + '|', '$srcdir/tools/generate-configlist.sh', expand({'$srcdir/Documentation/', lines('configs.txt')}), }) -rule('hooklist', '$srcdir/generate-hooklist.sh $srcdir $out') +rule('hooklist', '$srcdir/tools/generate-hooklist.sh $srcdir $out') build('hooklist', '$outdir/hook-list.h', { - '|', '$srcdir/generate-hooklist.sh', '$srcdir/Documentation/githooks.adoc' + '|', '$srcdir/tools/generate-hooklist.sh', '$srcdir/Documentation/githooks.adoc' }) build('sed', '$outdir/version-def.h', '$srcdir/version-def.h.in', { expr={ - [[-e 's,@GIT_VERSION@,2.49.0,']], + [[-e 's,@GIT_VERSION@,2.54.0,']], [[-e 's,@GIT_BUILT_FROM_COMMIT@,,']], - [[-e 's,@GIT_USER_AGENT@,git/2.49.0,']], + [[-e 's,@GIT_USER_AGENT@,git/2.54.0,']], }, }) @@ -46,25 +46,6 @@ cc('common-main.c') cc('http.c') cc('compat/regex/regex.c', nil, {cflags='$cflags -DGAWK -DNO_MBSUPPORT'}) --- src/Makefile:/^REFTABLE_OBJS.\+= -lib('libreftable.a', [[ - reftable/( - basics.c - error.c - block.c - blocksource.c - iter.c - merged.c - pq.c - reader.c - record.c - stack.c - system.c - tree.c - writer.c - ) -]]) - -- src/Makefile:/^LIB_OBJS.\+= lib('libgit.a', [[ abspath.c @@ -84,7 +65,6 @@ lib('libgit.a', [[ blob.c bloom.c branch.c - bulk-checkin.c bundle-uri.c bundle.c cache-tree.c @@ -102,9 +82,11 @@ lib('libgit.a', [[ common-init.c compat/nonblock.c compat/obstack.c + compat/open.c compat/qsort_s.c compat/regex/regex.c.o compat/terminal.c + compiler-tricks/not-constant.c config.c connect.c connected.c @@ -151,6 +133,7 @@ lib('libgit.a', [[ graph.c grep.c hash-lookup.c + hash.c hashmap.c help.c hex-ll.c @@ -178,7 +161,6 @@ lib('libgit.a', [[ merge-ll.c merge-ort.c merge-ort-wrappers.c - merge-recursive.c merge.c midx.c midx-write.c @@ -194,6 +176,10 @@ lib('libgit.a', [[ object-file.c object-name.c object.c + odb.c + odb/source.c + odb/source-files.c + odb/streaming.c oid-array.c oidmap.c oidset.c @@ -203,6 +189,7 @@ lib('libgit.a', [[ pack-check.c pack-mtimes.c pack-objects.c + pack-refs.c pack-revindex.c pack-write.c packfile.c @@ -244,8 +231,31 @@ lib('libgit.a', [[ refs/packed-backend.c refs/ref-cache.c refspec.c + reftable/( + basics.c + block.c + blocksource.c + error.c + fsck.c + iter.c + merged.c + pq.c + record.c + stack.c + system.c + table.c + tree.c + writer.c + ) remote.c + repack.c + repack-cruft.c + repack-filtered.c + repack-geometry.c + repack-midx.c + repack-promisor.c replace-object.c + replay.c repo-settings.c repository.c rerere.c @@ -266,7 +276,6 @@ lib('libgit.a', [[ stable-qsort.c statinfo.c strbuf.c - streaming.c string-list.c strmap.c strvec.c @@ -318,6 +327,15 @@ lib('libgit.a', [[ ws.c wt-status.c xdiff-interface.c + xdiff/( + xdiffi.c + xemit.c + xhistogram.c + xmerge.c + xpatience.c + xprepare.c + xutils.c + ) unix-socket.c unix-stream-server.c @@ -332,22 +350,9 @@ lib('libgit.a', [[ compat/linux/procinfo.c - libxdiff.a - libreftable.a $builddir/pkg/zlib/libz.a ]]) --- src/Makefile:/^XDIFF_OBJS.\+= -lib('libxdiff.a', [[xdiff/( - xdiffi.c - xemit.c - xhistogram.c - xmerge.c - xpatience.c - xprepare.c - xutils.c -)]]) - -- src/Makefile:/^BUILTIN_OBJS.\+= local builtins = { 'add', @@ -385,6 +390,7 @@ local builtins = { 'diagnose', 'diff-files', 'diff-index', + 'diff-pairs', 'diff-tree', 'diff', 'difftool', @@ -402,10 +408,12 @@ local builtins = { 'grep', 'hash-object', 'help', + 'history', 'hook', 'index-pack', 'init-db', 'interpret-trailers', + 'last-modified', 'log', 'ls-files', 'ls-remote', @@ -445,6 +453,7 @@ local builtins = { 'repack', 'replace', 'replay', + 'repo', 'rerere', 'reset', 'rev-list', diff --git a/pkg/git/man.txt b/pkg/git/man.txt @@ -41,6 +41,7 @@ man1/git-describe.1 man1/git-diagnose.1 man1/git-diff-files.1 man1/git-diff-index.1 +man1/git-diff-pairs.1 man1/git-diff-tree.1 man1/git-diff.1 man1/git-difftool.1 @@ -62,6 +63,7 @@ man1/git-grep.1 man1/git-gui.1 man1/git-hash-object.1 man1/git-help.1 +man1/git-history.1 man1/git-hook.1 man1/git-http-backend.1 man1/git-http-fetch.1 @@ -72,6 +74,7 @@ man1/git-init-db.1 man1/git-init.1 man1/git-instaweb.1 man1/git-interpret-trailers.1 +man1/git-last-modified.1 man1/git-log.1 man1/git-ls-files.1 man1/git-ls-remote.1 @@ -115,6 +118,7 @@ man1/git-remote.1 man1/git-repack.1 man1/git-replace.1 man1/git-replay.1 +man1/git-repo.1 man1/git-request-pull.1 man1/git-rerere.1 man1/git-reset.1 @@ -169,6 +173,7 @@ man5/gitformat-bundle.5 man5/gitformat-chunk.5 man5/gitformat-commit-graph.5 man5/gitformat-index.5 +man5/gitformat-loose.5 man5/gitformat-pack.5 man5/gitformat-signature.5 man5/githooks.5 @@ -186,6 +191,7 @@ man7/gitcli.7 man7/gitcore-tutorial.7 man7/gitcredentials.7 man7/gitcvs-migration.7 +man7/gitdatamodel.7 man7/gitdiffcore.7 man7/giteveryday.7 man7/gitfaq.7 diff --git a/pkg/git/patch/0001-request-pull-use-awk-instead-of-perl-to-parse-ls-rem.patch b/pkg/git/patch/0001-request-pull-use-awk-instead-of-perl-to-parse-ls-rem.patch @@ -1,84 +0,0 @@ -From 742272838f08fa1b9fe47ef842253ac84a502ee7 Mon Sep 17 00:00:00 2001 -From: Michael Forney <mforney@mforney.org> -Date: Tue, 16 Mar 2021 17:21:31 -0700 -Subject: [PATCH] request-pull: use awk instead of perl to parse ls-remote - output - ---- - git-request-pull.sh | 48 +++++++++++++++++++++++++++------------------ - 1 file changed, 29 insertions(+), 19 deletions(-) - -diff --git a/git-request-pull.sh b/git-request-pull.sh -index 775ba8ea11..a7177c5e1c 100755 ---- a/git-request-pull.sh -+++ b/git-request-pull.sh -@@ -82,37 +82,47 @@ die "fatal: No commits in common between $base and $head" - # Find a ref with the same name as $head that exists at the remote - # and points to the same commit as the local object. - find_matching_ref=' -- my ($head,$headrev) = (@ARGV); -- my $pattern = qr{/\Q$head\E$}; -- my ($remote_sha1, $found); -+ function endswith(s, t) { -+ n = length(s) -+ m = length(t) -+ return m <= n && substr(s, n - m + 1) == t -+ } - -- while (<STDIN>) { -- chomp; -- my ($sha1, $ref, $deref) = /^(\S+)\s+([^^]+)(\S*)$/; -+ { -+ sha1 = $1 -+ ref = $2 - -- if ($sha1 eq $head) { -- $found = $remote_sha1 = $sha1; -- break; -+ if (sha1 == head) { -+ found = remote_sha1 = sha1 -+ exit - } - -- if ($ref eq $head || $ref =~ $pattern) { -- if ($deref eq "") { -+ deref = index(ref, "^") -+ if (deref) -+ ref = substr(ref, 1, deref - 1) -+ -+ if (ref == head || endswith(ref, "/" head)) { -+ if (!deref) { - # Remember the matching object on the remote side -- $remote_sha1 = $sha1; -+ remote_sha1 = sha1 - } -- if ($sha1 eq $headrev) { -- $found = $ref; -- break; -+ if (sha1 == headrev) { -+ found = ref -+ exit - } - } - } -- if ($found) { -- $remote_sha1 = $headrev if ! defined $remote_sha1; -- print "$remote_sha1 $found\n"; -+ -+ END { -+ if (found) { -+ if (!remote_sha1) -+ remote_sha1 = headrev -+ print remote_sha1 " " found -+ } - } - ' - --set fnord $(git ls-remote "$url" | @PERL_PATH@ -e "$find_matching_ref" "${remote:-HEAD}" "$headrev") -+set fnord $(git ls-remote "$url" | awk -v "head=${remote:-HEAD}" -v "headrev=$headrev" "$find_matching_ref") - remote_sha1=$2 - ref=$3 - --- -2.45.2 - diff --git a/pkg/git/sha256 b/pkg/git/sha256 @@ -1 +1 @@ -b561252841ead1e32d87dbec8f257399ea08f759c98df62c3bafa5a658f2f8ac git-manpages-2.49.0.tar.gz +2d0950c3dd3346f1072e5791ac308961639828f2b6ba91927e64fed97a1bd550 git-manpages-2.54.0.tar.gz diff --git a/pkg/git/url b/pkg/git/url @@ -1 +1 @@ -url = "https://www.kernel.org/pub/software/scm/git/git-manpages-2.49.0.tar.gz" +url = "https://www.kernel.org/pub/software/scm/git/git-manpages-2.54.0.tar.gz" diff --git a/pkg/git/ver b/pkg/git/ver @@ -1 +1 @@ -2.49.0 r0 +2.54.0 r0