summaryrefslogtreecommitdiffstats
path: root/git_config.py
diff options
context:
space:
mode:
authorRaman Tenneti <rtenneti@google.com>2021-07-29 15:11:23 -0700
committerRaman Tenneti <rtenneti@google.com>2021-07-29 22:41:57 +0000
commit9122bfc3a80367ed303e8e2d3b3b3d7a8851c904 (patch)
treee0689e909b33f6c88a8cbade3ac19cebee99aab7 /git_config.py
parent7954de13b79182e299163307c430ad96f9cdbd38 (diff)
downloadgit-repo-9122bfc3a80367ed303e8e2d3b3b3d7a8851c904.tar.gz
sync: Remove '_' from the repo.syncstate.* keys when saved to config.v2.16.4
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>
Diffstat (limited to 'git_config.py')
-rw-r--r--git_config.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/git_config.py b/git_config.py
index 05d824cb..d882239b 100644
--- a/git_config.py
+++ b/git_config.py
@@ -798,6 +798,7 @@ class SyncAnalysisState:
798 if value is None: 798 if value is None:
799 return 799 return
800 sync_key = f'{SYNC_STATE_PREFIX}{key}' 800 sync_key = f'{SYNC_STATE_PREFIX}{key}'
801 sync_key = sync_key.replace('_', '')
801 if isinstance(value, str): 802 if isinstance(value, str):
802 self._config.SetString(sync_key, value) 803 self._config.SetString(sync_key, value)
803 elif isinstance(value, bool): 804 elif isinstance(value, bool):