superproject: Inherit --no-use-superproject with --mirror option.

init.py
+ Similar to opt.archive, gave an error if --mirror option is
  used with --use-superproject.

sync.py
+ Defaulted to --no-use-superproject if manifest is a mirror or
  archive (similar to error at line# 1067).

Tested:
+ run_tests
+ flake8 (will fix known errors in another CL).

$ repo_dev init -u sso://googleplex-android.git.corp.google.com/platform/manifest --use-superproject --mirror
Usage: repo init [options] [manifest url]

main.py: error: --mirror and --use-superproject cannot be used together.

+ repo init and repo sync with --mirror and without --mirror
  options.
  $ repo_dev init -u https://android.googlesource.com/platform/manifest
  $ repo_dev sync
    ...superproject.git: Initial setup for superproject completed.

+ With --mirror option, verfied there are no exceptions in git_superproject.py

Bug: [google internal] b/206537893
Change-Id: I059f20e76f0ab36f0587f29779bb53ede4663bd4
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/323955
Reviewed-by: Mike Frysinger <vapier@google.com>
Tested-by: Raman Tenneti <rtenneti@google.com>
2 files changed
tree: a82f37473cc0a7070b0b77f902c029fe8b3081b2
  1. .flake8
  2. .gitattributes
  3. .github/
  4. .gitignore
  5. .gitreview
  6. .mailmap
  7. .project
  8. .pydevproject
  9. LICENSE
  10. MANIFEST.in
  11. README.md
  12. SUBMITTING_PATCHES.md
  13. color.py
  14. command.py
  15. completion.bash
  16. docs/
  17. editor.py
  18. error.py
  19. event_log.py
  20. fetch.py
  21. git_command.py
  22. git_config.py
  23. git_refs.py
  24. git_ssh
  25. git_superproject.py
  26. git_trace2_event_log.py
  27. gitc_utils.py
  28. hooks.py
  29. hooks/
  30. main.py
  31. man/
  32. manifest_xml.py
  33. pager.py
  34. platform_utils.py
  35. platform_utils_win32.py
  36. progress.py
  37. project.py
  38. release/
  39. repo
  40. repo_trace.py
  41. requirements.json
  42. run_tests
  43. setup.py
  44. ssh.py
  45. subcmds/
  46. tests/
  47. tox.ini
  48. 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