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

Change-Id: I4e33ebdf3b06acd94494f32cdf39aa58427cd4b2
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/648703
Reviewed-by: Brian Gan &lt;brgan@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>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_trace` everywhere</title>
<updated>2026-10-23T16:01:00+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2026-10-23T03:39:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=f7d252f5dcfdcc01ae73d7a470bca1a7867c6d5b'/>
<id>urn:sha1:f7d252f5dcfdcc01ae73d7a470bca1a7867c6d5b</id>
<content type='text'>
Align with Google style guides and `import repo_trace` as a module
rather than import symbols out of it.

Change-Id: I6bea5e7a68775e93b6b7fcd218db666350aff690
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/647803
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>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>config: add subcommand to manage ~/.repoconfig/config</title>
<updated>2026-10-22T15:34:46+00:00</updated>
<author>
<name>Insaf Latypov</name>
<email>saferif@google.com</email>
</author>
<published>2026-10-20T16:15:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=9991aa6177d34ee94bf0ae046cfc15dc5a08c328'/>
<id>urn:sha1:9991aa6177d34ee94bf0ae046cfc15dc5a08c328</id>
<content type='text'>
Per-user settings such as sync.smartsync live in ~/.repoconfig/config,
but reading or changing them required knowing the file location and
running `git config --file ~/.repoconfig/config ...`.

Add `repo config` as a thin wrapper around RepoConfig.ForUser(),
following the subcommand style of modern `git config`:
* `repo config get &lt;name&gt;` prints the value(s), exiting 1 if unset.
* `repo config set &lt;name&gt; &lt;value&gt;` sets it.
* `repo config unset &lt;name&gt;` removes it; a missing key is a no-op.
* `repo config list` shows all settings.

Values are stored as strings; `--type=bool|int` validates and
canonicalizes them on set and get, like `git config --type`.  `-z` makes
get and list NUL-terminated for scripting.  Setting names are validated
by `git config` itself when writing.

Factor the value parsing out of GitConfig.GetBoolean()/GetInt() into
ParseBoolean()/ParseInt() so the command and the readers agree, and
accept on/off/1/0 as booleans like git does.

Only the per-user file is handled; per-checkout settings in
.repo/manifests.git/config are out of scope.  Like other subcommands, it
runs from inside a repo checkout.

Update docs/repoconfig.md to use the new command in its examples and
add zsh completion and the man page.

Bug: 569927750
Test: ./run_tests
Change-Id: I940d0318549fe9d79f6f9173139f0b96a706f1bf
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/645727
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Tested-by: Insaf Latypov &lt;saferif@google.com&gt;
Commit-Queue: Insaf Latypov &lt;saferif@google.com&gt;
</content>
</entry>
<entry>
<title>git_config: Fix bugs in processing RepoConfig.</title>
<updated>2026-10-14T14:49:21+00:00</updated>
<author>
<name>Insaf Latypov</name>
<email>saferif@google.com</email>
</author>
<published>2026-10-13T16:41:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=a0bc2b14a30bef631b91a2ca37c5254d9af44718'/>
<id>urn:sha1:a0bc2b14a30bef631b91a2ca37c5254d9af44718</id>
<content type='text'>
- Automatically create all the parent directories for `git confing
  --file ...`
- Prevent `RepoConfig` from inheriting caches from `GitConfig`. These
  two are different files.

Bug: 569927750
Test: ./run_tests
Change-Id: I9c60cecff75c1fb62be3ff63425d9618c0f56b06
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/643263
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Tested-by: Insaf Latypov &lt;saferif@google.com&gt;
Commit-Queue: Insaf Latypov &lt;saferif@google.com&gt;
</content>
</entry>
<entry>
<title>git_config: recognize only complete object IDs</title>
<updated>2026-09-03T00:41:05+00:00</updated>
<author>
<name>Gavin Mak</name>
<email>gavinmak@google.com</email>
</author>
<published>2026-08-25T16:04:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=948abc85bcfd3f73d6cec4160506af325f721b71'/>
<id>urn:sha1:948abc85bcfd3f73d6cec4160506af325f721b71</id>
<content type='text'>
Full Git object IDs are exactly 40 hexadecimal digits for SHA-1 or 64
for SHA-256. Stop treating every intermediate length as immutable, which
could bypass normal ref resolution for invalid revision strings.

Bug: 553599402
Change-Id: I41b4ce6b2bfe2a2d8b351c7f040ec0cf469b474b
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/623901
Reviewed-by: Brian Gan &lt;brgan@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>git_config: Support SHA-256 object IDs</title>
<updated>2026-06-26T22:40:55+00:00</updated>
<author>
<name>Gavin Mak</name>
<email>gavinmak@google.com</email>
</author>
<published>2026-06-23T22:47:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=c21a41c7ccc0350841cb57733f845dd2054bd285'/>
<id>urn:sha1:c21a41c7ccc0350841cb57733f845dd2054bd285</id>
<content type='text'>
Update ID_RE to match both 40-char (SHA-1) and 64-char (SHA-256) IDs as
part of Git 3.0 support.

Bug: 483758905
Change-Id: Ie5d9a2a5df4c6e7adda7f1d89f1bfb7724846057
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/600341
Reviewed-by: Brian Gan &lt;brgan@google.com&gt;
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>Fix missing `None` check in Remote.Save</title>
<updated>2026-05-13T07:00:27+00:00</updated>
<author>
<name>Josef Malmström</name>
<email>josef.malmstrom@arm.com</email>
</author>
<published>2026-05-04T12:11:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=003f0407fc5a301105a457f5ddc9773f1224cc97'/>
<id>urn:sha1:003f0407fc5a301105a457f5ddc9773f1224cc97</id>
<content type='text'>
This code was causing an exception in cases where `pushUrl` was set
but `projectname` was not.

This can happen when `pushUrl` is set for the manifest repo which does
not have a `projectname`. For example:

repo init --manifest-url ssh://url.to/my/manifest

cd .repo/manifests
git config remote.origin.pushurl ssh://url.to/my/manifest

repo init --manifest-url ssh://url.to/my/manifest --repo-rev main

The last `repo init` invocation causes an error.

Change-Id: Ibb68c8446880cfbac22feee595d1fd1b678c7ade
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/579162
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Commit-Queue: Josef Malmstrom &lt;Josef.Malmstrom@arm.com&gt;
Tested-by: Josef Malmstrom &lt;Josef.Malmstrom@arm.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>git_config: fix error message command output</title>
<updated>2026-05-12T17:04:15+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2026-05-12T16:19:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=7cc99b24c1869d54168708a2df6e6f936c36f980'/>
<id>urn:sha1:7cc99b24c1869d54168708a2df6e6f936c36f980</id>
<content type='text'>
str() inside an f-string is redundant.  Actually join the array together
as a string to show a proper error message, and include the full command
line, not the extra options passed in.

Before:
error.GitError: git config ('--null', '--list'): fatal: unable to read config file 'xxx': No such file or directory

After:
error.GitError: git config --system --includes --null --list: fatal: unable to read config file 'xxx': No such file or directory

Change-Id: I8983389aa2e0de7808991e73e636b77810f04c4b
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/582341
Commit-Queue: Mike Frysinger &lt;vapier@google.com&gt;
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
</content>
</entry>
</feed>
