Go to file
Mike Frysinger 6da17751ca prune: handle branches that track missing branches
Series of steps:
* Create a local "b1" branch with `repo start b1` that tracks a remote
  branch (totally fine)
* Manually create a local "b2" branch with `git branch --track b1 b2`
  that tracks the local "b1" (uh-oh...)
* Delete the local "b1" branch manually or via `repo prune` (....)
* Try to process the "b2" branch with `repo prune`

Since b2 tracks a branch that no longer exists, everything blows up
at this point as we try to probe the non-existent ref.  Instead, we
should flag this as unknown and leave it up to the user to resolve.

This probably could come up if a local branch was tracking a remote
branch that was deleted from the server, and users ran something like
`repo sync --prune` which cleaned up the remote refs.

Bug: https://crbug.com/gerrit/11485
Change-Id: I6b6b6041943944b8efa6e2ad0b8b10f13a75a5c2
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/236793
Reviewed-by: David Pursehouse <dpursehouse@collab.net>
Reviewed-by: Kirtika Ruchandani <kirtika@google.com>
Reviewed-by: Mike Frysinger <vapier@google.com>
Tested-by: Mike Frysinger <vapier@google.com>
2019-11-16 19:55:02 +00:00
docs python-support: adjust major versions 2019-10-11 06:56:03 +00:00
hooks hooks/pre-auto-gc-battery: allow gc to run on non-laptops 2018-07-11 13:45:58 -07:00
subcmds prune: handle branches that track missing branches 2019-11-16 19:55:02 +00:00
tests prune: handle branches that track missing branches 2019-11-16 19:55:02 +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 command: filter projects by active manifest groups 2019-10-08 20:15:08 +00:00
COPYING Initial Contribution 2008-10-21 07:00:00 -07:00
editor.py use open context managers in more places 2019-11-12 03:44:39 +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 git_command: set GIT_HTTP_USER_AGENT on all requests 2019-10-01 05:47:17 +00:00
git_config.py use open context managers in more places 2019-11-12 03:44:39 +00:00
git_refs.py use open context managers in more places 2019-11-12 03:44:39 +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 Only import imp on py2 2019-10-05 04:41:40 +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 sync: make .git init more robust 2019-11-12 03:44:33 +00:00
progress.py sync: merge project updates with status bar 2019-11-12 23:33:51 +00:00
project.py prune: handle branches that track missing branches 2019-11-16 19:55:02 +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 use open context managers in more places 2019-11-12 03:44:39 +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.