7954de13b7
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> |
||
---|---|---|
.github/workflows | ||
docs | ||
hooks | ||
man | ||
release | ||
subcmds | ||
tests | ||
.flake8 | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
.project | ||
.pydevproject | ||
color.py | ||
command.py | ||
completion.bash | ||
editor.py | ||
error.py | ||
event_log.py | ||
git_command.py | ||
git_config.py | ||
git_refs.py | ||
git_ssh | ||
git_superproject.py | ||
git_trace2_event_log.py | ||
gitc_utils.py | ||
hooks.py | ||
LICENSE | ||
main.py | ||
manifest_xml.py | ||
MANIFEST.in | ||
pager.py | ||
platform_utils_win32.py | ||
platform_utils.py | ||
progress.py | ||
project.py | ||
README.md | ||
repo | ||
repo_trace.py | ||
requirements.json | ||
run_tests | ||
setup.py | ||
ssh.py | ||
SUBMITTING_PATCHES.md | ||
tox.ini | ||
wrapper.py |
repo
Repo is a tool built on top of Git. Repo helps manage many Git repositories, does the uploads to revision control systems, and automates parts of the development workflow. Repo is not meant to replace Git, only to make it easier to work with Git. The repo command is an executable Python script that you can put anywhere in your path.
- Homepage: https://gerrit.googlesource.com/git-repo/
- Mailing list: repo-discuss on Google Groups
- Bug reports: https://bugs.chromium.org/p/gerrit/issues/list?q=component:repo
- Source: https://gerrit.googlesource.com/git-repo/
- Overview: https://source.android.com/source/developing.html
- Docs: https://source.android.com/source/using-repo.html
- repo Manifest Format
- repo Hooks
- Submitting patches
- Running Repo in Microsoft Windows
- GitHub mirror: https://github.com/GerritCodeReview/git-repo
- Postsubmit tests: https://github.com/GerritCodeReview/git-repo/actions
Contact
Please use the repo-discuss mailing list or issue tracker for questions.
You can file a new bug report under the "repo" component.
Please do not e-mail individual developers for support. They do not have the bandwidth for it, and often times questions have already been asked on repo-discuss or bugs posted to the issue tracker. So please search those sites first.
Install
Many distros include repo, so you might be able to install from there.
# Debian/Ubuntu.
$ sudo apt-get install repo
# Gentoo.
$ sudo emerge dev-vcs/repo
You can install it manually as well as it's a single script.
$ mkdir -p ~/.bin
$ PATH="${HOME}/.bin:${PATH}"
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/.bin/repo
$ chmod a+rx ~/.bin/repo