<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/refs.h, branch jch</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=jch</id>
<link rel='self' href='https://git.shady.money/git/atom?h=jch'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2026-03-18T19:52:29Z</updated>
<entry>
<title>object-name: turn INTERPRET_BRANCH_* constants into enum values</title>
<updated>2026-03-18T19:52:29Z</updated>
<author>
<name>Jialong Wang</name>
<email>jerrywang183@yahoo.com</email>
</author>
<published>2026-03-18T19:09:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c5fc44f54595f123c277e5839cbafa1bc9c8c050'/>
<id>urn:sha1:c5fc44f54595f123c277e5839cbafa1bc9c8c050</id>
<content type='text'>
Replace the INTERPRET_BRANCH_* preprocessor constants with enum
values and use that type where these flags are stored or passed
around.

These flags describe which kinds of branches may be considered during
branch-name interpretation, so represent them as an enum describing
branch kinds while keeping the existing bitmask semantics and
INTERPRET_BRANCH_* element names.

Signed-off-by: Jialong Wang &lt;jerrywang183@yahoo.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ps/refs-for-each'</title>
<updated>2026-03-09T21:36:55Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-03-09T21:36:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d445aecfb013ae7b45e946f9aea06464aee69ed8'/>
<id>urn:sha1:d445aecfb013ae7b45e946f9aea06464aee69ed8</id>
<content type='text'>
Code refactoring around refs-for-each-* API functions.

* ps/refs-for-each:
  refs: replace `refs_for_each_fullref_in()`
  refs: replace `refs_for_each_namespaced_ref()`
  refs: replace `refs_for_each_glob_ref()`
  refs: replace `refs_for_each_glob_ref_in()`
  refs: replace `refs_for_each_rawref_in()`
  refs: replace `refs_for_each_rawref()`
  refs: replace `refs_for_each_ref_in()`
  refs: improve verification for-each-ref options
  refs: generalize `refs_for_each_fullref_in_prefixes()`
  refs: generalize `refs_for_each_namespaced_ref()`
  refs: speed up `refs_for_each_glob_ref_in()`
  refs: introduce `refs_for_each_ref_ext`
  refs: rename `each_ref_fn`
  refs: rename `do_for_each_ref_flags`
  refs: move `do_for_each_ref_flags` further up
  refs: move `refs_head_ref_namespaced()`
  refs: remove unused `refs_for_each_include_root_ref()`
</content>
</entry>
<entry>
<title>Merge branch 'kn/ref-location'</title>
<updated>2026-03-04T18:52:59Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-03-04T18:52:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1d0a2acb78f157d39937a088548e561b27722e8d'/>
<id>urn:sha1:1d0a2acb78f157d39937a088548e561b27722e8d</id>
<content type='text'>
Allow the directory in which reference backends store their data to
be specified.

* kn/ref-location:
  refs: add GIT_REFERENCE_BACKEND to specify reference backend
  refs: allow reference location in refstorage config
  refs: receive and use the reference storage payload
  refs: move out stub modification to generic layer
  refs: extract out `refs_create_refdir_stubs()`
  setup: don't modify repo in `create_reference_database()`
</content>
</entry>
<entry>
<title>refs: extract out `refs_create_refdir_stubs()`</title>
<updated>2026-02-25T17:27:12Z</updated>
<author>
<name>Karthik Nayak</name>
<email>karthik.188@gmail.com</email>
</author>
<published>2026-02-25T09:40:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4ffbb02ee4bde38b4792b93cfba48755b394a130'/>
<id>urn:sha1:4ffbb02ee4bde38b4792b93cfba48755b394a130</id>
<content type='text'>
For Git to recognize a directory as a Git directory, it requires the
directory to contain:

  1. 'HEAD' file
  2. 'objects/' directory
  3. 'refs/' directory

Here, #1 and #3 are part of the reference storage mechanism,
specifically the files backend. Since then, newer backends such as the
reftable backend have moved to using their own path ('reftable/') for
storing references. But to ensure Git still recognizes the directory as
a Git directory, we create stubs.

There are two locations where we create stubs:

- In 'refs/reftable-backend.c' when creating the reftable backend.
- In 'clone.c' before spawning transport helpers.

In a following commit, we'll add another instance. So instead of
repeating the code, let's extract out this code to
`refs_create_refdir_stubs()` and use it.

Signed-off-by: Karthik Nayak &lt;karthik.188@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>refs: replace `refs_for_each_fullref_in()`</title>
<updated>2026-02-23T21:21:19Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-02-23T11:59:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1dd4f1e43f8f11ebb13c1b9edbd91219a134443d'/>
<id>urn:sha1:1dd4f1e43f8f11ebb13c1b9edbd91219a134443d</id>
<content type='text'>
Replace calls to `refs_for_each_fullref_in()` with the newly introduced
`refs_for_each_ref_ext()` function.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>refs: replace `refs_for_each_namespaced_ref()`</title>
<updated>2026-02-23T21:21:19Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-02-23T11:59:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=96c35a9ba5f1b5afac1e30ca93815dcd540d8b16'/>
<id>urn:sha1:96c35a9ba5f1b5afac1e30ca93815dcd540d8b16</id>
<content type='text'>
Replace calls to `refs_for_each_namespaced_ref()` with the newly
introduced `refs_for_each_ref_ext()` function.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>refs: replace `refs_for_each_glob_ref()`</title>
<updated>2026-02-23T21:21:19Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-02-23T11:59:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3fc1ad03c6243b44c2dcab480acaced44921b1c5'/>
<id>urn:sha1:3fc1ad03c6243b44c2dcab480acaced44921b1c5</id>
<content type='text'>
Replace calls to `refs_for_each_glob_ref()` with the newly introduced
`refs_for_each_ref_ext()` function.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>refs: replace `refs_for_each_glob_ref_in()`</title>
<updated>2026-02-23T21:21:19Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-02-23T11:59:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4091d2989353aaf14080ee64ee2e94b60ceaf18d'/>
<id>urn:sha1:4091d2989353aaf14080ee64ee2e94b60ceaf18d</id>
<content type='text'>
Replace calls to `refs_for_each_glob_ref_in()` with the newly introduced
`refs_for_each_ref_ext()` function.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>refs: replace `refs_for_each_rawref_in()`</title>
<updated>2026-02-23T21:21:19Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-02-23T11:59:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5ef6d593f18ac6b1e7540eed45f5d795d5a82faa'/>
<id>urn:sha1:5ef6d593f18ac6b1e7540eed45f5d795d5a82faa</id>
<content type='text'>
Replace calls to `refs_for_each_rawref_in()` with the newly introduced
`refs_for_each_ref_ext()` function.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>refs: replace `refs_for_each_rawref()`</title>
<updated>2026-02-23T21:21:18Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-02-23T11:59:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=67034081adc956c4dc8b51f59a9b70b8861c4642'/>
<id>urn:sha1:67034081adc956c4dc8b51f59a9b70b8861c4642</id>
<content type='text'>
Replace calls to `refs_for_each_rawref()` with the newly introduced
`refs_for_each_ref_ext()` function.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
