repo v2.5-cr1
Merge commits up to v2.5

* v2.5:
  launcher: bump version for accumulated fixes
  launcher: avoid crash when executing out of checkout
  version: fix running under Python 2
  init: respect --repo-rev changes
  init: allow REPO_REV/--repo-rev to specify commits/tags
  tests: add more wrapper unittests
  download: add a --branch option
  download: unify error handling with sub git calls
  download: support -x when cherry-picking
  download: support --ff when cherry-picking
  init: rename --repo-branch to --repo-rev
  launcher: init: stop passing --repo-url/--repo-branch down
  init: respect --repo-url changes
  sync: warn if not tracking a branch
  subcmds: stop instantiating at import time
  subcmds: centralize all_commands logic
  upload: add config setting for upload notifications
  repo/init/sync: rework default git download output
  manifest_xml: unify bool & int parsing
  Reland "Port _FileDescriptorStreamsNonBlocking to use poll()"
  diffmanifests: honour --pretty-format when printing --raw
  sync: fix os.environ logic errors
  launcher: warn when verification is disabled

Change-Id: I9a592b15db399e7bd93580d8a6c7ccba8a96b9f1
tree: 2a03b6baa826f629188a67ad108e435faaa97895
  1. .github/
  2. docs/
  3. hooks/
  4. release/
  5. subcmds/
  6. tests/
  7. .flake8
  8. .gitattributes
  9. .gitignore
  10. .mailmap
  11. .project
  12. .pydevproject
  13. color.py
  14. command.py
  15. editor.py
  16. error.py
  17. event_log.py
  18. git_command.py
  19. git_config.py
  20. git_refs.py
  21. git_ssh
  22. gitc_utils.py
  23. LICENSE
  24. main.py
  25. MANIFEST.in
  26. manifest_xml.py
  27. pager.py
  28. platform_utils.py
  29. platform_utils_win32.py
  30. progress.py
  31. project.py
  32. pyversion.py
  33. README.md
  34. repo
  35. repo_trace.py
  36. run_tests
  37. setup.py
  38. SUBMITTING_PATCHES.md
  39. tox.ini
  40. wrapper.py
README.md

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.

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