git-repo/subcmds
Mike Frysinger 0531a623e1 sync: make --prune the default
If a remote deletes a ref, and it points to an object that doesn't
exist locally, we can get into a bad state, and the only way for the
user to recover is to run `repo sync --prune` (and to know that is
the option they need).  The error message is not helpful:

fatal: bad object refs/remotes/cros/firmware-zork-13421.B-master
error: https://chromium.googlesource.com/chromiumos/platform/ec did not send all necessary objects

This situation can also come up when the remote renames refs in a
UNIX FS incompatible way.  For example, replacing refs/heads/foo
with refs/heads/foo/bar.

Also add a --no-prune option for users to disable the behavior.

Bug: https://issuetracker.google.com/203366450
Change-Id: Icf45d838a10938feb091d29800f7e49240830ec3
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/322956
Reviewed-by: Andrew Lamb <andrewlamb@google.com>
Tested-by: Mike Frysinger <vapier@google.com>
2021-11-05 20:13:30 +00:00
..
__init__.py strip python2-only coding:utf-8 & print_function settings 2021-01-06 18:53:05 +00:00
abandon.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
branches.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
checkout.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
cherry_pick.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
diff.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
diffmanifests.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
download.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
forall.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
gitc_delete.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
gitc_init.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
grep.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
help.py repo: refactor help output handling 2021-07-28 05:38:34 +00:00
info.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
init.py fetch: Fix stderr handling for gsutil 2021-10-26 22:18:28 +00:00
list.py list: add a --relative-to option 2021-07-27 06:20:52 +00:00
manifest.py manifest: Support ignoring local manifests with 'repo manifest' 2021-07-20 04:56:12 +00:00
overview.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
prune.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
rebase.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
selfupdate.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
smartsync.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
stage.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
start.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
status.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
sync.py sync: make --prune the default 2021-11-05 20:13:30 +00:00
upload.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00
version.py commands: document the "common" class attribute 2021-06-15 06:07:37 +00:00