1
0
Fork 0
No description
Find a file
Kaushik Lingarkar 619ff0b697 Fix submodule initialization in interleaved sync mode
With the introduction of interleaved sync mode, the submodule
activation logic broke because the 'has_submodules' attribute
was no longer being populated when needed. With this change,
each submodule is initialized when it enters the Sync_LocalHalf
stage, whereas previously all submodules were initialized at
once when the parent repository entered the Sync_LocalHalf stage.

This change makes the submodule activation logic more robust and
less prone to breakage.

Change-Id: I25eca4ea2a6868219045cfa088988eb01ded47d2
2025-09-10 20:47:28 -07:00
.github/workflows CONTRIBUTING: rename doc per Google OSS policies 2025-08-20 14:15:53 -07:00
docs sync: support post-sync hook in <repo-hooks> 2025-07-01 16:11:50 -07:00
hooks release: update-hooks: helper for automatically syncing hooks 2024-04-23 18:31:51 +00:00
man man: regen after sync updates 2025-08-21 11:11:38 -07:00
release run_tests: add file header checker for licensing blocks 2025-08-21 11:16:35 -07:00
subcmds sync: Fix missing error details in interleaved summary 2025-08-14 09:54:15 -07:00
tests standardize file header wrt licensing 2025-08-21 11:04:41 -07:00
.flake8 flake8: Ignore .venv directory 2025-04-23 08:33:37 -07: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
.isort.cfg standardize file header wrt licensing 2025-08-21 11:04:41 -07: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 color: fix have_fg not re assign to true 2024-09-12 16:15:06 +00:00
command.py Remove gitc support from repo 2024-12-03 22:27:56 +00:00
completion.bash standardize file header wrt licensing 2025-08-21 11:04:41 -07:00
constraints.txt tox: sync black settings with run_tests 2025-03-27 14:20:01 -07:00
CONTRIBUTING.md CONTRIBUTING: rename doc per Google OSS policies 2025-08-20 14:15:53 -07:00
editor.py cleanup: Update codebase to expect Python 3.6 2023-10-31 16:03:54 +00:00
error.py Remove gitc support from repo 2024-12-03 22:27:56 +00:00
event_log.py [event_log] Stop leaking semaphore resources 2024-10-24 16:58:17 +00:00
fetch.py isort: format codebase 2023-08-22 18:32:22 +00:00
git_command.py black: update to v25 2025-03-25 11:20:35 -07:00
git_config.py git_config: prefer XDG config location 2025-01-23 23:47:06 -08:00
git_refs.py cleanup: convert exceptions to OSError 2023-10-21 00:56:10 +00:00
git_ssh standardize file header wrt licensing 2025-08-21 11:04:41 -07:00
git_superproject.py git_superproject: fix AttributeError in Superproject logging 2025-08-14 15:39:41 -07:00
git_trace2_event_log.py standardize file header wrt licensing 2025-08-21 11:04:41 -07:00
git_trace2_event_log_base.py Fix event log command event hierarchy. 2024-11-22 18:39:41 +00:00
hooks.py hooks: verify hooks project has worktree before running 2025-07-28 08:37:08 -07:00
LICENSE setup.py: add basic packaging files 2019-12-02 04:23:31 +00:00
main.py standardize file header wrt licensing 2025-08-21 11:04:41 -07:00
MANIFEST.in setup.py: add basic packaging files 2019-12-02 04:23:31 +00:00
manifest_xml.py manifest: Remove redundant re-raise of BaseExceptions 2025-04-22 10:20:08 -07:00
pager.py pager: drop unused global vars 2025-04-01 20:59:10 -07:00
platform_utils.py Fix EROFS error when root fs is mounted read-only 2025-04-02 06:43:06 -07:00
platform_utils_win32.py cleanup: Update codebase to expect Python 3.6 2023-10-31 16:03:54 +00:00
progress.py progress: Fix race condition causing fileno crash 2025-08-13 23:16:55 -07:00
project.py Fix submodule initialization in interleaved sync mode 2025-09-10 20:47:28 -07:00
pyproject.toml standardize file header wrt licensing 2025-08-21 11:04:41 -07:00
README.md CONTRIBUTING: rename doc per Google OSS policies 2025-08-20 14:15:53 -07:00
repo standardize file header wrt licensing 2025-08-21 11:04:41 -07:00
repo_logging.py logging: Fix log formatting with colored output 2024-07-02 06:24:31 +00:00
repo_trace.py cleanup: delete redundant "r" open mode 2023-10-21 00:55:33 +00:00
requirements.json git: raise hard version to 1.9.1 2024-05-01 15:23:50 +00:00
run_tests run_tests: add file header checker for licensing blocks 2025-08-21 11:16:35 -07:00
run_tests.vpython3 tox: sync black settings with run_tests 2025-03-27 14:20:01 -07:00
run_tests.vpython3.8 run_tests: enable Python 3.8 CI coverage 2025-04-02 13:50:29 -07:00
setup.py standardize file header wrt licensing 2025-08-21 11:04:41 -07:00
ssh.py ssh: Set git protocol version 2 on SSH ControlMaster 2024-05-16 13:26:46 +00:00
tox.ini standardize file header wrt licensing 2025-08-21 11:04:41 -07:00
wrapper.py git_command: unify soft/hard versions with requirements.json 2024-03-21 21:20:50 +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