git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re* [PATCH] Fix `git fetch --tags` in repo with no configured remote

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 6, 2024, 08:08 UTC
Message-ID
<xmqqcyi5xmhr.fsf@gitster.g>
In-Reply-To
<xmqqcyi5zdzb.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
Show 21 quoted lines
> Stepping back a bit, do we even need to learn where HEAD points at
> in the remote, when we are not doing the "opportunistically set
> $REMOTE/HEAD"?  Your example is "in repo with no configured remote",
> which by definition means that we do not use any refs/remotes/*/ ref
> hierarchy to keep track of the remote-tracking branches for the
> remote we are fetching from.  There is no place we record what we
> learn by running ls-remote HEAD against them, so should we even push
> "HEAD" to the ls-remote prefixes in such a case?
>
> While this change may hide the breakage you saw in your set-up, we
> may be now asking to ls-remote HEAD even in cases we do not need to.
>
>> Fix this by adding HEAD to the ref_prefixes list prior to handling the
>> `--tags` flag, and removing the now obsolete check whether ref_prefixes
>> is empty or not.
>
> And if we unconditionally add HEAD even when we do not need to,
> especially with the loss of the ref-prefixes condition that was
> there in order to implement "learn refs/tags/* hierarchy only when
> we are doing the default fetch", wouldn't it mean we may learn
> refs/tags/* even when we do not have to?

In other words, what I think the "fix" should look like is more like the attached. It seems to pass your test, as well as existing tests Bence added and other tests about "git fetch".

One thing I am not happy about is the abstraction violation that is needed to make the uses_remote_tracking() helper aware of the "use the rs, the refspec given from the command line, or if it is empty, use the configured 'fetch' refspec from the remote" rule, which is primarily used by get_ref_map() that is much later called, but the layering violation started when we started limiting the ls-remote request with narrowing common prefixes, and it would take a larger surgery to fix, I would think.

---- >8 ----
Subject: [PATCH] fetch: do not ask for HEAD unnecessarily

In 3f763ddf28 (fetch: set remote/HEAD if it does not exist, 2024-11-22), git-fetch learned to opportunistically set $REMOTE/HEAD when fetching by always asking for remote HEAD, in the hope that it will help setting refs/remotes/<name>/HEAD if missing.

But it is not needed to always ask for remote HEAD. When we are fetching from a remote, for which we have remote-tracking branches, we do need to know about HEAD. But if we are doing one-shot fetch, e.g.,

  $ git fetch --tags https://github.com/git/git

we do not even know what sub-hierarchy of refs/remotes/<remote>/ we need to adjust the remote HEAD for. There is no need to ask for HEAD in such a case.

Incidentally, because the unconditional request to list "HEAD" affected the number of ref-prefixes requested in the ls-remote request, this affected how the requests for tags are added to the same ls-remote request, breaking "git fetch --tags $URL" performed against a URL that is not configured as a remote.

Reported-by: Josh Steadmon <steadmon@google.com>
[jc: tests are also borrowed from Josh's patch]
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 * Even though I borrowed some part of the commit log message from
   Josh's version, it not clear to me how "*after* deciding" led to
   whatever the observed breakage (which was not described in the
   log message), in the following part.
      Specifically, we now unconditionally add HEAD to the
      ref_prefixes list, but we did this *after* deciding whether we
      also need to explicitly request tags.
   Bence's change asks "HEAD" after "if we are fetching something,
   then also ask about refs/tags/" logic thought we are not fetching
   anything (i.e. ref_prefixes.nr == 0 at that point).  But before
   Bence's series, the same refs/tags/ logic saw that (ref_prefix.nr
   == 0), didn't it?  So that does not sound like a sufficient
   explanation on how the series regressed.
---
 builtin/fetch.c  | 20 +++++++++++++++++++-
 t/t5510-fetch.sh | 17 +++++++++++++++++
 2 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/builtin/fetch.c b/builtin/fetch.c
index a64de4485f..3eb6f3acc9 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -1643,6 +1643,21 @@ static int set_head(const struct ref *remote_refs)
 	return result;
 }
 
+static int uses_remote_tracking(struct transport *transport, struct refspec *rs)
+{
+	if (!remote_is_configured(transport->remote, 0))
+		return 0;
+
+	if (!rs->nr)
+		rs = &transport->remote->fetch;
+
+	for (int i = 0; i < rs->nr; i++)
+		if (rs->items[i].dst)
+			return 1;
+
+	return 0;
+}
+
 static int do_fetch(struct transport *transport,
 		    struct refspec *rs,
 		    const struct fetch_config *config)
@@ -1712,7 +1727,10 @@ static int do_fetch(struct transport *transport,
 				    "refs/tags/");
 	}
 
-	strvec_push(&transport_ls_refs_options.ref_prefixes, "HEAD");
+	if (uses_remote_tracking(transport, rs)) {
+		must_list_refs = 1;
+		strvec_push(&transport_ls_refs_options.ref_prefixes, "HEAD");
+	}
 
 	if (must_list_refs) {
 		trace2_region_enter("fetch", "remote_refs", the_repository);
diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh
index 87698341f5..d7602333ff 100755
--- a/t/t5510-fetch.sh
+++ b/t/t5510-fetch.sh
@@ -189,6 +189,23 @@ test_expect_success 'fetch --prune --tags with refspec prunes based on refspec'
 	git rev-parse sometag
 '
 
+test_expect_success 'fetch --tags gets tags even without a configured remote' '
+	REMOTE="$(pwd)/test_tag_1" &&
+	git init test_tag_1 &&
+	(
+		cd test_tag_1 &&
+		test_commit foo
+	) &&
+	git init test_tag_2 &&
+	(
+		cd test_tag_2 &&
+		git fetch --tags "file://$REMOTE" &&
+		echo "foo" >expect &&
+		git tag >actual &&
+		test_cmp expect actual
+	)
+'
+
 test_expect_success REFFILES 'fetch --prune fails to delete branches' '
 	cd "$D" &&
 	git clone . prune-fail &&
-- 
2.47.1-576-g9f8c8eb655
Previous: Junio C HamanoNext: Bence Ferdinandy
Message 210 of 258 in “set remote/HEAD with fetch”
  1. 0/2 set remote/HEAD with fetchBence Ferdinandy, Sep 10, 2024
  2. 1/2 fetch: set-head with --set-head optionBence Ferdinandy, Sep 10, 2024
  3. Junio C HamanoSep 10, 2024
  4. Bence FerdinandySep 11, 2024
  5. Junio C HamanoSep 11, 2024
  6. 0/2 fetch: set remote/HEAD if missingBence Ferdinandy, Sep 19, 2024
  7. 2/2 fetch: set remote/HEAD if it does not existBence Ferdinandy, Sep 19, 2024
  8. Junio C HamanoSep 19, 2024
  9. Bence FerdinandySep 20, 2024
  10. 1/2 update_symref: add REF_CREATE_ONLY optionBence Ferdinandy, Sep 19, 2024
  11. Junio C HamanoSep 19, 2024
  12. Bence FerdinandySep 20, 2024
  13. Phillip WoodSep 21, 2024
  14. Bence FerdinandySep 21, 2024
  15. Junio C HamanoSep 22, 2024
  16. Bence FerdinandySep 29, 2024
  17. Patrick SteinhardtSep 30, 2024
  18. Bence FerdinandySep 30, 2024
  19. 0/5 improve handling of remote/HEADBence Ferdinandy, Sep 30, 2024
  20. 1/5 refs_update_symref: atomically record overwritten refBence Ferdinandy, Sep 30, 2024
  21. Junio C HamanoOct 1, 2024
  22. 2/5 set-head: better output for --autoBence Ferdinandy, Sep 30, 2024
  23. Junio C HamanoOct 1, 2024
  24. 5/5 fetch: set remote/HEAD if it does not existBence Ferdinandy, Sep 30, 2024
  25. 3/5 transaction: add TRANSACTION_CREATE_EXISTS errorBence Ferdinandy, Sep 30, 2024
  26. 4/5 refs_update_symref: add create_only optionBence Ferdinandy, Sep 30, 2024
  27. Junio C HamanoOct 3, 2024
  28. Bence FerdinandyOct 3, 2024
  29. 1/6 refs_update_symref: atomically record overwritten refBence Ferdinandy, Oct 9, 2024
  30. 5/6 refs_update_symref: add create_only optionBence Ferdinandy, Oct 9, 2024
  31. Junio C HamanoOct 9, 2024
  32. 6/6 fetch: set remote/HEAD if it does not existBence Ferdinandy, Oct 9, 2024
  33. Junio C HamanoOct 9, 2024
  34. 1/6 refs_update_symref: atomically record overwritten refBence Ferdinandy, Oct 10, 2024
  35. 2/6 set-head: add new variable for readabilityBence Ferdinandy, Oct 10, 2024
  36. 4/6 transaction: add TRANSACTION_CREATE_EXISTS errorBence Ferdinandy, Oct 10, 2024
  37. karthik nayakOct 10, 2024
  38. Junio C HamanoOct 11, 2024
  39. 3/6 set-head: better output for --autoBence Ferdinandy, Oct 10, 2024
  40. karthik nayakOct 10, 2024
  41. Bence FerdinandyOct 11, 2024
  42. Junio C HamanoOct 11, 2024
  43. karthik nayakOct 11, 2024
  44. Bence FerdinandyOct 12, 2024
  45. karthik nayakOct 15, 2024
  46. Phillip WoodOct 15, 2024
  47. Bence FerdinandyOct 15, 2024
  48. 6/6 fetch: set remote/HEAD if it does not existBence Ferdinandy, Oct 10, 2024
  49. 5/6 refs_update_symref: add create_only optionBence Ferdinandy, Oct 10, 2024
  50. 1/6 refs: atomically record overwritten ref in update_symrefBence Ferdinandy, Oct 12, 2024
  51. 2/6 remote set-head: add new variable for readabilityBence Ferdinandy, Oct 12, 2024
  52. 4/6 refs: add TRANSACTION_CREATE_EXISTS errorBence Ferdinandy, Oct 12, 2024
  53. Phillip WoodOct 13, 2024
  54. Bence FerdinandyOct 13, 2024
  55. Phillip WoodOct 14, 2024
  56. 3/6 remote set-head: better output for --autoBence Ferdinandy, Oct 12, 2024
  57. 5/6 refs: add create_only option to refs_update_symrefBence Ferdinandy, Oct 12, 2024
  58. 6/6 fetch: set remote/HEAD if it does not existBence Ferdinandy, Oct 12, 2024
  59. Phillip WoodOct 13, 2024
  60. Bence FerdinandyOct 13, 2024
  61. Phillip WoodOct 15, 2024
  62. Bence FerdinandyOct 15, 2024
  63. Bence FerdinandyOct 19, 2024
  64. 0/6 set-head/fetch remote/HEAD updates, small change from v7Bence Ferdinandy, Oct 14, 2024
  65. 1/6 refs: atomically record overwritten ref in update_symrefBence Ferdinandy, Oct 14, 2024
  66. karthik nayakOct 15, 2024
  67. Bence FerdinandyOct 15, 2024
  68. 2/6 remote set-head: add new variable for readabilityBence Ferdinandy, Oct 14, 2024
  69. 4/6 refs: add TRANSACTION_CREATE_EXISTS errorBence Ferdinandy, Oct 14, 2024
  70. 5/6 refs: add create_only option to refs_update_symrefBence Ferdinandy, Oct 14, 2024
  71. 6/6 fetch: set remote/HEAD if it does not existBence Ferdinandy, Oct 14, 2024
  72. 3/6 remote set-head: better output for --autoBence Ferdinandy, Oct 14, 2024
  73. karthik nayakOct 15, 2024
  74. Bence FerdinandyOct 15, 2024
  75. Taylor BlauOct 16, 2024
  76. Bence FerdinandyOct 16, 2024
  77. Taylor BlauOct 16, 2024
  78. Bence FerdinandyOct 17, 2024
  79. 0/7 set-head/fetch remote/HEAD updatesBence Ferdinandy, Oct 19, 2024
  80. 1/7 t/t5505-remote: set default branch to mainBence Ferdinandy, Oct 19, 2024
  81. 2/7 refs: atomically record overwritten ref in update_symrefBence Ferdinandy, Oct 19, 2024
  82. 3/7 remote set-head: refactor for readabilityBence Ferdinandy, Oct 19, 2024
  83. 5/7 refs: add TRANSACTION_CREATE_EXISTS errorBence Ferdinandy, Oct 19, 2024
  84. 4/7 remote set-head: better output for --autoBence Ferdinandy, Oct 19, 2024
  85. 6/7 refs: add create_only option to refs_update_symref_extendedBence Ferdinandy, Oct 19, 2024
  86. 7/7 fetch: set remote/HEAD if it does not existBence Ferdinandy, Oct 19, 2024
  87. Bence FerdinandyOct 21, 2024
  88. 0/8 set-head/fetch remote/HEAD updatesBence Ferdinandy, Oct 22, 2024
  89. 1/8 t/t5505-remote: set default branch to mainBence Ferdinandy, Oct 22, 2024
  90. Kristoffer HaugsbakkOct 22, 2024
  91. Bence FerdinandyOct 22, 2024
  92. Taylor BlauOct 23, 2024
  93. Bence FerdinandyOct 23, 2024
  94. Taylor BlauOct 23, 2024
  95. 2/8 refs: atomically record overwritten ref in update_symrefBence Ferdinandy, Oct 22, 2024
  96. 4/8 remote set-head: better output for --autoBence Ferdinandy, Oct 22, 2024
  97. 5/8 refs: add TRANSACTION_CREATE_EXISTS errorBence Ferdinandy, Oct 22, 2024
  98. 6/8 refs: add create_only option to refs_update_symref_extendedBence Ferdinandy, Oct 22, 2024
  99. 7/8 fetch: set remote/HEAD if it does not existBence Ferdinandy, Oct 22, 2024
  100. 8/8 fetch set_head: handle mirrored bare repositoriesBence Ferdinandy, Oct 22, 2024
  101. 3/8 remote set-head: refactor for readabilityBence Ferdinandy, Oct 22, 2024
  102. 0/8 set-head/fetch remote/HEAD updatesBence Ferdinandy, Oct 23, 2024
  103. 1/8 t/t5505-remote: set default branch to mainBence Ferdinandy, Oct 23, 2024
  104. Junio C HamanoNov 15, 2024
  105. Bence FerdinandyNov 15, 2024
  106. 2/8 refs: atomically record overwritten ref in update_symrefBence Ferdinandy, Oct 23, 2024
  107. Junio C HamanoNov 15, 2024
  108. Bence FerdinandyNov 15, 2024
  109. Bence FerdinandyNov 15, 2024
  110. Junio C HamanoNov 16, 2024
  111. Bence FerdinandyNov 17, 2024
  112. Junio C HamanoNov 18, 2024
  113. Patrick SteinhardtNov 18, 2024
  114. Bence FerdinandyNov 18, 2024
  115. Patrick SteinhardtNov 18, 2024
  116. Bence FerdinandyNov 18, 2024
  117. 3/8 remote set-head: refactor for readabilityBence Ferdinandy, Oct 23, 2024
  118. Junio C HamanoNov 15, 2024
  119. 4/8 remote set-head: better output for --autoBence Ferdinandy, Oct 23, 2024
  120. Junio C HamanoNov 15, 2024
  121. Bence FerdinandyNov 15, 2024
  122. Bence FerdinandyNov 15, 2024
  123. Junio C HamanoNov 16, 2024
  124. Junio C HamanoNov 16, 2024
  125. Bence FerdinandyNov 16, 2024
  126. 5/8 refs: add TRANSACTION_CREATE_EXISTS errorBence Ferdinandy, Oct 23, 2024
  127. 6/8 refs: add create_only option to refs_update_symref_extendedBence Ferdinandy, Oct 23, 2024
  128. 8/8 fetch set_head: handle mirrored bare repositoriesBence Ferdinandy, Oct 23, 2024
  129. 7/8 fetch: set remote/HEAD if it does not existBence Ferdinandy, Oct 23, 2024
  130. Kristoffer HaugsbakkOct 23, 2024
  131. Bence FerdinandyOct 23, 2024
  132. Bence FerdinandyNov 14, 2024
  133. 0/9 set-head/fetch remote/HEAD updatesBence Ferdinandy, Nov 18, 2024
  134. 1/9 t/t5505-remote: set default branch to mainBence Ferdinandy, Nov 18, 2024
  135. Junio C HamanoNov 20, 2024
  136. 3/9 refs: atomically record overwritten ref in update_symrefBence Ferdinandy, Nov 18, 2024
  137. 2/9 refs: standardize output of refs_read_symbolic_refBence Ferdinandy, Nov 18, 2024
  138. Junio C HamanoNov 19, 2024
  139. Patrick SteinhardtNov 19, 2024
  140. Junio C HamanoNov 19, 2024
  141. Patrick SteinhardtNov 19, 2024
  142. Bence FerdinandyNov 19, 2024
  143. Junio C HamanoNov 19, 2024
  144. Bence FerdinandyNov 19, 2024
  145. Patrick SteinhardtNov 19, 2024
  146. Bence FerdinandyNov 19, 2024
  147. 5/9 remote set-head: better output for --autoBence Ferdinandy, Nov 18, 2024
  148. Junio C HamanoNov 19, 2024
  149. Bence FerdinandyNov 19, 2024
  150. Junio C HamanoNov 19, 2024
  151. Bence FerdinandyNov 19, 2024
  152. Bence FerdinandyNov 20, 2024
  153. Junio C HamanoNov 20, 2024
  154. 4/9 remote set-head: refactor for readabilityBence Ferdinandy, Nov 18, 2024
  155. 6/9 refs: add TRANSACTION_CREATE_EXISTS errorBence Ferdinandy, Nov 18, 2024
  156. 7/9 refs: add create_only option to refs_update_symref_extendedBence Ferdinandy, Nov 18, 2024
  157. Junio C HamanoNov 19, 2024
  158. 9/9 fetch set_head: handle mirrored bare repositoriesBence Ferdinandy, Nov 18, 2024
  159. 8/9 fetch: set remote/HEAD if it does not existBence Ferdinandy, Nov 18, 2024
  160. Junio C HamanoNov 19, 2024
  161. Bence FerdinandyNov 19, 2024
  162. Junio C HamanoNov 20, 2024
  163. Junio C HamanoNov 20, 2024
  164. Bence FerdinandyNov 20, 2024
  165. 00/10 set-head/fetch remote/HEAD updatesBence Ferdinandy, Nov 21, 2024
  166. 01/10 t/t5505-remote: set default branch to mainBence Ferdinandy, Nov 21, 2024
  167. 03/10 refs: standardize output of refs_read_symbolic_refBence Ferdinandy, Nov 21, 2024
  168. karthik nayakNov 22, 2024
  169. Bence FerdinandyNov 22, 2024
  170. Bence FerdinandyNov 22, 2024
  171. karthik nayakNov 22, 2024
  172. Bence FerdinandyNov 22, 2024
  173. Junio C HamanoNov 25, 2024
  174. Bence FerdinandyNov 26, 2024
  175. karthik nayakNov 26, 2024
  176. Junio C HamanoNov 26, 2024
  177. Bence FerdinandyNov 26, 2024
  178. Junio C HamanoNov 26, 2024
  179. Bence FerdinandyNov 26, 2024
  180. Bence FerdinandyNov 22, 2024
  181. 02/10 t/t5505-remote: test failure of set-headBence Ferdinandy, Nov 21, 2024
  182. Junio C HamanoNov 22, 2024
  183. 04/10 refs: atomically record overwritten ref in update_symrefBence Ferdinandy, Nov 21, 2024
  184. 05/10 remote set-head: refactor for readabilityBence Ferdinandy, Nov 21, 2024
  185. 07/10 refs: add TRANSACTION_CREATE_EXISTS errorBence Ferdinandy, Nov 21, 2024
  186. 08/10 refs: add create_only option to refs_update_symref_extendedBence Ferdinandy, Nov 21, 2024
  187. 06/10 remote set-head: better output for --autoBence Ferdinandy, Nov 21, 2024
  188. 10/10 fetch set_head: handle mirrored bare repositoriesBence Ferdinandy, Nov 21, 2024
  189. 09/10 fetch: set remote/HEAD if it does not existBence Ferdinandy, Nov 21, 2024
  190. 00/10 set-head/fetch remote/HEAD updatesBence Ferdinandy, Nov 22, 2024
  191. 01/10 t/t5505-remote: set default branch to mainBence Ferdinandy, Nov 22, 2024
  192. 03/10 refs: standardize output of refs_read_symbolic_refBence Ferdinandy, Nov 22, 2024
  193. 02/10 t/t5505-remote: test failure of set-headBence Ferdinandy, Nov 22, 2024
  194. 04/10 refs: atomically record overwritten ref in update_symrefBence Ferdinandy, Nov 22, 2024
  195. 05/10 remote set-head: refactor for readabilityBence Ferdinandy, Nov 22, 2024
  196. 07/10 refs: add TRANSACTION_CREATE_EXISTS errorBence Ferdinandy, Nov 22, 2024
  197. 06/10 remote set-head: better output for --autoBence Ferdinandy, Nov 22, 2024
  198. 08/10 refs: add create_only option to refs_update_symref_extendedBence Ferdinandy, Nov 22, 2024
  199. 10/10 fetch set_head: handle mirrored bare repositoriesBence Ferdinandy, Nov 22, 2024
  200. 09/10 fetch: set remote/HEAD if it does not existBence Ferdinandy, Nov 22, 2024
  201. Josh SteadmonDec 5, 2024
  202. Josh SteadmonDec 5, 2024
  203. Bence FerdinandyDec 5, 2024
  204. Josh SteadmonDec 5, 2024
  205. Fix `git fetch --tags` in repo with no configured remoteJosh Steadmon, Dec 5, 2024
  206. Junio C HamanoDec 6, 2024
  207. Junio C HamanoDec 6, 2024
  208. Junio C HamanoDec 6, 2024
  209. Re* [PATCH] Fix `git fetch --tags` in repo with no configured remoteJunio C Hamano, Dec 6, 2024
  210. Re* [PATCH] Fix `git fetch --tags` in repo with no configured remoteJunio C Hamano, Dec 6, 2024
  211. Bence FerdinandyDec 6, 2024
  212. Junio C HamanoDec 6, 2024
  213. Bence FerdinandyDec 5, 2024
  214. fetch: add configuration for set_head behaviourBence Ferdinandy, Nov 27, 2024
  215. Junio C HamanoNov 27, 2024
  216. Bence FerdinandyNov 27, 2024
  217. Junio C HamanoNov 28, 2024
  218. Bence FerdinandyNov 28, 2024
  219. Junio C HamanoNov 28, 2024
  220. 0/2 set_head finishing touchesBence Ferdinandy, Dec 3, 2024
  221. 1/2 fetch set_head: add warn-if-not-$branch optionBence Ferdinandy, Dec 3, 2024
  222. Junio C HamanoDec 4, 2024
  223. Bence FerdinandyDec 4, 2024
  224. 2/2 remote set-head: set followRemoteHEAD to "warn" if "always"Bence Ferdinandy, Dec 3, 2024
  225. Junio C HamanoDec 4, 2024
  226. 1/3 fetch set_head: move warn advice into advise_if_enabledBence Ferdinandy, Dec 4, 2024
  227. 2/3 fetch set_head: add warn-if-not-$branch optionBence Ferdinandy, Dec 4, 2024
  228. 3/3 remote set-head: set followRemoteHEAD to "warn" if "always"Bence Ferdinandy, Dec 4, 2024
  229. Kristoffer HaugsbakkDec 4, 2024
  230. Junio C HamanoDec 4, 2024
  231. Kristoffer HaugsbakkDec 4, 2024
  232. Bence FerdinandyDec 5, 2024
  233. 1/3 fetch set_head: move warn advice into advise_if_enabledBence Ferdinandy, Dec 5, 2024
  234. 2/3 fetch set_head: add warn-if-not-$branch optionBence Ferdinandy, Dec 5, 2024
  235. 2/3 fetch set_head: add warn-if-not-$branch optionTeng Long, Jan 5, 2025
  236. Bence FerdinandyJan 5, 2025
  237. fetch: fix erroneous set_head advice messageBence Ferdinandy, Jan 5, 2025
  238. Junio C HamanoJan 6, 2025
  239. 3/3 remote set-head: set followRemoteHEAD to "warn" if "always"Bence Ferdinandy, Dec 5, 2024
  240. Junio C HamanoDec 4, 2024
  241. fetch: add configuration for set_head behaviourBence Ferdinandy, Nov 28, 2024
  242. fetch: add configuration for set_head behaviourBence Ferdinandy, Nov 28, 2024
  243. Junio C HamanoDec 2, 2024
  244. fetch: add configuration for set_head behaviourBence Ferdinandy, Nov 28, 2024
  245. 2/6 set-head: add new variable for readabilityBence Ferdinandy, Oct 9, 2024
  246. Junio C HamanoOct 9, 2024
  247. Bence FerdinandyOct 9, 2024
  248. 4/6 transaction: add TRANSACTION_CREATE_EXISTS errorBence Ferdinandy, Oct 9, 2024
  249. Junio C HamanoOct 9, 2024
  250. 3/6 set-head: better output for --autoBence Ferdinandy, Oct 9, 2024
  251. Junio C HamanoOct 9, 2024
  252. Junio C HamanoOct 10, 2024
  253. Ramsay JonesOct 10, 2024
  254. Bence FerdinandyOct 10, 2024
  255. 2/2 set-head: do not update if there is no changeBence Ferdinandy, Sep 10, 2024
  256. Junio C HamanoSep 10, 2024
  257. Bence FerdinandySep 11, 2024
  258. Junio C HamanoSep 11, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.