commit 763859a
Michael Forney
·
2026-05-12 06:54:32 +0000 UTC
parent a96a5f0
git: Update to 2.54.0
12 files changed,
+75,
-135
+1,
-1
1@@ -39,7 +39,7 @@
2 [submodule "pkg/git/src"]
3 path = pkg/git/src
4 url = https://github.com/git/git
5- ignore = all
6+ ignore = untracked
7 [submodule "pkg/kiss/src"]
8 path = pkg/kiss/src
9 url = https://codeberg.org/kiss-community/kiss
+1,
-1
1@@ -7,7 +7,7 @@
2 /byacc-20260126.tgz
3 /cacert.pem
4 /flex-2.6.4.tar.gz
5-/git-manpages-2.49.0.tar.gz
6+/git-manpages-2.54.0.tar.gz
7 /hyx-2026.01.11.tar.xz
8 /kbd-2.4.0.tar.gz
9 /less-643.tar.gz
+6,
-0
1@@ -42,6 +42,7 @@ git-describe.adoc
2 git-diagnose.adoc
3 git-diff-files.adoc
4 git-diff-index.adoc
5+git-diff-pairs.adoc
6 git-diff-tree.adoc
7 git-diff.adoc
8 git-difftool.adoc
9@@ -63,6 +64,7 @@ git-grep.adoc
10 git-gui.adoc
11 git-hash-object.adoc
12 git-help.adoc
13+git-history.adoc
14 git-hook.adoc
15 git-http-backend.adoc
16 git-http-fetch.adoc
17@@ -73,6 +75,7 @@ git-init-db.adoc
18 git-init.adoc
19 git-instaweb.adoc
20 git-interpret-trailers.adoc
21+git-last-modified.adoc
22 git-log.adoc
23 git-ls-files.adoc
24 git-ls-remote.adoc
25@@ -116,6 +119,7 @@ git-remote.adoc
26 git-repack.adoc
27 git-replace.adoc
28 git-replay.adoc
29+git-repo.adoc
30 git-request-pull.adoc
31 git-rerere.adoc
32 git-reset.adoc
33@@ -168,6 +172,7 @@ gitcli.adoc
34 gitcore-tutorial.adoc
35 gitcredentials.adoc
36 gitcvs-migration.adoc
37+gitdatamodel.adoc
38 gitdiffcore.adoc
39 giteveryday.adoc
40 gitfaq.adoc
41@@ -175,6 +180,7 @@ gitformat-bundle.adoc
42 gitformat-chunk.adoc
43 gitformat-commit-graph.adoc
44 gitformat-index.adoc
45+gitformat-loose.adoc
46 gitformat-pack.adoc
47 gitformat-signature.adoc
48 gitglossary.adoc
+3,
-2
1@@ -7,16 +7,17 @@
2 #define GIT_HOST_CPU "unknown"
3 #define GIT_HTML_PATH "share/doc/git-doc"
4 #define GIT_INFO_PATH "share/info"
5-#define GIT_LOCALE_PATH "/share/locale"
6+#define GIT_LOCALE_PATH "share/locale"
7 #define GIT_MAN_PATH "share/man"
8 #define HAVE_ALLOCA_H
9 #define HAVE_PATHS_H
10 #define HAVE_DEV_TTY
11 #define HAVE_CLOCK_GETTIME
12 #define HAVE_CLOCK_MONOTONIC
13-#define HAVE_SYNC_FILE_RANGE
14 #define HAVE_GETRANDOM
15 #define HAVE_GETDELIM
16+#define HAVE_SYNC_FILE_RANGE
17+#define HAVE_SYSINFO
18 #define NO_GETTEXT
19 #define NO_OPENSSL
20 #define NO_SYS_POLL_H
+2,
-0
1@@ -41,6 +41,7 @@ config/grep.adoc
2 config/gui.adoc
3 config/guitool.adoc
4 config/help.adoc
5+config/hook.adoc
6 config/http.adoc
7 config/i18n.adoc
8 config/imap.adoc
9@@ -71,6 +72,7 @@ config/reftable.adoc
10 config/remote.adoc
11 config/remotes.adoc
12 config/repack.adoc
13+config/replay.adoc
14 config/rerere.adoc
15 config/revert.adoc
16 config/safe.adoc
+52,
-43
1@@ -16,28 +16,28 @@ pkg.deps = {
2 'pkg/zlib/headers',
3 }
4
5-rule('cmdlist', '$srcdir/generate-cmdlist.sh $srcdir $out')
6+rule('cmdlist', '$srcdir/tools/generate-cmdlist.sh $srcdir $out')
7 build('cmdlist', '$outdir/command-list.h', {
8- '|', '$srcdir/generate-cmdlist.sh', '$srcdir/command-list.txt',
9+ '|', '$srcdir/tools/generate-cmdlist.sh', '$srcdir/command-list.txt',
10 expand{'$srcdir/Documentation/', lines('commands.txt')},
11 })
12
13-rule('configlist', '$srcdir/generate-configlist.sh $srcdir $out')
14+rule('configlist', '$srcdir/tools/generate-configlist.sh $srcdir $out')
15 build('configlist', '$outdir/config-list.h', {
16- '|', '$srcdir/generate-configlist.sh',
17+ '|', '$srcdir/tools/generate-configlist.sh',
18 expand{'$srcdir/Documentation/', lines('configs.txt')},
19 })
20
21-rule('hooklist', '$srcdir/generate-hooklist.sh $srcdir $out')
22+rule('hooklist', '$srcdir/tools/generate-hooklist.sh $srcdir $out')
23 build('hooklist', '$outdir/hook-list.h', {
24- '|', '$srcdir/generate-hooklist.sh', '$srcdir/Documentation/githooks.adoc'
25+ '|', '$srcdir/tools/generate-hooklist.sh', '$srcdir/Documentation/githooks.adoc'
26 })
27
28 build('sed', '$outdir/version-def.h', '$srcdir/version-def.h.in', {
29 expr={
30- [[-e 's,@GIT_VERSION@,2.49.0,']],
31+ [[-e 's,@GIT_VERSION@,2.54.0,']],
32 [[-e 's,@GIT_BUILT_FROM_COMMIT@,,']],
33- [[-e 's,@GIT_USER_AGENT@,git/2.49.0,']],
34+ [[-e 's,@GIT_USER_AGENT@,git/2.54.0,']],
35 },
36 })
37
38@@ -46,25 +46,6 @@ cc('common-main.c')
39 cc('http.c')
40 cc('compat/regex/regex.c', nil, {cflags='$cflags -DGAWK -DNO_MBSUPPORT'})
41
42--- src/Makefile:/^REFTABLE_OBJS.\+=
43-lib('libreftable.a', [[
44- reftable/(
45- basics.c
46- error.c
47- block.c
48- blocksource.c
49- iter.c
50- merged.c
51- pq.c
52- reader.c
53- record.c
54- stack.c
55- system.c
56- tree.c
57- writer.c
58- )
59-]])
60-
61 -- src/Makefile:/^LIB_OBJS.\+=
62 lib('libgit.a', [[
63 abspath.c
64@@ -84,7 +65,6 @@ lib('libgit.a', [[
65 blob.c
66 bloom.c
67 branch.c
68- bulk-checkin.c
69 bundle-uri.c
70 bundle.c
71 cache-tree.c
72@@ -102,9 +82,11 @@ lib('libgit.a', [[
73 common-init.c
74 compat/nonblock.c
75 compat/obstack.c
76+ compat/open.c
77 compat/qsort_s.c
78 compat/regex/regex.c.o
79 compat/terminal.c
80+ compiler-tricks/not-constant.c
81 config.c
82 connect.c
83 connected.c
84@@ -151,6 +133,7 @@ lib('libgit.a', [[
85 graph.c
86 grep.c
87 hash-lookup.c
88+ hash.c
89 hashmap.c
90 help.c
91 hex-ll.c
92@@ -178,7 +161,6 @@ lib('libgit.a', [[
93 merge-ll.c
94 merge-ort.c
95 merge-ort-wrappers.c
96- merge-recursive.c
97 merge.c
98 midx.c
99 midx-write.c
100@@ -194,6 +176,10 @@ lib('libgit.a', [[
101 object-file.c
102 object-name.c
103 object.c
104+ odb.c
105+ odb/source.c
106+ odb/source-files.c
107+ odb/streaming.c
108 oid-array.c
109 oidmap.c
110 oidset.c
111@@ -203,6 +189,7 @@ lib('libgit.a', [[
112 pack-check.c
113 pack-mtimes.c
114 pack-objects.c
115+ pack-refs.c
116 pack-revindex.c
117 pack-write.c
118 packfile.c
119@@ -244,8 +231,31 @@ lib('libgit.a', [[
120 refs/packed-backend.c
121 refs/ref-cache.c
122 refspec.c
123+ reftable/(
124+ basics.c
125+ block.c
126+ blocksource.c
127+ error.c
128+ fsck.c
129+ iter.c
130+ merged.c
131+ pq.c
132+ record.c
133+ stack.c
134+ system.c
135+ table.c
136+ tree.c
137+ writer.c
138+ )
139 remote.c
140+ repack.c
141+ repack-cruft.c
142+ repack-filtered.c
143+ repack-geometry.c
144+ repack-midx.c
145+ repack-promisor.c
146 replace-object.c
147+ replay.c
148 repo-settings.c
149 repository.c
150 rerere.c
151@@ -266,7 +276,6 @@ lib('libgit.a', [[
152 stable-qsort.c
153 statinfo.c
154 strbuf.c
155- streaming.c
156 string-list.c
157 strmap.c
158 strvec.c
159@@ -318,6 +327,15 @@ lib('libgit.a', [[
160 ws.c
161 wt-status.c
162 xdiff-interface.c
163+ xdiff/(
164+ xdiffi.c
165+ xemit.c
166+ xhistogram.c
167+ xmerge.c
168+ xpatience.c
169+ xprepare.c
170+ xutils.c
171+ )
172
173 unix-socket.c
174 unix-stream-server.c
175@@ -332,22 +350,9 @@ lib('libgit.a', [[
176
177 compat/linux/procinfo.c
178
179- libxdiff.a
180- libreftable.a
181 $builddir/pkg/zlib/libz.a
182 ]])
183
184--- src/Makefile:/^XDIFF_OBJS.\+=
185-lib('libxdiff.a', [[xdiff/(
186- xdiffi.c
187- xemit.c
188- xhistogram.c
189- xmerge.c
190- xpatience.c
191- xprepare.c
192- xutils.c
193-)]])
194-
195 -- src/Makefile:/^BUILTIN_OBJS.\+=
196 local builtins = {
197 'add',
198@@ -385,6 +390,7 @@ local builtins = {
199 'diagnose',
200 'diff-files',
201 'diff-index',
202+ 'diff-pairs',
203 'diff-tree',
204 'diff',
205 'difftool',
206@@ -402,10 +408,12 @@ local builtins = {
207 'grep',
208 'hash-object',
209 'help',
210+ 'history',
211 'hook',
212 'index-pack',
213 'init-db',
214 'interpret-trailers',
215+ 'last-modified',
216 'log',
217 'ls-files',
218 'ls-remote',
219@@ -445,6 +453,7 @@ local builtins = {
220 'repack',
221 'replace',
222 'replay',
223+ 'repo',
224 'rerere',
225 'reset',
226 'rev-list',
+6,
-0
1@@ -41,6 +41,7 @@ man1/git-describe.1
2 man1/git-diagnose.1
3 man1/git-diff-files.1
4 man1/git-diff-index.1
5+man1/git-diff-pairs.1
6 man1/git-diff-tree.1
7 man1/git-diff.1
8 man1/git-difftool.1
9@@ -62,6 +63,7 @@ man1/git-grep.1
10 man1/git-gui.1
11 man1/git-hash-object.1
12 man1/git-help.1
13+man1/git-history.1
14 man1/git-hook.1
15 man1/git-http-backend.1
16 man1/git-http-fetch.1
17@@ -72,6 +74,7 @@ man1/git-init-db.1
18 man1/git-init.1
19 man1/git-instaweb.1
20 man1/git-interpret-trailers.1
21+man1/git-last-modified.1
22 man1/git-log.1
23 man1/git-ls-files.1
24 man1/git-ls-remote.1
25@@ -115,6 +118,7 @@ man1/git-remote.1
26 man1/git-repack.1
27 man1/git-replace.1
28 man1/git-replay.1
29+man1/git-repo.1
30 man1/git-request-pull.1
31 man1/git-rerere.1
32 man1/git-reset.1
33@@ -169,6 +173,7 @@ man5/gitformat-bundle.5
34 man5/gitformat-chunk.5
35 man5/gitformat-commit-graph.5
36 man5/gitformat-index.5
37+man5/gitformat-loose.5
38 man5/gitformat-pack.5
39 man5/gitformat-signature.5
40 man5/githooks.5
41@@ -186,6 +191,7 @@ man7/gitcli.7
42 man7/gitcore-tutorial.7
43 man7/gitcredentials.7
44 man7/gitcvs-migration.7
45+man7/gitdatamodel.7
46 man7/gitdiffcore.7
47 man7/giteveryday.7
48 man7/gitfaq.7
1@@ -1,84 +0,0 @@
2-From 742272838f08fa1b9fe47ef842253ac84a502ee7 Mon Sep 17 00:00:00 2001
3-From: Michael Forney <mforney@mforney.org>
4-Date: Tue, 16 Mar 2021 17:21:31 -0700
5-Subject: [PATCH] request-pull: use awk instead of perl to parse ls-remote
6- output
7-
8----
9- git-request-pull.sh | 48 +++++++++++++++++++++++++++------------------
10- 1 file changed, 29 insertions(+), 19 deletions(-)
11-
12-diff --git a/git-request-pull.sh b/git-request-pull.sh
13-index 775ba8ea11..a7177c5e1c 100755
14---- a/git-request-pull.sh
15-+++ b/git-request-pull.sh
16-@@ -82,37 +82,47 @@ die "fatal: No commits in common between $base and $head"
17- # Find a ref with the same name as $head that exists at the remote
18- # and points to the same commit as the local object.
19- find_matching_ref='
20-- my ($head,$headrev) = (@ARGV);
21-- my $pattern = qr{/\Q$head\E$};
22-- my ($remote_sha1, $found);
23-+ function endswith(s, t) {
24-+ n = length(s)
25-+ m = length(t)
26-+ return m <= n && substr(s, n - m + 1) == t
27-+ }
28-
29-- while (<STDIN>) {
30-- chomp;
31-- my ($sha1, $ref, $deref) = /^(\S+)\s+([^^]+)(\S*)$/;
32-+ {
33-+ sha1 = $1
34-+ ref = $2
35-
36-- if ($sha1 eq $head) {
37-- $found = $remote_sha1 = $sha1;
38-- break;
39-+ if (sha1 == head) {
40-+ found = remote_sha1 = sha1
41-+ exit
42- }
43-
44-- if ($ref eq $head || $ref =~ $pattern) {
45-- if ($deref eq "") {
46-+ deref = index(ref, "^")
47-+ if (deref)
48-+ ref = substr(ref, 1, deref - 1)
49-+
50-+ if (ref == head || endswith(ref, "/" head)) {
51-+ if (!deref) {
52- # Remember the matching object on the remote side
53-- $remote_sha1 = $sha1;
54-+ remote_sha1 = sha1
55- }
56-- if ($sha1 eq $headrev) {
57-- $found = $ref;
58-- break;
59-+ if (sha1 == headrev) {
60-+ found = ref
61-+ exit
62- }
63- }
64- }
65-- if ($found) {
66-- $remote_sha1 = $headrev if ! defined $remote_sha1;
67-- print "$remote_sha1 $found\n";
68-+
69-+ END {
70-+ if (found) {
71-+ if (!remote_sha1)
72-+ remote_sha1 = headrev
73-+ print remote_sha1 " " found
74-+ }
75- }
76- '
77-
78--set fnord $(git ls-remote "$url" | @PERL_PATH@ -e "$find_matching_ref" "${remote:-HEAD}" "$headrev")
79-+set fnord $(git ls-remote "$url" | awk -v "head=${remote:-HEAD}" -v "headrev=$headrev" "$find_matching_ref")
80- remote_sha1=$2
81- ref=$3
82-
83---
84-2.45.2
85-
+1,
-1
1@@ -1 +1 @@
2-b561252841ead1e32d87dbec8f257399ea08f759c98df62c3bafa5a658f2f8ac git-manpages-2.49.0.tar.gz
3+2d0950c3dd3346f1072e5791ac308961639828f2b6ba91927e64fed97a1bd550 git-manpages-2.54.0.tar.gz
+1,
-1
1@@ -1 +1 @@
2-Subproject commit 683c54c999c301c2cd6f715c411407c413b1d84e
3+Subproject commit 94f057755b7941b321fd11fec1b2e3ca5313a4e0
+1,
-1
1@@ -1 +1 @@
2-url = "https://www.kernel.org/pub/software/scm/git/git-manpages-2.49.0.tar.gz"
3+url = "https://www.kernel.org/pub/software/scm/git/git-manpages-2.54.0.tar.gz"
+1,
-1
1@@ -1 +1 @@
2-2.49.0 r0
3+2.54.0 r0