git-repo/tests
Raman Tenneti 7954de13b7 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>
2021-07-29 19:20:57 +00:00
..
fixtures sync: Added logging of repo sync state and config options for analysis. 2021-07-29 19:20:57 +00:00
test_editor.py strip python2-only coding:utf-8 & print_function settings 2021-01-06 18:53:05 +00:00
test_error.py error: fix pickling of all exceptions 2021-02-19 20:06:03 +00:00
test_git_command.py ssh: move all ssh logic to a common place 2021-05-06 19:09:16 +00:00
test_git_config.py sync: Added logging of repo sync state and config options for analysis. 2021-07-29 19:20:57 +00:00
test_git_superproject.py Fix an issue when syncing with --use-superproject and clone bundles. 2021-06-30 15:31:15 +00:00
test_git_trace2_event_log.py trace2_event_log: Added logging of error events. 2021-06-09 14:24:20 +00:00
test_hooks.py strip python2-only coding:utf-8 & print_function settings 2021-01-06 18:53:05 +00:00
test_manifest_xml.py repo: properly handle remote annotations in manifest_xml 2021-07-23 18:03:11 +00:00
test_project.py tests: Make ReviewableBranchTests.test_smoke work with git < 2.28.0 2021-04-14 16:22:52 +00:00
test_ssh.py ssh: rewrite proxy management for multiprocessing usage 2021-05-10 21:16:06 +00:00
test_subcmds_init.py tests: fix init subcmd after url change 2021-02-25 17:07:11 +00:00
test_subcmds.py subcmds: force consistent help text format 2021-05-04 16:40:53 +00:00
test_wrapper.py tests: fix duplicate method from copy & paste error 2021-03-04 16:17:11 +00:00