From 9122bfc3a80367ed303e8e2d3b3b3d7a8851c904 Mon Sep 17 00:00:00 2001 From: Raman Tenneti Date: Thu, 29 Jul 2021 15:11:23 -0700 Subject: 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 Tested-by: Raman Tenneti --- git_config.py | 1 + 1 file changed, 1 insertion(+) (limited to 'git_config.py') 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: 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): -- cgit v1.2.3-54-g00ecf