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

Re: [PATCH 9/9] t: add gitdir encoding tests

From
Adrian Ratiu <adrian.ratiu@collabora.com>
Date
Aug 21, 2025, 13:17 UTC
Message-ID
<87plco7r0t.fsf@collabora.com>
In-Reply-To
<xmqqplcsgu7w.fsf@gitster.g>
On Mon, 18 Aug 2025, Junio C Hamano <gitster@pobox.com> wrote:
Show 32 quoted lines
> Adrian Ratiu <adrian.ratiu@collabora.com> writes: 
> 
>> Add some tests to further exercise the gitdir encoding 
>> functionality alongside the existing mixed directory and nested 
>> gitdir tests. 
>> 
>> Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com> --- 
>>  t/t7425-submodule-mixed-gitdir-paths.sh | 52 
>>  +++++++++++++++++++++++++ 1 file changed, 52 insertions(+) 
>> 
>> diff --git a/t/t7425-submodule-mixed-gitdir-paths.sh 
>> b/t/t7425-submodule-mixed-gitdir-paths.sh index 
>> 902b2560ca..cfdf487a56 100755 --- 
>> a/t/t7425-submodule-mixed-gitdir-paths.sh +++ 
>> b/t/t7425-submodule-mixed-gitdir-paths.sh @@ -152,4 +152,56 @@ 
>> test_expect_success 'checkout -f --recurse-submodules must 
>> corectly handle neste ...  +		longname=$(printf "%%%0.s" 
>> $(seq 1 $count)) && 
> 
> Use of 'seq' gets complaint from 
> 
>     $ make -C t test-lint-shell-syntax 
> 
> See the commit message of d17cf5f3 (tests: Introduce test_seq, 
> 2012-08-04) and b32c7ec0 (test-lib: teach test_seq the -f 
> option, 2025-06-23).  I think you should be able to do something 
> like 
> 
> 	longname=$(test_seq -f "%%%0.s" 1 $count) && 
> 
> but I haven't even run the test with such a fix, so take it with 
> a grain of salt, please. 
Ack and thank you for the pointers. Will address in v2.
Previous: Junio C HamanoNext: Adrian Ratiu
Message 33 of 219 in “Encode submodule gitdir names to avoid conflicts”
  1. 0/9 Encode submodule gitdir names to avoid conflictsAdrian Ratiu, Aug 16, 2025
  2. 1/9 submodule--helper: use submodule_name_to_gitdir in add_submoduleAdrian Ratiu, Aug 16, 2025
  3. Josh SteadmonAug 20, 2025
  4. Adrian RatiuAug 21, 2025
  5. 2/9 submodule: create new gitdirs under submodules pathAdrian Ratiu, Aug 16, 2025
  6. Phillip WoodSep 8, 2025
  7. Adrian RatiuSep 8, 2025
  8. Phillip WoodSep 9, 2025
  9. Adrian RatiuSep 9, 2025
  10. 3/9 submodule: add gitdir path config overrideAdrian Ratiu, Aug 16, 2025
  11. Josh SteadmonAug 20, 2025
  12. Adrian RatiuAug 21, 2025
  13. Josh SteadmonAug 20, 2025
  14. Adrian RatiuAug 21, 2025
  15. Josh SteadmonAug 20, 2025
  16. Adrian RatiuAug 21, 2025
  17. Phillip WoodSep 8, 2025
  18. Adrian RatiuSep 9, 2025
  19. 4/9 t: submodules: add basic mixed gitdir path testsAdrian Ratiu, Aug 16, 2025
  20. Josh SteadmonAug 20, 2025
  21. Junio C HamanoSep 2, 2025
  22. 5/9 strbuf: bring back is_rfc3986_unreservedAdrian Ratiu, Aug 16, 2025
  23. Ben KnobleAug 16, 2025
  24. Adrian RatiuAug 21, 2025
  25. 6/9 submodule: encode gitdir paths to avoid conflictsAdrian Ratiu, Aug 16, 2025
  26. Jeff KingAug 20, 2025
  27. Adrian RatiuAug 21, 2025
  28. 7/9 submodule: remove validate_submodule_git_dir()Adrian Ratiu, Aug 16, 2025
  29. Phillip WoodSep 8, 2025
  30. 8/9 t: move nested gitdir tests to proper locationAdrian Ratiu, Aug 16, 2025
  31. 9/9 t: add gitdir encoding testsAdrian Ratiu, Aug 16, 2025
  32. Junio C HamanoAug 18, 2025
  33. Adrian RatiuAug 21, 2025
  34. Adrian RatiuAug 17, 2025
  35. 00/10 Encode submodule gitdir names to avoid conflictsAdrian Ratiu, Sep 8, 2025
  36. 01/10 submodule--helper: use submodule_name_to_gitdir in add_submoduleAdrian Ratiu, Sep 8, 2025
  37. Kristoffer HaugsbakkSep 30, 2025
  38. 03/10 submodule: add gitdir path config overrideAdrian Ratiu, Sep 8, 2025
  39. Patrick SteinhardtSep 9, 2025
  40. Adrian RatiuSep 9, 2025
  41. 02/10 submodule: create new gitdirs under submodules pathAdrian Ratiu, Sep 8, 2025
  42. Patrick SteinhardtSep 9, 2025
  43. Adrian RatiuSep 9, 2025
  44. 05/10 strbuf: bring back is_rfc3986_unreservedAdrian Ratiu, Sep 8, 2025
  45. 04/10 t7425: add basic mixed submodule gitdir path testsAdrian Ratiu, Sep 8, 2025
  46. 06/10 submodule: encode gitdir paths to avoid conflictsAdrian Ratiu, Sep 8, 2025
  47. SZEDER GáborSep 10, 2025
  48. Adrian RatiuSep 10, 2025
  49. Kristoffer HaugsbakkSep 10, 2025
  50. Kristoffer HaugsbakkSep 30, 2025
  51. 07/10 submodule: error out if gitdir name is too longAdrian Ratiu, Sep 8, 2025
  52. Jeff KingSep 8, 2025
  53. Adrian RatiuSep 8, 2025
  54. Kristoffer HaugsbakkSep 30, 2025
  55. 08/10 submodule: remove validate_submodule_git_dir()Adrian Ratiu, Sep 8, 2025
  56. Kristoffer HaugsbakkSep 30, 2025
  57. Adrian RatiuOct 3, 2025
  58. 09/10 t7450: move nested gitdir tests to t7425Adrian Ratiu, Sep 8, 2025
  59. 10/10 t7425: add gitdir encoding testsAdrian Ratiu, Sep 8, 2025
  60. 0/5 Encode submodule gitdir names to avoid conflictsAdrian Ratiu, Oct 6, 2025
  61. 2/5 submodule: add gitdir path config overrideAdrian Ratiu, Oct 6, 2025
  62. Junio C HamanoOct 6, 2025
  63. Junio C HamanoOct 7, 2025
  64. Patrick SteinhardtOct 21, 2025
  65. Adrian RatiuOct 21, 2025
  66. Patrick SteinhardtOct 21, 2025
  67. Adrian RatiuOct 21, 2025
  68. 1/5 submodule--helper: use submodule_name_to_gitdir in add_submoduleAdrian Ratiu, Oct 6, 2025
  69. Junio C HamanoOct 6, 2025
  70. Adrian RatiuOct 7, 2025
  71. 4/5 submodule: encode gitdir paths to avoid conflictsAdrian Ratiu, Oct 6, 2025
  72. Junio C HamanoOct 6, 2025
  73. Adrian RatiuOct 7, 2025
  74. Junio C HamanoOct 7, 2025
  75. Adrian RatiuOct 7, 2025
  76. Junio C HamanoOct 7, 2025
  77. 5/5 submodule: error out if gitdir name is too longAdrian Ratiu, Oct 6, 2025
  78. Junio C HamanoOct 6, 2025
  79. Adrian RatiuOct 7, 2025
  80. Junio C HamanoOct 7, 2025
  81. Patrick SteinhardtOct 21, 2025
  82. Adrian RatiuOct 21, 2025
  83. 3/5 strbuf: bring back is_rfc3986_unreservedAdrian Ratiu, Oct 6, 2025
  84. Junio C HamanoOct 6, 2025
  85. Junio C HamanoOct 6, 2025
  86. Adrian RatiuOct 7, 2025
  87. Patrick SteinhardtOct 21, 2025
  88. Junio C HamanoOct 6, 2025
  89. Adrian RatiuOct 7, 2025
  90. Junio C HamanoOct 7, 2025
  91. Adrian RatiuOct 7, 2025
  92. Junio C HamanoOct 7, 2025
  93. Junio C HamanoOct 7, 2025
  94. Adrian RatiuOct 7, 2025
  95. 0/4 Encode submodule gitdir names to avoid conflictsAdrian Ratiu, Nov 7, 2025
  96. 3/4 submodule: add extension to encode gitdir pathsAdrian Ratiu, Nov 7, 2025
  97. 2/4 builtin/credential-store: move is_rfc3986_unreserved to url.[ch]Adrian Ratiu, Nov 7, 2025
  98. 1/4 submodule--helper: use submodule_name_to_gitdir in add_submoduleAdrian Ratiu, Nov 7, 2025
  99. 4/4 submodule: fix case-folding gitdir filesystem colisionsAdrian Ratiu, Nov 7, 2025
  100. Aaron SchrabNov 8, 2025
  101. Adrian RatiuNov 10, 2025
  102. Aaron SchrabNov 10, 2025
  103. Adrian RatiuNov 10, 2025
  104. Junio C HamanoNov 10, 2025
  105. Adrian RatiuNov 10, 2025
  106. Junio C HamanoNov 10, 2025
  107. Adrian RatiuNov 11, 2025
  108. Adrian RatiuNov 12, 2025
  109. Josh SteadmonNov 14, 2025
  110. Adrian RatiuNov 17, 2025
  111. 0/7 Encode submodule gitdir names to avoid conflictsAdrian Ratiu, Nov 19, 2025
  112. 2/7 builtin/credential-store: move is_rfc3986_unreserved to url.[ch]Adrian Ratiu, Nov 19, 2025
  113. Patrick SteinhardtDec 5, 2025
  114. Adrian RatiuDec 5, 2025
  115. 1/7 submodule--helper: use submodule_name_to_gitdir in add_submoduleAdrian Ratiu, Nov 19, 2025
  116. 3/7 submodule: always validate gitdirs inside submodule_name_to_gitdirAdrian Ratiu, Nov 19, 2025
  117. Patrick SteinhardtDec 5, 2025
  118. Adrian RatiuDec 5, 2025
  119. 4/7 submodule: add extension to encode gitdir pathsAdrian Ratiu, Nov 19, 2025
  120. Patrick SteinhardtDec 5, 2025
  121. Adrian RatiuDec 5, 2025
  122. Junio C HamanoDec 5, 2025
  123. Patrick SteinhardtDec 6, 2025
  124. Junio C HamanoDec 6, 2025
  125. Adrian RatiuDec 8, 2025
  126. Patrick SteinhardtDec 8, 2025
  127. Adrian RatiuDec 8, 2025
  128. Adrian RatiuDec 8, 2025
  129. 5/7 submodule: fix case-folding gitdir filesystem colisionsAdrian Ratiu, Nov 19, 2025
  130. 6/7 submodule: use hashed name for gitdirAdrian Ratiu, Nov 19, 2025
  131. 7/7 meson/Makefile: allow setting submodule encoding at build timeAdrian Ratiu, Nov 19, 2025
  132. Patrick SteinhardtDec 5, 2025
  133. Adrian RatiuDec 5, 2025
  134. Junio C HamanoDec 5, 2025
  135. Patrick SteinhardtDec 6, 2025
  136. Junio C HamanoDec 6, 2025
  137. Adrian RatiuDec 8, 2025
  138. Adrian RatiuDec 8, 2025
  139. 00/10 Add submodulePathConfig extension and gitdir encodingAdrian Ratiu, Dec 13, 2025
  140. 02/10 submodule: always validate gitdirs inside submodule_name_to_gitdirAdrian Ratiu, Dec 13, 2025
  141. Patrick SteinhardtDec 16, 2025
  142. 03/10 builtin/submodule--helper: add gitdir commandAdrian Ratiu, Dec 13, 2025
  143. 01/10 submodule--helper: use submodule_name_to_gitdir in add_submoduleAdrian Ratiu, Dec 13, 2025
  144. 04/10 submodule: introduce extensions.submodulePathConfigAdrian Ratiu, Dec 13, 2025
  145. Patrick SteinhardtDec 16, 2025
  146. Adrian RatiuDec 16, 2025
  147. Josh SteadmonDec 16, 2025
  148. Adrian RatiuDec 17, 2025
  149. 05/10 submodule: allow runtime enabling extensions.submodulePathConfigAdrian Ratiu, Dec 13, 2025
  150. Patrick SteinhardtDec 16, 2025
  151. Adrian RatiuDec 16, 2025
  152. 06/10 submodule--helper: add gitdir migration commandAdrian Ratiu, Dec 13, 2025
  153. Patrick SteinhardtDec 16, 2025
  154. Adrian RatiuDec 16, 2025
  155. 07/10 builtin/credential-store: move is_rfc3986_unreserved to url.[ch]Adrian Ratiu, Dec 13, 2025
  156. 08/10 submodule--helper: fix filesystem collisions by encoding gitdir pathsAdrian Ratiu, Dec 13, 2025
  157. 09/10 submodule: fix case-folding gitdir filesystem collisionsAdrian Ratiu, Dec 13, 2025
  158. 10/10 submodule: hash the submodule name for the gitdir pathAdrian Ratiu, Dec 13, 2025
  159. Ben KnobleDec 13, 2025
  160. Adrian RatiuDec 15, 2025
  161. Junio C HamanoDec 16, 2025
  162. Ben KnobleDec 18, 2025
  163. Josh SteadmonDec 16, 2025
  164. Adrian RatiuDec 17, 2025
  165. 00/11 Add submodulePathConfig extension and gitdir encodingAdrian Ratiu, Dec 20, 2025
  166. 01/11 submodule--helper: use submodule_name_to_gitdir in add_submoduleAdrian Ratiu, Dec 20, 2025
  167. 02/11 submodule: always validate gitdirs inside submodule_name_to_gitdirAdrian Ratiu, Dec 20, 2025
  168. 03/11 builtin/submodule--helper: add gitdir commandAdrian Ratiu, Dec 20, 2025
  169. 04/11 submodule: introduce extensions.submodulePathConfigAdrian Ratiu, Dec 20, 2025
  170. Junio C HamanoDec 21, 2025
  171. Adrian RatiuDec 23, 2025
  172. Patrick SteinhardtJan 6, 2026
  173. Adrian RatiuJan 7, 2026
  174. 05/11 submodule: allow runtime enabling extensions.submodulePathConfigAdrian Ratiu, Dec 20, 2025
  175. Patrick SteinhardtJan 6, 2026
  176. Adrian RatiuJan 7, 2026
  177. 06/11 submodule--helper: add gitdir migration commandAdrian Ratiu, Dec 20, 2025
  178. Patrick SteinhardtJan 6, 2026
  179. Adrian RatiuJan 7, 2026
  180. 07/11 builtin/credential-store: move is_rfc3986_unreserved to url.[ch]Adrian Ratiu, Dec 20, 2025
  181. 08/11 submodule--helper: fix filesystem collisions by encoding gitdir pathsAdrian Ratiu, Dec 20, 2025
  182. 09/11 submodule: fix case-folding gitdir filesystem collisionsAdrian Ratiu, Dec 20, 2025
  183. 10/11 submodule: hash the submodule name for the gitdir pathAdrian Ratiu, Dec 20, 2025
  184. 11/11 submodule: detect conflicts with existing gitdir configsAdrian Ratiu, Dec 20, 2025
  185. Patrick SteinhardtJan 6, 2026
  186. Junio C HamanoDec 21, 2025
  187. Patrick SteinhardtJan 6, 2026
  188. 00/11 Add submodulePathConfig extension and gitdir encodingAdrian Ratiu, Jan 7, 2026
  189. 01/11 submodule--helper: use submodule_name_to_gitdir in add_submoduleAdrian Ratiu, Jan 7, 2026
  190. 02/11 submodule: always validate gitdirs inside submodule_name_to_gitdirAdrian Ratiu, Jan 7, 2026
  191. 03/11 builtin/submodule--helper: add gitdir commandAdrian Ratiu, Jan 7, 2026
  192. 04/11 submodule: introduce extensions.submodulePathConfigAdrian Ratiu, Jan 7, 2026
  193. 05/11 submodule: allow runtime enabling extensions.submodulePathConfigAdrian Ratiu, Jan 7, 2026
  194. Patrick SteinhardtJan 8, 2026
  195. 06/11 submodule--helper: add gitdir migration commandAdrian Ratiu, Jan 7, 2026
  196. Patrick SteinhardtJan 8, 2026
  197. 07/11 builtin/credential-store: move is_rfc3986_unreserved to url.[ch]Adrian Ratiu, Jan 7, 2026
  198. 08/11 submodule--helper: fix filesystem collisions by encoding gitdir pathsAdrian Ratiu, Jan 7, 2026
  199. 09/11 submodule: fix case-folding gitdir filesystem collisionsAdrian Ratiu, Jan 7, 2026
  200. 10/11 submodule: hash the submodule name for the gitdir pathAdrian Ratiu, Jan 7, 2026
  201. 11/11 submodule: detect conflicts with existing gitdir configsAdrian Ratiu, Jan 7, 2026
  202. Patrick SteinhardtJan 8, 2026
  203. Josh SteadmonJan 8, 2026
  204. Junio C HamanoJan 11, 2026
  205. 00/11 Add submodulePathConfig extension and gitdir encodingAdrian Ratiu, Jan 12, 2026
  206. 02/11 submodule: always validate gitdirs inside submodule_name_to_gitdirAdrian Ratiu, Jan 12, 2026
  207. 01/11 submodule--helper: use submodule_name_to_gitdir in add_submoduleAdrian Ratiu, Jan 12, 2026
  208. 03/11 builtin/submodule--helper: add gitdir commandAdrian Ratiu, Jan 12, 2026
  209. 04/11 submodule: introduce extensions.submodulePathConfigAdrian Ratiu, Jan 12, 2026
  210. 05/11 submodule: allow runtime enabling extensions.submodulePathConfigAdrian Ratiu, Jan 12, 2026
  211. 06/11 submodule--helper: add gitdir migration commandAdrian Ratiu, Jan 12, 2026
  212. 07/11 builtin/credential-store: move is_rfc3986_unreserved to url.[ch]Adrian Ratiu, Jan 12, 2026
  213. 08/11 submodule--helper: fix filesystem collisions by encoding gitdir pathsAdrian Ratiu, Jan 12, 2026
  214. 09/11 submodule: fix case-folding gitdir filesystem collisionsAdrian Ratiu, Jan 12, 2026
  215. 10/11 submodule: hash the submodule name for the gitdir pathAdrian Ratiu, Jan 12, 2026
  216. 11/11 submodule: detect conflicts with existing gitdir configsAdrian Ratiu, Jan 12, 2026
  217. Junio C HamanoJan 12, 2026
  218. Adrian RatiuJan 12, 2026
  219. Patrick SteinhardtJan 13, 2026

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.