<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tools/git-repo.git/docs, branch v2.60.2</title>
<subtitle>Mirror of gerrit.googlesource.com/git-repo</subtitle>
<id>https://git.enea.com/cgit/tools/git-repo.git/atom?h=v2.60.2</id>
<link rel='self' href='https://git.enea.com/cgit/tools/git-repo.git/atom?h=v2.60.2'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/'/>
<updated>2025-12-02T18:43:56+00:00</updated>
<entry>
<title>docs: manifest-format: reformat spec to align the CDATA parts</title>
<updated>2025-12-02T18:43:56+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2025-12-02T15:52:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=08964a16589efd16db7beaa845bc11ec6d89f94c'/>
<id>urn:sha1:08964a16589efd16db7beaa845bc11ec6d89f94c</id>
<content type='text'>
Most of the file was doing this, but we've been inconsistent when
adding new entries.  Realign all of them.

Change-Id: I99ddb3a1e859235b249b6f08731bdadad8086d4e
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/532461
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Commit-Queue: Mike Frysinger &lt;vapier@google.com&gt;
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>manifest: Propagate revision attribute through multiple levels of include</title>
<updated>2025-11-26T10:08:44+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>pkj@axis.com</email>
</author>
<published>2025-11-08T05:42:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=3073a9004606eec6e3eff8a6e3260b81cd8f4e02'/>
<id>urn:sha1:3073a9004606eec6e3eff8a6e3260b81cd8f4e02</id>
<content type='text'>
Make sure a revision attribute for an include element is propagated
through multiple levels of manifest includes.

Change-Id: If37d65b0cd47da673719976598175d0eb6b7cbbe
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/525341
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Tested-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Commit-Queue: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
</content>
</entry>
<entry>
<title>manifest, project: Store project groups as sets</title>
<updated>2025-11-26T10:08:07+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>pkj@axis.com</email>
</author>
<published>2025-11-08T01:36:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=75773b8b9d265bc8ef113586be5c3e2d36250983'/>
<id>urn:sha1:75773b8b9d265bc8ef113586be5c3e2d36250983</id>
<content type='text'>
This helps a lot when including common manifests with groups and they
use extend-project.

Change-Id: Ic574e7d6696139d0eb90d9915e8c7048d5e89c07
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/525323
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Tested-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Commit-Queue: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
</content>
</entry>
<entry>
<title>project: Use dicts to keep track of copyfiles and linkfiles</title>
<updated>2025-11-26T10:07:35+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>pkj@axis.com</email>
</author>
<published>2025-11-07T23:06:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=412367bfafd9de014cfeb37475e0f97b1f6a2509'/>
<id>urn:sha1:412367bfafd9de014cfeb37475e0f97b1f6a2509</id>
<content type='text'>
This avoids copying/linking the same file/link multiple times if a
copyfile/linkfile element with the same values has been specifed
multiple times. This can happen when including a common manifest that
uses an extend-project element that has a copyfile/linkfile element.

This uses dicts rather than sets to store the copyfiles and linkfiles to
make sure the order they are specified in the manifest is maintained.
For Python 3.7+, maintaining the order that keys are added to dicts is
guaranteed, and for Python 3.6 it happened to be true.

The _CopyFile class and the _LinkFile class are changed to inherit from
NamedTuple to be able to store them in dicts.

Change-Id: I9f5a80298b875251a81c5fe7d353e262d104fae4
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/525322
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Tested-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Commit-Queue: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
</content>
</entry>
<entry>
<title>manifest: Make include groups propagate to extend-project elements</title>
<updated>2025-11-26T10:05:48+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>pkj@axis.com</email>
</author>
<published>2025-11-07T22:09:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=47c24b5c4092ce397c94c05d8686c8bcac64fbb2'/>
<id>urn:sha1:47c24b5c4092ce397c94c05d8686c8bcac64fbb2</id>
<content type='text'>
Any groups specified to an include element should propagate to any
extend-project elements and then on to the projects.

Change-Id: I62b95689cc13660858564ae569cbfd095961ecc7
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/525321
Tested-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Commit-Queue: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>manifest: Make extend-project support copyfile, linkfile and annotation</title>
<updated>2025-10-27T18:38:07+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>pkj@axis.com</email>
</author>
<published>2025-10-16T18:29:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=4ab2284a945d82b017c6646fca57c5973ffdabaf'/>
<id>urn:sha1:4ab2284a945d82b017c6646fca57c5973ffdabaf</id>
<content type='text'>
This allows an existing project to be extended by these elements.

Change-Id: I6826e518f39ca86485301491639101943b7e2ae0
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/519781
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Tested-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
</content>
</entry>
<entry>
<title>sync: support post-sync hook in &lt;repo-hooks&gt;</title>
<updated>2025-07-01T23:11:50+00:00</updated>
<author>
<name>Kenny Cheng</name>
<email>chao.shun.cheng.tw@gmail.com</email>
</author>
<published>2025-06-02T13:55:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=82d500eb7aa93f9bff66a4358a08d2ba2d599550'/>
<id>urn:sha1:82d500eb7aa93f9bff66a4358a08d2ba2d599550</id>
<content type='text'>
Add support for a new hook type "post-sync" declared in the manifest using
&lt;repo-hooks&gt;. This allows executing a script automatically after a successful
`repo sync`.

This is useful for initializing developer environments, installing project-wide
Git hooks, generating configs, and other post-sync automation tasks.

Example manifest usage:

  &lt;project name="myorg/repo-hooks" path="hooks" revision="main" /&gt;
  &lt;repo-hooks in-project="myorg/repo-hooks" enabled-list="post-sync"&gt;
    &lt;hook name="post-sync" /&gt;
  &lt;/repo-hooks&gt;

The hook script must be named `post-sync.py` and located at the root of the
hook project.

The post-sync hook does not block `repo sync`; if the script fails, the sync
still completes successfully with a warning.

Test: Added `post-sync.py` in hook project and verified it runs after `repo sync`

Bug: b/421694721
Change-Id: I69f3158f0fc319d73a85028d6e90fea02c1dc8c8
Signed-off-by: Kenny Cheng &lt;chao.shun.cheng.tw@gmail.com&gt;
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/480581
Reviewed-by: Scott Lee &lt;ddoman@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
</content>
</entry>
<entry>
<title>Update internal filesystem layout for submodules</title>
<updated>2025-02-04T16:07:49+00:00</updated>
<author>
<name>Kaushik Lingarkar</name>
<email>kaushikl@qti.qualcomm.com</email>
</author>
<published>2024-12-17T20:49:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=cf9a2a2a76b332c89fef40e47f7ddb4e8c817ab9'/>
<id>urn:sha1:cf9a2a2a76b332c89fef40e47f7ddb4e8c817ab9</id>
<content type='text'>
Change the bare checkout directory for submodules from 'subprojects'
to 'modules'. Git expects bare submodule checkouts to be in the
'modules' directory. If old subproject directories are found, they
will be migrated to the new modules directory. This change is the
first step in ensuring Git can understand repo's submodules to some
extent.

Change-Id: I385029f1bb55d040616d970d6ffb4bb856692520
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/444881
Tested-by: Kaushik Lingarkar &lt;kaushikl@qti.qualcomm.com&gt;
Reviewed-by: Josip Sokcevic &lt;sokcevic@chromium.org&gt;
</content>
</entry>
<entry>
<title>docs: smart-sync: split out &amp; expand details</title>
<updated>2025-01-31T03:17:24+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2025-01-31T00:11:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=dfdf577e98f6e9b13a3236767316863b3a995c01'/>
<id>urn:sha1:dfdf577e98f6e9b13a3236767316863b3a995c01</id>
<content type='text'>
The existing documentation on smart-sync behavior is a bit light on
details, and out of date wrt what the code actually does.  Start a
dedicated document and fill it out more.

Change-Id: I1a8a3ac6edf9291d72182ad55db865035d9b683e
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/450002
Commit-Queue: Mike Frysinger &lt;vapier@google.com&gt;
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
Reviewed-by: Josip Sokcevic &lt;sokcevic@chromium.org&gt;
</content>
</entry>
<entry>
<title>Add REPO_SKIP_SELF_UPDATE check in sync</title>
<updated>2024-10-28T17:46:25+00:00</updated>
<author>
<name>Fredrik de Groot</name>
<email>fredrik.de.groot@haleytek.com</email>
</author>
<published>2024-10-22T12:14:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=ebdf0409d289b1133d5d95c8e06c30709902f1f0'/>
<id>urn:sha1:ebdf0409d289b1133d5d95c8e06c30709902f1f0</id>
<content type='text'>
The command _PostRepoFetch will try to self update
during repo sync. That is beneficial but adds
version uncertainty, fail potential and slow downs
in non-interactive scenarios.

Conditionally skip the update if env variable
REPO_SKIP_SELF_UPDATE is defined.

A call to selfupdate works as before, meaning even
with the variable set, it will run the update.

Change-Id: Iab0ef55dc3d3db3cbf1ba1f506c57fbb58a504c3
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/439967
Tested-by: Fredrik de Groot &lt;fredrik.de.groot@haleytek.com&gt;
Commit-Queue: Josip Sokcevic &lt;sokcevic@google.com&gt;
Reviewed-by: Josip Sokcevic &lt;sokcevic@google.com&gt;
</content>
</entry>
</feed>
