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
+0, -84
 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