mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
sync: Remove '_' from the repo.syncstate.* keys when saved to config.
GitConfig doesn't save keys if the keys contain "_" characters. Some of the options like mp_update, use_superproject have underscores. This fixes issue with previous_sync_state missing some of the options. Tested: $ ./run_tests $ repo_dev init --use-superproject -u https://android.googlesource.com/platform/manifest Tested it by running the sync command multiple times and verifing previous_sync_state and current_sync_state have the same keys. $ repo_dev sync -j 20 repo sync has finished successfully Verified config file has [syncstate ...] data saved. Bug: [google internal] b/188573450 Change-Id: I16b52a164f9dd1633d7dad1d8cf6b151c629fcb1 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/313242 Reviewed-by: Xin Li <delphij@google.com> Tested-by: Raman Tenneti <rtenneti@google.com>
This commit is contained in:
parent
7954de13b7
commit
9122bfc3a8
@ -798,6 +798,7 @@ class SyncAnalysisState:
|
||||
if value is None:
|
||||
return
|
||||
sync_key = f'{SYNC_STATE_PREFIX}{key}'
|
||||
sync_key = sync_key.replace('_', '')
|
||||
if isinstance(value, str):
|
||||
self._config.SetString(sync_key, value)
|
||||
elif isinstance(value, bool):
|
||||
|
3
tests/fixtures/test.gitconfig
vendored
3
tests/fixtures/test.gitconfig
vendored
@ -12,7 +12,7 @@
|
||||
intm = 10m
|
||||
intg = 10g
|
||||
[repo "syncstate.main"]
|
||||
synctime = 2021-07-29T19:18:53.201328Z
|
||||
synctime = 2021-07-29T22:07:43.463365Z
|
||||
version = 1
|
||||
[repo "syncstate.sys"]
|
||||
argv = ['/usr/bin/pytest-3']
|
||||
@ -20,3 +20,4 @@
|
||||
test = false
|
||||
[repo "syncstate.options"]
|
||||
verbose = true
|
||||
mpupdate = false
|
||||
|
@ -110,9 +110,11 @@ class GitConfigReadOnlyTests(unittest.TestCase):
|
||||
superproject_logging_data['test'] = False
|
||||
options = type('options', (object,), {})()
|
||||
options.verbose = 'true'
|
||||
options.mp_update = 'false'
|
||||
TESTS = (
|
||||
('superproject.test', 'false'),
|
||||
('options.verbose', 'true'),
|
||||
('options.mpupdate', 'false'),
|
||||
('main.version', '1'),
|
||||
)
|
||||
self.config.UpdateSyncAnalysisState(options, superproject_logging_data)
|
||||
|
Loading…
Reference in New Issue
Block a user