mirror of
https://github.com/Dev-Wiki/git-repo.git
synced 2025-09-27 02:52:13 +08:00
sync: Added logging of repo sync state and config options for analysis.
git_config.py: + Added SyncAnalysisState class, which saves the following data into the config object. ++ sys.argv, options, superproject's logging data. ++ repo.*, branch.* and remote.* parameters from config object. ++ current time as synctime. ++ Version number of the object. + All the keys for the above data are prepended with 'repo.syncstate.' + Added GetSyncAnalysisStateData and UpdateSyncAnalysisState methods to GitConfig object to save/get the above data. git_trace2_event_log.py: + Added LogConfigEvents method with code from DefParamRepoEvents to log events. sync.py: + superproject_logging_data is a dictionary that collects all the superproject data that is to be logged as trace2 event. + Sync at the end logs the previously saved syncstate.* parameters as previous_sync_state. Then it calls config's UpdateSyncAnalysisState to save and log all the current options, superproject logged data. docs/internal-fs-layout.md: + Added doc string explaining [repo.syncstate ...] sections of .repo/manifests.git/config file. test_git_config.py: + Added unit test for the new methods of GitConfig object. Tested: $ ./run_tests $ repo_dev init --use-superproject -u https://android.googlesource.com/platform/manifest Tested it by running the following command multiple times. $ repo_dev sync -j 20 repo sync has finished successfully Verified config file has [syncstate ...] data saved. Bug: [google internal] b/188573450 Change-Id: I1f914ce50f3382111b72940ca56de7c41b53d460 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/313123 Tested-by: Raman Tenneti <rtenneti@google.com> Reviewed-by: Mike Frysinger <vapier@google.com> Reviewed-by: Xin Li <delphij@google.com>
This commit is contained in:
9
tests/fixtures/test.gitconfig
vendored
9
tests/fixtures/test.gitconfig
vendored
@@ -11,3 +11,12 @@
|
||||
intk = 10k
|
||||
intm = 10m
|
||||
intg = 10g
|
||||
[repo "syncstate.main"]
|
||||
synctime = 2021-07-29T19:18:53.201328Z
|
||||
version = 1
|
||||
[repo "syncstate.sys"]
|
||||
argv = ['/usr/bin/pytest-3']
|
||||
[repo "syncstate.superproject"]
|
||||
test = false
|
||||
[repo "syncstate.options"]
|
||||
verbose = true
|
||||
|
Reference in New Issue
Block a user