Go to file
Joanna Wang 7fa149b47a upload: Skip upload if merge branch doesn't match project revision and
dest_branch.

- This still prevents the case mentioned here:
https://gerrit-review.googlesource.com/c/50300
while also supporting dest_branch.
- Update _GetMergeBranch to get merge branches for any branch, not just
the one we happen to run `repo upload` in. (e.g. for uploading multiple
branches)

Bug: b/27955930
Change-Id: Ia8ee1d6a83a783c984bb2eb308bb11b3a721a95d
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/360794
Commit-Queue: Joanna Wang <jojwang@google.com>
Reviewed-by: Mike Frysinger <vapier@google.com>
Tested-by: Joanna Wang <jojwang@google.com>
2023-02-28 14:21:17 +00:00
.github/workflows github: enable flake8 postsubmit testing 2022-12-09 14:32:29 +00:00
docs Enable use of REPO_CONFIG_DIR to customize .repoconfig location 2023-01-28 02:05:52 +00:00
hooks commit-msg: Sync commit-msg from gerrit 3.6.1 2022-07-29 01:29:19 +00:00
man repo_trace: adjust formatting, update man page. 2022-11-14 23:46:06 +00:00
release update_manpages.py: treat regex as raw string 2022-12-13 16:24:07 +00:00
subcmds upload: Skip upload if merge branch doesn't match project revision and 2023-02-28 14:21:17 +00:00
tests tests: Change docstring for CopyLinkTestCase 2023-02-14 21:48:41 +00:00
.flake8 flake8: Suppress "E731 do not assign a lambda expression, use a def" 2020-02-15 03:41:17 +00:00
.gitattributes Adds additional crlf clobber avoidance. 2016-06-22 08:36:45 +00:00
.gitignore Add parallelism to 'branches' command 2020-12-14 23:35:12 +00:00
.gitreview git-review: add config file 2021-11-15 01:39:36 +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 strip python2-only coding:utf-8 & print_function settings 2021-01-06 18:53:05 +00:00
command.py Fix flake8 warnings for some files 2023-01-05 18:43:12 +00:00
completion.bash bash-completion: complete projects with repo forall 2021-07-27 06:20:52 +00:00
editor.py strip python2-only coding:utf-8 & print_function settings 2021-01-06 18:53:05 +00:00
error.py help/version: sprinkle bug report URL around 2021-04-26 21:43:43 +00:00
event_log.py strip python2-only coding:utf-8 & print_function settings 2021-01-06 18:53:05 +00:00
fetch.py Support more url schemes for getting standalone manifest 2021-10-27 13:20:35 +00:00
git_command.py Fix flake8 warnings for some files 2023-01-05 18:43:12 +00:00
git_config.py Enable use of REPO_CONFIG_DIR to customize .repoconfig location 2023-01-28 02:05:52 +00:00
git_refs.py Set tracing to always on and save to .repo/TRACE_FILE. 2022-11-03 21:07:07 +00:00
git_ssh add license header to a few more files 2019-06-13 13:23:19 -04:00
git_superproject.py git_superproject: Log actual error fmt instead of the entire error message. 2023-02-01 22:32:56 +00:00
git_trace2_event_log.py Resolved DeprecationWarning for currentThread() 2022-11-25 08:34:57 +00:00
gitc_utils.py pylint: remove unused imports 2022-12-13 16:23:19 +00:00
hooks.py drop pyversion & is_python3 checking 2021-01-06 18:53:58 +00:00
LICENSE setup.py: add basic packaging files 2019-12-02 04:23:31 +00:00
main.py Fix TRACE_FILE renaming. 2022-11-09 01:24:49 +00:00
manifest_xml.py pylint: remove unused imports 2022-12-13 16:23:19 +00:00
MANIFEST.in setup.py: add basic packaging files 2019-12-02 04:23:31 +00:00
pager.py pager: catch startup failures on Windows 2022-08-18 16:43:16 +00:00
platform_utils_win32.py drop pyversion & is_python3 checking 2021-01-06 18:53:58 +00:00
platform_utils.py make file removal a bit more robust 2021-09-28 16:06:50 +00:00
progress.py trace: restore Progress indicator. 2022-11-10 00:44:33 +00:00
project.py project: clean up error message 2023-02-01 23:00:47 +00:00
README.md Update bug tracking links 2023-02-01 22:57:36 +00:00
repo Enable use of REPO_CONFIG_DIR to customize .repoconfig location 2023-01-28 02:05:52 +00:00
repo_trace.py repo_trace: Avoid race conditions with trace_file updating. 2022-12-09 22:49:31 +00:00
requirements.json Drop support for Python 3.5 2021-06-03 11:34:17 +00:00
run_tests tests: Rework run_tests to use pytest directly and add vpython3 file 2023-02-13 19:19:38 +00:00
run_tests.vpython3 tests: Rework run_tests to use pytest directly and add vpython3 file 2023-02-13 19:19:38 +00:00
setup.py Update bug tracking links 2023-02-01 22:57:36 +00:00
ssh.py Set tracing to always on and save to .repo/TRACE_FILE. 2022-11-03 21:07:07 +00:00
SUBMITTING_PATCHES.md SUBMITTING_PATCHES: link to commit message style docs 2021-11-15 01:39:16 +00:00
tox.ini tox: Allow passing positional arguments 2022-11-27 11:35:46 +00:00
wrapper.py wrapper: switch to functools.lru_cache 2022-12-08 22:22:36 +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.

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