<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tools/git-repo.git, branch v2.62</title>
<subtitle>Mirror of gerrit.googlesource.com/git-repo</subtitle>
<id>https://git.enea.com/cgit/tools/git-repo.git/atom?h=v2.62</id>
<link rel='self' href='https://git.enea.com/cgit/tools/git-repo.git/atom?h=v2.62'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/'/>
<updated>2026-03-20T21:07:06+00:00</updated>
<entry>
<title>docs: windows: mention Developer Mode for symlinks</title>
<updated>2026-03-20T21:07:06+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2026-03-19T18:44:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=ade45de7707e25d8a11b3beedf754caa44aba34d'/>
<id>urn:sha1:ade45de7707e25d8a11b3beedf754caa44aba34d</id>
<content type='text'>
This is probably better than recommending Administrator access.

Change-Id: Ic916f15fe03f7fa1e03c685265b4774bfc1279c2
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/563581
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Commit-Queue: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>project: don't re-shallow manually unshallowed repos during sync</title>
<updated>2026-03-20T17:08:40+00:00</updated>
<author>
<name>Lucas Tanure</name>
<email>ltanure@gmail.com</email>
</author>
<published>2026-03-07T09:15:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=0251fb33c485c3664df634517190b9c510ce7578'/>
<id>urn:sha1:0251fb33c485c3664df634517190b9c510ce7578</id>
<content type='text'>
If a user has manually unshallowed a repo (e.g. via
`git fetch --unshallow`), the absence of the `shallow` file in the
gitdir indicates a full clone. Re-applying depth during a subsequent
sync would undo the user's intent. Skip re-shallowing in this case
by clearing depth when the project is not new and no shallow file
is present.

Change-Id: I4ee0e78018de9078fe1bd77a9615613ef0c40d33
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/558743
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Reviewed-by: Carlos Fernandez &lt;carlosfsanz@meta.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Commit-Queue: Lucas Alves &lt;ltanure@gmail.com&gt;
Tested-by: Lucas Alves &lt;ltanure@gmail.com&gt;
Reviewed-by: Lucas Alves &lt;ltanure@gmail.com&gt;
</content>
</entry>
<entry>
<title>Use git_superproject.UseSuperproject() everywhere</title>
<updated>2026-03-19T04:03:07+00:00</updated>
<author>
<name>Jacky Liu</name>
<email>qsliu@google.com</email>
</author>
<published>2026-03-16T05:07:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=0176586544d36d2902d6b8442ea4dc78e7921b8e'/>
<id>urn:sha1:0176586544d36d2902d6b8442ea4dc78e7921b8e</id>
<content type='text'>
Currently somewhere use git_superproject.UseSuperproject(), which checks
both the manifest config and user's config, and otherwhere use
manifest.manifestProject.use_superproject, which only checks the
manifest config. This causes Inconsistent behaviors for users who do not
set --use-superproject when doing repo init but have
repo.superprojectChoice in their git config.

Replace where using manifest.manifestProject.use_superproject with
git_superproject.UseSuperproject() to respect user's config and avoid
inconsistency.

Bug: 454514213
Change-Id: I1f734235cdd67b8a6915f1d05967d1aaa4d03f2a
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/561801
Commit-Queue: Jacky Liu &lt;qsliu@google.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Tested-by: Jacky Liu &lt;qsliu@google.com&gt;
</content>
</entry>
<entry>
<title>pydev: drop Python 2 reference</title>
<updated>2026-03-18T19:01:37+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2026-03-18T18:54:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=582804a59ef11a8e545ace2efb774df5dcbe93ee'/>
<id>urn:sha1:582804a59ef11a8e545ace2efb774df5dcbe93ee</id>
<content type='text'>
Not sure who uses this anymore, but might as well delete obviously
wrong content.

Change-Id: I5cdf1cf699c81b7db32b400f371134d21f474743
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/563161
Commit-Queue: Mike Frysinger &lt;vapier@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>isort: merge config into pyproject.toml</title>
<updated>2026-03-18T19:01:25+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2026-03-18T18:48:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=afc3d55d390e6c2c3955b021be89d3fdf815a8aa'/>
<id>urn:sha1:afc3d55d390e6c2c3955b021be89d3fdf815a8aa</id>
<content type='text'>
Change-Id: I3a50de04897789c7b2f291882faf1c862645b054
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/563141
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Commit-Queue: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>tests: switch some test modules to pytest</title>
<updated>2026-03-18T18:13:26+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2026-03-18T15:17:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=f24bc7aed59a8fb4b89afa06b82eae1aad067983'/>
<id>urn:sha1:f24bc7aed59a8fb4b89afa06b82eae1aad067983</id>
<content type='text'>
Change-Id: I524b5ff2d77f8232f94e21921b00ba4027d2ac4f
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/563081
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Commit-Queue: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>git_superproject: avoid re-initing bare repo</title>
<updated>2026-03-17T21:30:35+00:00</updated>
<author>
<name>Gavin Mak</name>
<email>gavinmak@google.com</email>
</author>
<published>2026-02-07T00:53:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=83b8ebdbbed5ec894a2f89eb5e4bcf5d0bb14300'/>
<id>urn:sha1:83b8ebdbbed5ec894a2f89eb5e4bcf5d0bb14300</id>
<content type='text'>
Running sync with reftable on a files-backed workspace fails to re-init
the superproject dir with:
```
fatal: could not open
'.../.repo/exp-superproject/&lt;hash&gt;-superproject.git/refs/heads' for writing:
Is a directory
```

Bug: 476209856
Change-Id: Ie8473d66069aafefa5661bd3ea8e73b2b27c6a38
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/550981
Commit-Queue: Gavin Mak &lt;gavinmak@google.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Tested-by: Gavin Mak &lt;gavinmak@google.com&gt;
</content>
</entry>
<entry>
<title>project: resolve unborn HEAD robustly in reftable repos</title>
<updated>2026-03-17T21:30:20+00:00</updated>
<author>
<name>Gavin Mak</name>
<email>gavinmak@google.com</email>
</author>
<published>2026-02-06T22:19:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=a0abfd7339536cfba02c112e7ac804bc6252ebdb'/>
<id>urn:sha1:a0abfd7339536cfba02c112e7ac804bc6252ebdb</id>
<content type='text'>
Use `git symbolic-ref` to resolve HEAD before trying to parse .git/HEAD
directly which is unreliable for reftable repos.

Bug: 476209856
Change-Id: I60185d945c5b43c871945c0126cfdf52194e745d
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/550762
Commit-Queue: Gavin Mak &lt;gavinmak@google.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Tested-by: Gavin Mak &lt;gavinmak@google.com&gt;
</content>
</entry>
<entry>
<title>project: support reftable anchors in worktree .git migration</title>
<updated>2026-03-17T21:30:01+00:00</updated>
<author>
<name>Gavin Mak</name>
<email>gavinmak@google.com</email>
</author>
<published>2026-02-06T22:18:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=403fedfeb555d4e6c3144f36777e88ec41535d9d'/>
<id>urn:sha1:403fedfeb555d4e6c3144f36777e88ec41535d9d</id>
<content type='text'>
The reftable backend creates real refs/ and reftable/ dirs. Update
_MigrateOldWorkTreeGitDir to expect these dirs and remove them.

Bug: 476209856
Change-Id: I4700da70cb466e25ecbc51ba4de9a906b8716bd8
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/550761
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Tested-by: Gavin Mak &lt;gavinmak@google.com&gt;
Commit-Queue: Gavin Mak &lt;gavinmak@google.com&gt;
</content>
</entry>
<entry>
<title>project: avoid direct packed-refs writes during fetch</title>
<updated>2026-03-17T21:29:38+00:00</updated>
<author>
<name>Gavin Mak</name>
<email>gavinmak@google.com</email>
</author>
<published>2026-02-06T22:18:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=f14c577fce155bc4955e83b1d9444dc67f1511aa'/>
<id>urn:sha1:f14c577fce155bc4955e83b1d9444dc67f1511aa</id>
<content type='text'>
Replace raw file manipulation with native `git update-ref` commands
inside a try/finally block to ensure temp refs are created/cleaned up
regardless of storage format.

Bug: 476209856
Change-Id: I228e81d3d3b323328260f6672075193421c8dc47
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/550421
Tested-by: Gavin Mak &lt;gavinmak@google.com&gt;
Commit-Queue: Gavin Mak &lt;gavinmak@google.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
</feed>
