<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tools/git-repo.git/subcmds/init.py, branch v2.71</title>
<subtitle>Mirror of gerrit.googlesource.com/git-repo</subtitle>
<id>https://git.enea.com/cgit/tools/git-repo.git/atom?h=v2.71</id>
<link rel='self' href='https://git.enea.com/cgit/tools/git-repo.git/atom?h=v2.71'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/'/>
<updated>2026-10-24T00:00:18+00:00</updated>
<entry>
<title>style: use `import git_command` everywhere</title>
<updated>2026-10-24T00:00:18+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2026-10-23T21:13:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=f4ce9572d1f9e412a5685297d2806ce410e4d4a0'/>
<id>urn:sha1:f4ce9572d1f9e412a5685297d2806ce410e4d4a0</id>
<content type='text'>
Align with Google style guides and `import git_command` as a module
rather than import symbols out of it.

Change-Id: If80d95203e240dd6591e465ef75500c72401d2bf
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/648503
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>style: use `import repo_logging` everywhere</title>
<updated>2026-10-23T16:49:36+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2026-10-23T03:46:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=cc1f41d782b39d852dbd9c738ff01eb8814d9e86'/>
<id>urn:sha1:cc1f41d782b39d852dbd9c738ff01eb8814d9e86</id>
<content type='text'>
Align with Google style guides and `import repo_logging` as a module
rather than import symbols out of it.

Change-Id: Ie13c1f13be00dbf6dd3814a8780baf6453972237
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/647823
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
Commit-Queue: Mike Frysinger &lt;vapier@google.com&gt;
Reviewed-by: Brian Gan &lt;brgan@google.com&gt;
</content>
</entry>
<entry>
<title>style: use `import error` everywhere</title>
<updated>2026-10-23T00:44:11+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2026-10-22T17:15:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=2c04b98c60d87ff5442820fc084364748a4a15e8'/>
<id>urn:sha1:2c04b98c60d87ff5442820fc084364748a4a15e8</id>
<content type='text'>
Align with Google style guides and `import error` as a module rather
than import classes out of it.

Change-Id: I8686fbe7887bd6ceac7a07877af63934f0d0ddd2
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/647563
Commit-Queue: Mike Frysinger &lt;vapier@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Reviewed-by: Insaf Latypov &lt;saferif@google.com&gt;
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>sync, init: support repo.smartsync config and --head alias</title>
<updated>2026-10-21T18:22:58+00:00</updated>
<author>
<name>LaMont Jones</name>
<email>lamontjones@google.com</email>
</author>
<published>2026-10-19T19:53:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=f0124d0fd5f316330ce6c1513874a61c044ede3c'/>
<id>urn:sha1:f0124d0fd5f316330ce6c1513874a61c044ede3c</id>
<content type='text'>
Allow users to configure Smart Sync as the default for a checkout:

* Add `ManifestProject.smart_sync` backed by
  `self.config.GetBoolean("repo.smartsync")`.
* Add `-s`/`--smart-sync` and `--no-smart-sync`/`--head` to `repo init`
  to persist `repo.smartsync` in the manifest project config.
* Add `--head` as an alias for `--no-smart-sync` in `repo sync` and
  `repo init`.
* Update `Sync._ResolveSmartSyncOption` so `ManifestProject.smart_sync`
  takes precedence over `&lt;default sync-smartsync="true" /&gt;` while
  remaining overridable by per-invocation `repo sync` CLI flags.

Bug: 569927750
Test: pytest tests/test_project.py tests/test_subcmds_init.py tests/test_subcmds_sync.py
Change-Id: Ib40efc530336efb59a28acfed3d582713e9d67b2
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/643303
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Commit-Queue: LaMont Jones &lt;lamontjones@google.com&gt;
Tested-by: LaMont Jones &lt;lamontjones@google.com&gt;
</content>
</entry>
<entry>
<title>command: Respect smart sync override declaratively by default</title>
<updated>2026-08-04T18:38:03+00:00</updated>
<author>
<name>Gavin Mak</name>
<email>gavinmak@google.com</email>
</author>
<published>2026-05-19T02:07:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=4bec297eb6e5f30ea2fe2a2d8a92054cafa30e4f'/>
<id>urn:sha1:4bec297eb6e5f30ea2fe2a2d8a92054cafa30e4f</id>
<content type='text'>
Introduce a `RESPECT_SMART_SYNC_OVERRIDE` class attribute to the base
`Command` class, defaulting to `True`. This allows subcommands to
automatically respect the smart sync override manifest if it exists.

The override is applied in `CommonValidateOptions` before any
subcommand-specific validation or execution occurs. The `sync` and
`init` commands explicitly opt out.

This ensures all workspace-aware subcommands consistently align with the
active smart sync override manifest. It also fixes a bug in
multi-manifest setups where running a command from a submanifest would
not apply the override to the outer manifest, causing inconsistency when
resolving projects across all manifests.

Bug: 279204331
Change-Id: I9426e90a13a77ce6bd94b4a82efda4d485cbe116
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/585081
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>init: Add --use-local-gitdirs for standard Git layouts</title>
<updated>2026-05-26T17:26:25+00:00</updated>
<author>
<name>Gavin Mak</name>
<email>gavinmak@google.com</email>
</author>
<published>2026-04-03T01:11:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=b8531133deb053b333a3e90ce3b91a6f448b034e'/>
<id>urn:sha1:b8531133deb053b333a3e90ce3b91a6f448b034e</id>
<content type='text'>
Introduce --use-local-gitdirs to bypass repo's symlink-based layouts in
favor of standard local .git directories.

Bug: 513329573
Bug: 508146070
Change-Id: I53d1602e61be0b86964529bcbea3dc801471f9c9
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/569001
Tested-by: Gavin Mak &lt;gavinmak@google.com&gt;
Commit-Queue: Gavin Mak &lt;gavinmak@google.com&gt;
Reviewed-by: Dan Willemsen &lt;dwillemsen@google.com&gt;
</content>
</entry>
<entry>
<title>init: Add environment variable for git-lfs</title>
<updated>2025-06-30T22:27:26+00:00</updated>
<author>
<name>Matt Moeller</name>
<email>moeller.matt@gmail.com</email>
</author>
<published>2024-09-04T18:55:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=21269c3eedc428610a5cab1494b2459a7e939fc7'/>
<id>urn:sha1:21269c3eedc428610a5cab1494b2459a7e939fc7</id>
<content type='text'>
Convenient way to always enable or disable git-lfs without having to
remember to put on the command line.

Useful if you want to ALWAYS have git-lfs enabled on your system when
you 'init' a new project.

Also useful if you are using the Jenkins repo plugin as it doesn't
provide an option for enabling git-lfs in its UI.

Change-Id: Ieb1bbe83de9c21523ab69b30fc5047c257d02731
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/437661
Commit-Queue: Scott Lee &lt;ddoman@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Reviewed-by: Fatahillah Wk &lt;fatahillahwkwk@gmail.com&gt;
Reviewed-by: Scott Lee &lt;ddoman@google.com&gt;
Tested-by: Matt Moeller &lt;moeller.matt@gmail.com&gt;
Reviewed-by: Yingchun Li &lt;sword.l.dragon@gmail.com&gt;
</content>
</entry>
<entry>
<title>init: add --manifest-upstream-branch</title>
<updated>2024-09-26T00:52:28+00:00</updated>
<author>
<name>Kaushik Lingarkar</name>
<email>kaushik.lingarkar@linaro.org</email>
</author>
<published>2024-09-05T22:34:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=d7ebdf56be6095338ea37bd4b52533c5bd7774e7'/>
<id>urn:sha1:d7ebdf56be6095338ea37bd4b52533c5bd7774e7</id>
<content type='text'>
When a sha1 is provided to '--manifest-branch', the ref which
is expected to contain that sha1 can be provided using the new
'--manifest-upstream-branch' option. This is useful with
'--current-branch' to avoid having to sync all heads and tags,
or with a commit that comes from a non-head/tag ref (like a
Gerrit change ref).

Change-Id: I46a3e255ca69ed9e809039e58b0c163e02af94ef
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/436717
Reviewed-by: Josip Sokcevic &lt;sokcevic@google.com&gt;
Commit-Queue: Kaushik Lingarkar &lt;kaushik.lingarkar@linaro.org&gt;
Tested-by: Kaushik Lingarkar &lt;kaushik.lingarkar@linaro.org&gt;
</content>
</entry>
<entry>
<title>git_command: unify soft/hard versions with requirements.json</title>
<updated>2024-03-21T21:20:50+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2024-03-21T16:58:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=4406642e20d2b984631e6099664058013095ce49'/>
<id>urn:sha1:4406642e20d2b984631e6099664058013095ce49</id>
<content type='text'>
Use the requirements logic in the wrapper to load versions out of the
requirements.json file to avoid duplicating them in git_command.py.

Change-Id: Ib479049fc54ebc6f52c2c30d1315cf1734ff1990
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/415617
Reviewed-by: Josip Sokcevic &lt;sokcevic@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>repo: Use the worktree when checking the repo rev.</title>
<updated>2023-11-13T18:21:31+00:00</updated>
<author>
<name>Jason R. Coombs</name>
<email>jaraco@google.com</email>
</author>
<published>2023-11-01T14:35:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=560a79727f5c9ec9ff16544159b444eeb42295ee'/>
<id>urn:sha1:560a79727f5c9ec9ff16544159b444eeb42295ee</id>
<content type='text'>
Avoids treating the operation as if it were acting on a bare repository, thereby triggering failures when the Git client is configured with `safe.bareRepository=explicit`. Repo doesn't actually use a bare repository, but pointing at the gitdir acts as if it had.

Bug: 307559774
Change-Id: I2c142275b2726a59526729c0b2c54faf728f125d
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/391554
Commit-Queue: Jason R. Coombs &lt;jaraco@google.com&gt;
Tested-by: Jason R. Coombs &lt;jaraco@google.com&gt;
Tested-by: Emily Shaffer &lt;emilyshaffer@google.com&gt;
Reviewed-by: Emily Shaffer &lt;emilyshaffer@google.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
</feed>
