<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tools/git-repo.git/tests, branch v2.63</title>
<subtitle>Mirror of gerrit.googlesource.com/git-repo</subtitle>
<id>https://git.enea.com/cgit/tools/git-repo.git/atom?h=v2.63</id>
<link rel='self' href='https://git.enea.com/cgit/tools/git-repo.git/atom?h=v2.63'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/'/>
<updated>2026-04-20T22:34:07+00:00</updated>
<entry>
<title>sync: Refactor to use _RunOneGC and fix config leakage</title>
<updated>2026-04-20T22:34:07+00:00</updated>
<author>
<name>Gavin Mak</name>
<email>gavinmak@google.com</email>
</author>
<published>2026-04-20T17:57:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=baa281d99e59dbf1447524e6fd95b384cadbc06e'/>
<id>urn:sha1:baa281d99e59dbf1447524e6fd95b384cadbc06e</id>
<content type='text'>
Extract _RunOneGC to handle GC on a single project. This refactoring
makes it easier to invoke GC from parallel worker tasks.

Also, avoid modifying the passed-in config dictionary in _RunOneGC by
creating a local copy, preventing unintended side effects on other
commands sharing the same config.

Bug: 498290329
Change-Id: I7b77ed6629b14b5ee3322870b9c6c8ce2bfd6ea2
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/574923
Reviewed-by: Becky Siegel &lt;beckysiegel@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>sync: Switch to using self._bloated_projects</title>
<updated>2026-04-20T21:07:14+00:00</updated>
<author>
<name>Gavin Mak</name>
<email>gavinmak@google.com</email>
</author>
<published>2026-04-20T17:56:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=7e9079b7cf79988dd978d04bfb79250564829cc3'/>
<id>urn:sha1:7e9079b7cf79988dd978d04bfb79250564829cc3</id>
<content type='text'>
Store bloated projects in self._bloated_projects and print warnings at
the end of execution. This sets up for moving the check to workers.

Bug: 498290329
Change-Id: I993f1fd741db2994d480994861588eb18f6c5503
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/574922
Reviewed-by: Becky Siegel &lt;beckysiegel@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>tests: Add tests for _CheckForBloatedProjects and _GCProjects</title>
<updated>2026-04-20T20:31:41+00:00</updated>
<author>
<name>Gavin Mak</name>
<email>gavinmak@google.com</email>
</author>
<published>2026-04-20T20:11:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=61bd6b3ccb26bc695ea85ae3004c50e7434e20cf'/>
<id>urn:sha1:61bd6b3ccb26bc695ea85ae3004c50e7434e20cf</id>
<content type='text'>
Change-Id: I6790a13929b8fc06a3197ca405dedf08d39d54c9
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/574926
Tested-by: Gavin Mak &lt;gavinmak@google.com&gt;
Reviewed-by: Becky Siegel &lt;beckysiegel@google.com&gt;
Commit-Queue: Gavin Mak &lt;gavinmak@google.com&gt;
</content>
</entry>
<entry>
<title>project: Avoid skipping fetches for shallow clones without .git/shallow</title>
<updated>2026-04-17T16:16:36+00:00</updated>
<author>
<name>Becky Siegel</name>
<email>beckysiegel@google.com</email>
</author>
<published>2026-04-16T03:16:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=b43a20b859fa6d1e0b5e5dfc35a268d2098ac95b'/>
<id>urn:sha1:b43a20b859fa6d1e0b5e5dfc35a268d2098ac95b</id>
<content type='text'>
When optimizing fetches for projects with immutable revisions, the fetch
should not be skipped if the project is configured for a shallow clone
(depth &gt; 0) but the .git/shallow file is missing. The absence of the
.git/shallow file means the repository is not a shallow clone, or the
shallow clone is incomplete, so a fetch is necessary to ensure the
revision is present.

Bug: 503081454
Change-Id: Ic3549612bcd69050a926652ee4e522c79ad8124c
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/573821
Tested-by: Becky Siegel &lt;beckysiegel@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Commit-Queue: Becky Siegel &lt;beckysiegel@google.com&gt;
</content>
</entry>
<entry>
<title>project: implement stateless sync pruning logic</title>
<updated>2026-04-09T19:09:40+00:00</updated>
<author>
<name>Gavin Mak</name>
<email>gavinmak@google.com</email>
</author>
<published>2026-04-01T23:03:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=3b0eebeccfd4447e4a50ae143f37d0f7817723be'/>
<id>urn:sha1:3b0eebeccfd4447e4a50ae143f37d0f7817723be</id>
<content type='text'>
Implement in-situ shallow re-fetching and garbage collection logic.
Enables repositories with sync-strategy="stateless" to reclaim disk
space by running reflog expire and git gc --prune=now if the working
tree is clean and has no local commits.

Bug: 498730431
Change-Id: I940bdc9b74da29d3f7b13566667dcddea769ebd3
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/568463
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>manifest: Add `sync-strategy` attribute to project elements</title>
<updated>2026-04-09T19:09:28+00:00</updated>
<author>
<name>Gavin Mak</name>
<email>gavinmak@google.com</email>
</author>
<published>2026-04-01T23:03:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=00991bfb42c4f3b0b7a50aa8f475ac1c8369924b'/>
<id>urn:sha1:00991bfb42c4f3b0b7a50aa8f475ac1c8369924b</id>
<content type='text'>
The only supported sync-strategy is "stateless". The intent is to keep
the local workspace as small as possible by not keeping history during
syncs. This prevents disk space waste for projects with large binaries
where we only care about the current version.

A follow up change will implement the logic.

Bug: 498730431
Change-Id: I84a436a9ca2492893163c6cfda6c28dc62a568f0
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/568462
Tested-by: Gavin Mak &lt;gavinmak@google.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Commit-Queue: Gavin Mak &lt;gavinmak@google.com&gt;
</content>
</entry>
<entry>
<title>tests: Convert forall subcmd test to pytest</title>
<updated>2026-04-09T18:51:47+00:00</updated>
<author>
<name>Nasser Grainawi</name>
<email>nasser.grainawi@oss.qualcomm.com</email>
</author>
<published>2026-04-06T19:51:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=e8338b54bd3b4ff525a51e3028c9aebc163936a0'/>
<id>urn:sha1:e8338b54bd3b4ff525a51e3028c9aebc163936a0</id>
<content type='text'>
Rewrite tests/test_subcmds_forall.py from unittest.TestCase to pytest
function-style tests to match the surrounding test suite conventions.

Replace setUp/tearDown and class-based helpers with tmp_path-based
setup, switch stdout capture to contextlib.redirect_stdout, and keep the
existing behavior checks intact (all eight projects are invoked exactly
once).

Change-Id: I9243f3461aa6850f867bdb864f4a34c442f817f6
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/569821
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Commit-Queue: Nasser Grainawi &lt;nasser.grainawi@oss.qualcomm.com&gt;
Tested-by: Nasser Grainawi &lt;nasser.grainawi@oss.qualcomm.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>test_wrapper: add test for repo script executable permission</title>
<updated>2026-04-06T21:16:04+00:00</updated>
<author>
<name>Carlos Fernandez</name>
<email>carlosfsanz@meta.com</email>
</author>
<published>2026-04-03T18:25:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=854b330967a296e03d49d492c2a3a13a71f14026'/>
<id>urn:sha1:854b330967a296e03d49d492c2a3a13a71f14026</id>
<content type='text'>
Add a test to verify that the repo launcher script has the
executable bit set, guarding against accidental permission changes.

Change-Id: I314658b57ed174673188fbbc5962d9fdeefac97d
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/569242
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Commit-Queue: Carlos Fernandez &lt;carlosfsanz@meta.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Tested-by: Carlos Fernandez &lt;carlosfsanz@meta.com&gt;
</content>
</entry>
<entry>
<title>tests: convert more tests to pytest</title>
<updated>2026-04-06T18:36:39+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2026-03-26T05:54:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=654690e1b8695d72885533016482306e32528f48'/>
<id>urn:sha1:654690e1b8695d72885533016482306e32528f48</id>
<content type='text'>
Change-Id: Id4d48b61dc435564c336385bbc4944eb475d1942
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/569443
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
Commit-Queue: Mike Frysinger &lt;vapier@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
</content>
</entry>
<entry>
<title>tests: convert __file__ usage to pathlib</title>
<updated>2026-04-06T18:15:58+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2026-04-04T02:47:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=ac2be4c089fda58b9ba2f7b2bdb1416f8d3a74b2'/>
<id>urn:sha1:ac2be4c089fda58b9ba2f7b2bdb1416f8d3a74b2</id>
<content type='text'>
Change-Id: I2408b0ac97629f0d5fc92779b78bf1ff159a6f83
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/569442
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
Commit-Queue: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
</feed>
