Go to file
Mike Frysinger e57f1146de sync: respect --force-sync when fetching updates
If a tag is rewritten on the server (which is bad), trying to recover
locally with `repo sync --force-sync` doesn't actually work.  People
have to manually delete things themselves to fix syncing.  While tags
should never be rewritten in practice, allow users to easily recover
from broken servers.

We updated some of these code paths already (see commit 6e53844f1e
"Allow clobbering of existing tags from remote."), but the incremental
update flow was missed.

Bug: b/120778183
Bug: chromium:932651
Test: delete local tag & recreate to diff commit, then check
      `repo sync` & `repo sync --force-sync` behavior
Change-Id: I3648f7d2526732c06016b691a9a36c003157618d
2019-03-18 21:31:03 -04:00
docs docs: fixed typo error. 2019-03-18 13:38:33 +09:00
hooks hooks/pre-auto-gc-battery: allow gc to run on non-laptops 2018-07-11 13:45:58 -07:00
subcmds sync: Add option '--force-remove-dirty' 2019-03-11 13:06:49 -04:00
tests Fix gitc-init behavior 2015-10-07 15:43:22 -07: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 Pylint and PEP8 fixes for color.py 2015-03-28 21:12:27 +00:00
command.py Remove unused pylint suppressions 2018-07-24 22:20:08 +08:00
COPYING Initial Contribution 2008-10-21 07:00:00 -07:00
editor.py Allow quotes in editor command on Windows 2017-08-31 13:49:49 -07:00
error.py error: fix typos 2015-06-04 00:21:16 +00:00
event_log.py event_log: turn id generation from a generator to a func call 2019-01-14 16:11:08 -05:00
git_command.py Set GIT_SSH_VARIANT when setting GIT_SSH 2017-10-19 14:39:26 -07:00
git_config.py Add support for long paths 2018-10-22 08:16:35 -07:00
git_refs.py Add support for long paths 2018-10-22 08:16:35 -07:00
git_ssh Don't allow git fetch to start ControlMaster 2010-10-29 08:15:14 -07:00
gitc_utils.py gitc: Lower concurrent ls-projects requests 2016-08-23 14:19:00 -07:00
main.py Remove unused pylint suppressions 2018-07-24 22:20:08 +08:00
manifest_xml.py Add support for long paths 2018-10-22 08:16:35 -07:00
pager.py Support pager on Windows 2017-08-31 13:49:26 -07:00
platform_utils_win32.py Windows: Add support for creating symlinks as an unprivileged user 2018-10-03 09:41:09 -07:00
platform_utils.py platform_utils: Fix exception handling in _walk_windows_impl 2018-11-06 09:25:35 +09:00
progress.py Always print percentage when syncing quietly 2017-07-15 16:44:55 +00:00
project.py sync: respect --force-sync when fetching updates 2019-03-18 21:31:03 -04:00
pyversion.py Move Python version checking to a separate module 2013-05-23 07:28:53 +00:00
README.md README: link in new bug tracker 2018-12-20 02:11:46 -05:00
repo init: Remove -c short option for --current-branch 2018-12-20 19:55:02 +00:00
SUBMITTING_PATCHES.md Replace pylint with pyflakes/flake8 2016-09-14 09:49:02 +02:00
trace.py Change print statements to work in python3 2012-11-13 17:33:56 -08:00
wrapper.py Add wrapper module 2014-01-30 15:17:09 -08: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.