<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tools/git-repo.git/subcmds/sync.py, branch v2.48</title>
<subtitle>Mirror of gerrit.googlesource.com/git-repo</subtitle>
<id>https://git.enea.com/cgit/tools/git-repo.git/atom?h=v2.48</id>
<link rel='self' href='https://git.enea.com/cgit/tools/git-repo.git/atom?h=v2.48'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/'/>
<updated>2024-10-07T18:44:19+00:00</updated>
<entry>
<title>sync: Always use WORKER_BATCH_SIZE</title>
<updated>2024-10-07T18:44:19+00:00</updated>
<author>
<name>Josip Sokcevic</name>
<email>sokcevic@chromium.org</email>
</author>
<published>2024-10-07T17:33:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=454fdaf1191c87e5c770ab865a911e10e600e178'/>
<id>urn:sha1:454fdaf1191c87e5c770ab865a911e10e600e178</id>
<content type='text'>
With 551285fa35ccd0836513e9cf64ee8d3372e5e3f4, the comment about number
of workers no longer stands - dict is shared among multiprocesses and
real time information is available.

Using 2.7k projects as the baseline, using chunk size of 4 takes close
to 5 minutes. A chunk size of 32 takes this down to 40s - a reduction of
rougly 8 times which matches the increase.

R=gavinmak@google.com

Bug: b/371638995
Change-Id: Ida5fd8f7abc44b3b82c02aa0f7f7ae01dff5eb07
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/438523
Commit-Queue: Josip Sokcevic &lt;sokcevic@google.com&gt;
Tested-by: Josip Sokcevic &lt;sokcevic@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
</content>
</entry>
<entry>
<title>sync: include TARGET_RELEASE when constructing smart sync target.</title>
<updated>2024-09-12T16:15:50+00:00</updated>
<author>
<name>Navil</name>
<email>navil@google.com</email>
</author>
<published>2024-09-11T16:49:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=1e19f7dd61923b8835d9c6e1a7e560575dafaf1e'/>
<id>urn:sha1:1e19f7dd61923b8835d9c6e1a7e560575dafaf1e</id>
<content type='text'>
When using the smart sync option, we try to construct the target that
was "lunched" from the TARGET_PRODUCT and TARGET_BUILD_VARIANT envvars.

However, an android target is now made of three parts,
{TARGET_PRODUCT}-{TARGET_RELEASE}-{TARGET_BUILD_VARIANT}.

I am leaving the option of creating a target if a TARGET_RELEASE is not
specified in case there are other consumers who depend on that option.

BUG=b:358101714
TEST=./run_tests
TEST=smart sync on android repo and manually inspecting
smart_sync_override.xml

Change-Id: I556137e33558783a86a0631f29756910b4a93d92
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/436977
Tested-by: Yiwei Zhang &lt;yiwzhang@google.com&gt;
Reviewed-by: Yiwei Zhang &lt;yiwzhang@google.com&gt;
Commit-Queue: Yiwei Zhang &lt;yiwzhang@google.com&gt;
</content>
</entry>
<entry>
<title>Add a `--rebase` option to sync command</title>
<updated>2024-08-30T09:08:29+00:00</updated>
<author>
<name>Jeroen Dhollander</name>
<email>jeroendh@google.com</email>
</author>
<published>2024-08-20T08:28:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=c44ad093092f71320c6311cc1fc3de9171f6bd0c'/>
<id>urn:sha1:c44ad093092f71320c6311cc1fc3de9171f6bd0c</id>
<content type='text'>
Previously repo would abort a sync if there were published changes not
merged upstream. The --rebase option allows the modification of
published commits.

This is a copy of http://go/grev/369694 with the merge conflicts
resolved.

Bug: 40014610
Change-Id: Idac8199400346327b530abea33f1ed794e5bb4c2
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/435838
Reviewed-by: Josip Sokcevic &lt;sokcevic@google.com&gt;
Tested-by: Jeroen Dhollander &lt;jeroendh@google.com&gt;
Commit-Queue: Jeroen Dhollander &lt;jeroendh@google.com&gt;
</content>
</entry>
<entry>
<title>sync: Fix sorting for nested projects</title>
<updated>2024-03-08T17:58:24+00:00</updated>
<author>
<name>Josip Sokcevic</name>
<email>sokcevic@chromium.org</email>
</author>
<published>2024-03-07T22:18:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=46790229fcdb041c414a27035b72cbc0d2e78af6'/>
<id>urn:sha1:46790229fcdb041c414a27035b72cbc0d2e78af6</id>
<content type='text'>
The current logic to create checkout layers doesn't work in all cases.
For example, let's assume there are three projects: "foo", "foo/bar" and
"foo-bar". Sorting lexicographical order is incorrect as foo-bar would
be placed between foo and foo/bar, breaking layering logic.

Instead, we split filepaths based using path delimiter (always /) and
then use lexicographical sort.

BUG=b:325119758
TEST=./run_tests, manual sync on chromiumos repository

Change-Id: I76924c3cc6ba2bb860d7a3e48406a6bba8f58c10
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/412338
Tested-by: Josip Sokcevic &lt;sokcevic@google.com&gt;
Commit-Queue: Josip Sokcevic &lt;sokcevic@google.com&gt;
Reviewed-by: George Engelbrecht &lt;engeg@google.com&gt;
</content>
</entry>
<entry>
<title>sync: introduce --force-checkout</title>
<updated>2024-03-07T17:21:51+00:00</updated>
<author>
<name>Josip Sokcevic</name>
<email>sokcevic@google.com</email>
</author>
<published>2024-02-29T17:48:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=edadb25c0270398e9afa3eb0093d6b94aa51c3f4'/>
<id>urn:sha1:edadb25c0270398e9afa3eb0093d6b94aa51c3f4</id>
<content type='text'>
In some cases (e.g. in a CI system), it's desirable to be able to
instruct repo to force checkout. This flag passes --force flag to `git
checkout` operations.

Bug: b/327624021
Change-Id: I579edda546fb8147c4e1a267e2605fcf6e597421
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/411518
Commit-Queue: Josip Sokcevic &lt;sokcevic@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Reviewed-by: George Engelbrecht &lt;engeg@google.com&gt;
Tested-by: Josip Sokcevic &lt;sokcevic@google.com&gt;
</content>
</entry>
<entry>
<title>sync: Introduce git checkout levels</title>
<updated>2024-02-27T17:28:33+00:00</updated>
<author>
<name>Josip Sokcevic</name>
<email>sokcevic@google.com</email>
</author>
<published>2024-02-23T00:38:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=5554572f02537b8646139d59ab520e59e1d5f7b3'/>
<id>urn:sha1:5554572f02537b8646139d59ab520e59e1d5f7b3</id>
<content type='text'>
If a repo manifest is updated so that project B is placed within a
project A, and if project A had content in new B's location in the old
checkout, then repo sync could break depending on checkout order, since
B can't be checked out before A.

This change introduces checkout levels which enforces right sequence of
checkouts while still allowing for parallel checkout. In an example
above, A will always be checked out first before B.

BUG=b:325119758
TEST=./run_tests, manual sync on ChromeOS repository

Change-Id: Ib3b5e4d2639ca56620a1e4c6bf76d7b1ab805250
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/410421
Tested-by: Josip Sokcevic &lt;sokcevic@google.com&gt;
Reviewed-by: Greg Edelston &lt;gredelston@google.com&gt;
Commit-Queue: Josip Sokcevic &lt;sokcevic@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
</content>
</entry>
<entry>
<title>subcmds: sync: Remove deprecated _AUTO_GC</title>
<updated>2024-02-20T19:55:15+00:00</updated>
<author>
<name>Greg Edelston</name>
<email>gredelston@google.com</email>
</author>
<published>2024-02-20T17:07:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=fec8cd6704b8ca7e01ed2de9d8757a2afd35188b'/>
<id>urn:sha1:fec8cd6704b8ca7e01ed2de9d8757a2afd35188b</id>
<content type='text'>
Opportunistic cleanup. It looks like this deprecated feature was slated
for deletion nearly a year ago.

Bug: None
Test: ./run_tests
Change-Id: I0bd0c0e6acbd1eaee1c0b4945c79038257d22f44
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/410198
Reviewed-by: Yiwei Zhang &lt;yiwzhang@google.com&gt;
Commit-Queue: Greg Edelston &lt;gredelston@google.com&gt;
Tested-by: Greg Edelston &lt;gredelston@google.com&gt;
</content>
</entry>
<entry>
<title>sync: ensure RepoChangedException propagated</title>
<updated>2024-02-06T18:46:19+00:00</updated>
<author>
<name>Jason Chang</name>
<email>jasonnc@google.com</email>
</author>
<published>2024-02-05T23:15:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=26fa3180fbe2380ff20eb94171074d833b210b45'/>
<id>urn:sha1:26fa3180fbe2380ff20eb94171074d833b210b45</id>
<content type='text'>
Prior to this change RepoChangedException would be caught and re-rasied
as a different exception. This would prevent RepoChangedException
handler from running in main.py

Bug: b/323232806
Change-Id: I9055ff95d439d6ff225206c5bf1755cc718bcfcc
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/407144
Tested-by: Josip Sokcevic &lt;sokcevic@google.com&gt;
Reviewed-by: Josip Sokcevic &lt;sokcevic@google.com&gt;
Commit-Queue: Josip Sokcevic &lt;sokcevic@google.com&gt;
</content>
</entry>
<entry>
<title>stop passing project to UpdateManifestError</title>
<updated>2024-02-02T18:35:13+00:00</updated>
<author>
<name>Yiwei Zhang</name>
<email>yiwzhang@google.com</email>
</author>
<published>2023-12-20T20:39:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=d379e77f44d11da1ab817f3796f9559f163c1b0f'/>
<id>urn:sha1:d379e77f44d11da1ab817f3796f9559f163c1b0f</id>
<content type='text'>
UpdateManifestError inherits from RepoExitError which inherits
from BaseRepoError. None of them takes project as kwargs
causing the error like "UpdateManifestError() takes no keyword
arguments" in b/317183321

[1]: https://gerrit.googlesource.com/git-repo/+/449b23b698d7d4b13909667a49a0698eb495eeaa/error.py#144

Bug: b/317183321
Change-Id: I64c3dc502027f9dda56a0824f2712364b4502934
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/398997
Commit-Queue: Yiwei Zhang &lt;yiwzhang@google.com&gt;
Tested-by: Yiwei Zhang &lt;yiwzhang@google.com&gt;
Reviewed-by: Josip Sokcevic &lt;sokcevic@google.com&gt;
Reviewed-by: Jason Chang &lt;jasonnc@google.com&gt;
</content>
</entry>
<entry>
<title>Clean up remaining `repo sync` log spam.</title>
<updated>2024-01-05T21:40:43+00:00</updated>
<author>
<name>Tomasz Wasilczyk</name>
<email>twasilczyk@google.com</email>
</author>
<published>2024-01-05T20:23:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=208f34495086eba60f744408aa26b4c62d6db6c6'/>
<id>urn:sha1:208f34495086eba60f744408aa26b4c62d6db6c6</id>
<content type='text'>
There are still some verbose messages (e.g. "remote: ...") when doing
repo sync after a couple days. Let's hide them behind verbose flag.

Bug: N/A
Test: repo sync
Change-Id: I1408472c95ed80d9555adfe8f92211245c03cf41
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/400855
Reviewed-by: Josip Sokcevic &lt;sokcevic@google.com&gt;
Tested-by: Tomasz Wasilczyk &lt;twasilczyk@google.com&gt;
Commit-Queue: Tomasz Wasilczyk &lt;twasilczyk@google.com&gt;
</content>
</entry>
</feed>
