Go to file
Mike Frysinger ae6cb08ae5 split out cli validation from execution
A common pattern in our subcommands is to verify the arguments &
options before executing things.  For some subcommands, that check
stage is quite long which makes the execution function even bigger.
Lets split that logic out of the execute phase so it's easier to
manage these.

This is most noticeable in the sync subcommand whose Execute func
is quite large, and the option checking makes up ~15% of it.

The manifest command's Execute can be simplified significantly as
the optparse configuration always sets output_file to a string.

Change-Id: I7097847ff040e831345e63de6b467ee17609990e
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/234834
Reviewed-by: David Pursehouse <dpursehouse@collab.net>
Tested-by: Mike Frysinger <vapier@google.com>
2019-08-28 03:54:11 +00:00
docs manifest-format: document implicit directory creation w/<copyfile> & <linkfile> 2019-08-02 04:21:40 +00:00
hooks hooks/pre-auto-gc-battery: allow gc to run on non-laptops 2018-07-11 13:45:58 -07:00
subcmds split out cli validation from execution 2019-08-28 03:54:11 +00:00
tests tests: add docstrings & print_function (for Python 3) 2019-08-01 03:03:48 +00:00
.flake8 Replace pylint with pyflakes/flake8 2016-09-14 09:49:02 +02:00
.gitattributes Adds additional crlf clobber avoidance. 2016-06-22 08:36:45 +00:00
.gitignore Add repoc to the .gitignore file 2013-03-08 01:18:08 +00:00
.mailmap Update .mailmap 2017-05-26 21:44:57 +09: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 set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
command.py split out cli validation from execution 2019-08-28 03:54:11 +00:00
COPYING Initial Contribution 2008-10-21 07:00:00 -07:00
editor.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
error.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
event_log.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
git_command.py rename local trace module 2019-08-27 07:08:52 +00:00
git_config.py rename local trace module 2019-08-27 07:08:52 +00:00
git_refs.py rename local trace module 2019-08-27 07:08:52 +00:00
git_ssh add license header to a few more files 2019-06-13 13:23:19 -04:00
gitc_utils.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
main.py split out cli validation from execution 2019-08-28 03:54:11 +00:00
manifest_xml.py Add support for partial clone. 2019-07-16 00:23:16 +00:00
pager.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
platform_utils_win32.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
platform_utils.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
progress.py rename local trace module 2019-08-27 07:08:52 +00:00
project.py rename local trace module 2019-08-27 07:08:52 +00:00
pyversion.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
README.md README: link in new bug tracker 2018-12-20 02:11:46 -05:00
repo Add support for partial clone. 2019-07-16 00:23:16 +00:00
repo_trace.py rename local trace module 2019-08-27 07:08:52 +00:00
run_tests run_tests: add a helper for invoking unittests 2019-07-11 04:34:08 +00:00
SUBMITTING_PATCHES.md run_tests: add a helper for invoking unittests 2019-07-11 04:34:08 +00:00
wrapper.py wrapper: Fix indentation level 2019-07-31 08:38:19 +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.