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:
|
if value is None:
|
||||||
return
|
return
|
||||||
sync_key = f'{SYNC_STATE_PREFIX}{key}'
|
sync_key = f'{SYNC_STATE_PREFIX}{key}'
|
||||||
|
sync_key = sync_key.replace('_', '')
|
||||||
if isinstance(value, str):
|
if isinstance(value, str):
|
||||||
self._config.SetString(sync_key, value)
|
self._config.SetString(sync_key, value)
|
||||||
elif isinstance(value, bool):
|
elif isinstance(value, bool):
|
||||||
|
3
tests/fixtures/test.gitconfig
vendored
3
tests/fixtures/test.gitconfig
vendored
@ -12,7 +12,7 @@
|
|||||||
intm = 10m
|
intm = 10m
|
||||||
intg = 10g
|
intg = 10g
|
||||||
[repo "syncstate.main"]
|
[repo "syncstate.main"]
|
||||||
synctime = 2021-07-29T19:18:53.201328Z
|
synctime = 2021-07-29T22:07:43.463365Z
|
||||||
version = 1
|
version = 1
|
||||||
[repo "syncstate.sys"]
|
[repo "syncstate.sys"]
|
||||||
argv = ['/usr/bin/pytest-3']
|
argv = ['/usr/bin/pytest-3']
|
||||||
@ -20,3 +20,4 @@
|
|||||||
test = false
|
test = false
|
||||||
[repo "syncstate.options"]
|
[repo "syncstate.options"]
|
||||||
verbose = true
|
verbose = true
|
||||||
|
mpupdate = false
|
||||||
|
@ -110,9 +110,11 @@ class GitConfigReadOnlyTests(unittest.TestCase):
|
|||||||
superproject_logging_data['test'] = False
|
superproject_logging_data['test'] = False
|
||||||
options = type('options', (object,), {})()
|
options = type('options', (object,), {})()
|
||||||
options.verbose = 'true'
|
options.verbose = 'true'
|
||||||
|
options.mp_update = 'false'
|
||||||
TESTS = (
|
TESTS = (
|
||||||
('superproject.test', 'false'),
|
('superproject.test', 'false'),
|
||||||
('options.verbose', 'true'),
|
('options.verbose', 'true'),
|
||||||
|
('options.mpupdate', 'false'),
|
||||||
('main.version', '1'),
|
('main.version', '1'),
|
||||||
)
|
)
|
||||||
self.config.UpdateSyncAnalysisState(options, superproject_logging_data)
|
self.config.UpdateSyncAnalysisState(options, superproject_logging_data)
|
||||||
|
Loading…
Reference in New Issue
Block a user