<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tools/git-repo.git/subcmds, branch v2.11</title>
<subtitle>Mirror of gerrit.googlesource.com/git-repo</subtitle>
<id>https://git.enea.com/cgit/tools/git-repo.git/atom?h=v2.11</id>
<link rel='self' href='https://git.enea.com/cgit/tools/git-repo.git/atom?h=v2.11'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/'/>
<updated>2020-12-14T23:35:12+00:00</updated>
<entry>
<title>Add parallelism to 'branches' command</title>
<updated>2020-12-14T23:35:12+00:00</updated>
<author>
<name>Chris McDonald</name>
<email>cjmcdonald@google.com</email>
</author>
<published>2020-12-09T21:27:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=8add62325dbe4df60cde1af6b093d99e79685140'/>
<id>urn:sha1:8add62325dbe4df60cde1af6b093d99e79685140</id>
<content type='text'>
Spread the operation of querying which local branches exist across a
pool of processes and build the name map of projects -&gt; branches as
these tasks finish rather than blocking on the entire query. The search
operations are submitted in batches to reduce the overhead of interprocess
communication. The `chunksize` argument used to control this batch size
was selected by incrementing through powers of two until it stopped being
faster.

Change-Id: Ie3d7f799ee8e83e5058536caf53e2979175408b7
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/291342
Tested-by: Chris Mcdonald &lt;cjmcdonald@google.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>init: reset hard to --repo-rev</title>
<updated>2020-12-06T21:46:30+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2020-12-06T03:57:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=5e2f32fe1398ba1dbdee81a248ab88d6f269002d'/>
<id>urn:sha1:5e2f32fe1398ba1dbdee81a248ab88d6f269002d</id>
<content type='text'>
When updating the tracking ref to whatever the user requested,
make sure we reset state completely rather than trying to update
the ref to it.  This avoids confusing git as to the current state
of the tree, and is more inline with user intentions: if they made
a local change to the checkout, but ran repo init with a specific
rev, we shouldn't stay wedged forever until they manually clean it
all up.

Bug: https://crbug.com/gerrit/12801
Change-Id: Ieba8d9c15781b4d0649bf01c7460694da63387b2
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/290923
Reviewed-by: Michael Mortensen &lt;mmortensen@google.com&gt;
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>Concentrate the RepoHook knowledge in the RepoHook class</title>
<updated>2020-11-23T09:59:16+00:00</updated>
<author>
<name>Remy Bohmer</name>
<email>github@bohmer.net</email>
</author>
<published>2020-08-01T16:36:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=7f7acfe9fd93cfd4a697f2bc851d1b8182f6336e'/>
<id>urn:sha1:7f7acfe9fd93cfd4a697f2bc851d1b8182f6336e</id>
<content type='text'>
The knowledge about running hooks and all its exception handling
is scattered over multiple files. This makes the code harder
to read, but also it requires duplication of logic in case
other RepoHooks are added to different commands.
This refactoring also creates uniform behavior of the hooks
across multiple commands and it guarantees the re-use of the same
arguments on all of them.

Signed-off-by: Remy Bohmer &lt;github@bohmer.net&gt;
Change-Id: Ia4d90eab429e4af00943306e89faec8db35ba29d
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/277562
Tested-by: Remy Bohmer &lt;oss@bohmer.net&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>manifest_xml: refactor manifest parsing from client management</title>
<updated>2020-11-18T19:10:57+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2020-09-06T18:53:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=8c1e9cbef161f2ff12dadbacf26affd23876fde9'/>
<id>urn:sha1:8c1e9cbef161f2ff12dadbacf26affd23876fde9</id>
<content type='text'>
We conflate the manifest &amp; parsing logic with the management of the
repo client checkout in a single class.  This makes testing just one
part (the manifest parsing) hard as it requires a full checkout too.

Start splitting the two apart into separate classes to make it easy
to reason about &amp; test.

Change-Id: Iaf897c93db9c724baba6044bfe7a589c024523b2
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/288682
Reviewed-by: Michael Mortensen &lt;mmortensen@google.com&gt;
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>sync: respect --force-sync when fetching manifest project updates</title>
<updated>2020-11-17T03:06:06+00:00</updated>
<author>
<name>Erwan Yvin</name>
<email>erwan.yvin@gmail.com</email>
</author>
<published>2019-06-18T11:49:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=dc5c4d1d117304345ebec71a852184859883e1eb'/>
<id>urn:sha1:dc5c4d1d117304345ebec71a852184859883e1eb</id>
<content type='text'>
The --force-sync option was being passed down for all updates except
for the manifest project, so add that there too.

Bug: https://crbug.com/gerrit/11034
Change-Id: I33818b652f828c6b847dbc70f1fedfac5ac17bbe
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/228146
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>manifest: add a --json output option</title>
<updated>2020-11-17T01:38:00+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2020-09-02T08:31:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=23411d3f9c3df36b68080cf457ca093f8f1c1f21'/>
<id>urn:sha1:23411d3f9c3df36b68080cf457ca093f8f1c1f21</id>
<content type='text'>
Sometimes parsing JSON is easier than parsing XML, especially when
the XML format is limited (which ours is).  Add a --json option to
the manifest command to quickly emit that form.

Bug: https://crbug.com/gerrit/11743
Change-Id: Ia2bb254a78ae2b70a851638b4545fcafe8c1a76b
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/280436
Reviewed-by: Michael Mortensen &lt;mmortensen@google.com&gt;
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>upload: improve tip for fixing upload remote</title>
<updated>2020-11-16T23:13:02+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2020-11-10T06:09:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=160748f828f0fdaf09d3be86c73840d9e28eccdb'/>
<id>urn:sha1:160748f828f0fdaf09d3be86c73840d9e28eccdb</id>
<content type='text'>
Instead of assuming the repo client is tracking the "master" branch
of the manifest repo, use the existing info we have to display the
right info to the user.

Bug: https://crbug.com/gerrit/13339
Change-Id: I8b265f4b2e075fdc41909b1f3dff9aee87384353
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/287279
Reviewed-by: Michael Mortensen &lt;mmortensen@google.com&gt;
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>Move RepoHook class from project.py file to dedicated file</title>
<updated>2020-11-03T22:08:08+00:00</updated>
<author>
<name>Remy Bohmer</name>
<email>github@bohmer.net</email>
</author>
<published>2020-09-10T08:38:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=16c1328fecdbd950bb4f2c24f9c49a8ed0992c50'/>
<id>urn:sha1:16c1328fecdbd950bb4f2c24f9c49a8ed0992c50</id>
<content type='text'>
The project.py file is huge and contains multiple
classes. By moving it to seperate class files the code
becomes more readable and maintainable.

Signed-off-by: Remy Bohmer &lt;github@bohmer.net&gt;
Change-Id: Ida9d99d31751d627ae1ea0373418080696d2e14b
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/281293
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Tested-by: Remy Bohmer &lt;linux@bohmer.net&gt;
</content>
</entry>
<entry>
<title>init: use the remote default manifest branch</title>
<updated>2020-09-09T05:46:07+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2020-09-06T19:51:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=50a81de2bc9f2074d56c368f651cf9f50c8d8a87'/>
<id>urn:sha1:50a81de2bc9f2074d56c368f651cf9f50c8d8a87</id>
<content type='text'>
Instead of hardcoding "master" as our default, use the remote server's
default branch instead.  For most people, this should be the same as
"master" already.  For projects moving to "main", it means we'll use
the new name automatically rather than forcing people to use -b main.

For repositories that never set up a default HEAD, we should still use
the historical "master" default.

Bug: https://crbug.com/gerrit/13339
Change-Id: I4117c81a760c9495f98dbb1111a3e6c127f45eba
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/280799
Reviewed-by: Michael Mortensen &lt;mmortensen@google.com&gt;
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>status: Use multiprocessing for `repo status -j&lt;num&gt;` instead of threading</title>
<updated>2020-09-09T03:52:24+00:00</updated>
<author>
<name>Kimiyuki Onaka</name>
<email>kimiyuki@google.com</email>
</author>
<published>2020-08-28T01:05:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=0501b29e7ae072e0b10ea9ddd913ec6d5975f690'/>
<id>urn:sha1:0501b29e7ae072e0b10ea9ddd913ec6d5975f690</id>
<content type='text'>
This change increases the speed of the command with parallelization with
processes.  The parallelization with threads doesn't work well, and
increasing the number of jobs to many (8 threads ~) didn't increase the speed.
Possibly, the global interpreter lock of Python affects.

Bug: https://crbug.com/gerrit/12389
Change-Id: Icbe5df8ba037dd91422b96f4e43708068d7be924
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/279936
Tested-by: Kimiyuki Onaka &lt;kimiyuki@google.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
</feed>
