Go to file
Mike Frysinger d8fda90eed repo: rework parser setup to handle init -c
We added support for `repo init -c` to main.py, but not to the
launcher, so the -c option only works after the first init has
run which kind of defeats its purpose.  Rework the parser setup
so that we can tell it whether it's for "init" or "gitc-init"
and then add the -c option in the same way we do in main.py.

This has the benefit of getting the parser entirely out of the
module scope which makes it a lot easier to reason about, and
it means we can write some unittests.

Change-Id: Icbc2ec3aceb938d5a8f941d5fbce1548553dc5f7
Test: repo help init
Test: repo help gitc-init
Test: repo init -u https://android.googlesource.com/platform/manifest -c
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/255113
Reviewed-by: David Pursehouse <dpursehouse@collab.net>
Tested-by: Mike Frysinger <vapier@google.com>
2020-02-14 05:52:17 +00:00
docs docs: document git/python/Ubuntu/Debian release schedules 2020-02-12 00:27:59 +00:00
hooks hooks/pre-auto-gc-battery: allow gc to run on non-laptops 2018-07-11 13:45:58 -07:00
subcmds pyflakes: Fix remaining "E501 line too long" warnings 2020-02-13 04:54:10 +00:00
tests repo: rework parser setup to handle init -c 2020-02-14 05:52:17 +00:00
.flake8 flake8: Add comments in config to explain suppressed checks 2020-02-12 12:33:02 +00:00
.gitattributes Adds additional crlf clobber avoidance. 2016-06-22 08:36:45 +00:00
.gitignore Add PyCharm project directory into the .gitignore 2020-01-24 23:09:49 +00:00
.mailmap Update .mailmap 2020-02-13 04:49:55 +00:00
.project Set correct name in PyDev and Eclipse project config 2013-04-19 09:35:43 +09:00
.pydevproject Leverage the next keyword from python 2.7 2018-12-19 11:06:35 -08:00
color.py Fix blank line issues reported by flake8 2020-02-12 06:36:40 +00:00
command.py Fix blank line issues reported by flake8 2020-02-12 06:36:40 +00:00
editor.py Fix blank line issues reported by flake8 2020-02-12 06:36:40 +00:00
error.py Fix blank line issues reported by flake8 2020-02-12 06:36:40 +00:00
event_log.py Fix blank line issues reported by flake8 2020-02-12 06:36:40 +00:00
git_command.py Fix blank line issues reported by flake8 2020-02-12 06:36:40 +00:00
git_config.py git_config: Stop using backslash to wrap lines 2020-02-12 07:29:25 +00:00
git_refs.py Fix various whitespace issues reported by pyflakes 2020-02-12 06:00:16 +00:00
git_ssh add license header to a few more files 2019-06-13 13:23:19 -04:00
gitc_utils.py Fix blank line issues reported by flake8 2020-02-12 06:36:40 +00:00
LICENSE setup.py: add basic packaging files 2019-12-02 04:23:31 +00:00
main.py pyflakes: Fix remaining "E501 line too long" warnings 2020-02-13 04:54:10 +00:00
manifest_xml.py Fix blank line issues reported by flake8 2020-02-12 06:36:40 +00:00
MANIFEST.in setup.py: add basic packaging files 2019-12-02 04:23:31 +00:00
pager.py pyflakes: Fix remaining "E501 line too long" warnings 2020-02-13 04:54:10 +00:00
platform_utils_win32.py pyflakes: Fix remaining "E501 line too long" warnings 2020-02-13 04:54:10 +00:00
platform_utils.py Fix blank line issues reported by flake8 2020-02-12 06:36:40 +00:00
progress.py Fix blank line issues reported by flake8 2020-02-12 06:36:40 +00:00
project.py project: Don't emit locally modified hook warning in quiet mode 2020-02-13 04:12:38 +00:00
pyversion.py Fix blank line issues reported by flake8 2020-02-12 06:36:40 +00:00
README.md docs: add Windows support info 2019-12-05 01:02:08 +00:00
repo repo: rework parser setup to handle init -c 2020-02-14 05:52:17 +00:00
repo_trace.py Fix blank line issues reported by flake8 2020-02-12 06:36:40 +00:00
run_tests find python via env 2020-02-09 04:02:45 +00:00
setup.py find python via env 2020-02-09 04:02:45 +00:00
SUBMITTING_PATCHES.md Mention exceptions to Google Style Guide in SUBMITTING_PATCHES.md 2020-02-13 04:12:22 +00:00
tox.ini repo: add --version support to the launcher 2020-02-12 20:54:50 +00:00
wrapper.py Fix blank line issues reported by flake8 2020-02-12 06:36:40 +00:00

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.

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