git-repo/subcmds
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
..
__init__.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
abandon.py split out cli validation from execution 2019-08-28 03:54:11 +00:00
branches.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
checkout.py split out cli validation from execution 2019-08-28 03:54:11 +00:00
cherry_pick.py split out cli validation from execution 2019-08-28 03:54:11 +00:00
diff.py diff: handle errors gracefully 2019-10-01 05:44:09 +00:00
diffmanifests.py split out cli validation from execution 2019-08-28 03:54:11 +00:00
download.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
forall.py forall: add an --ignore-missing option 2019-10-22 14:10:34 +00:00
gitc_delete.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
gitc_init.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
grep.py grep: handle errors gracefully 2019-10-01 05:45:58 +00:00
help.py help: add a --help-all option to show all commands at once 2019-08-27 07:07:24 +00:00
info.py info: fix "current" output 2019-10-05 05:24:34 +00:00
init.py split out cli validation from execution 2019-08-28 03:54:11 +00:00
list.py split out cli validation from execution 2019-08-28 03:54:11 +00:00
manifest.py use open context managers in more places 2019-11-12 03:44:39 +00:00
overview.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
prune.py prune: handle branches that track missing branches 2019-11-16 19:55:02 +00:00
rebase.py rebase: add basic coloring output 2019-09-24 04:17:03 +00:00
selfupdate.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
smartsync.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
stage.py set default file encoding to utf-8 2019-06-13 14:30:52 +00:00
start.py Add repo start option to create the branch based off HEAD 2019-09-04 04:34:50 +00:00
status.py status: import print_function 2019-06-14 14:13:23 +00:00
sync.py sync: merge project updates with status bar 2019-11-12 23:33:51 +00:00
upload.py use print() instead of sys.stdout.write() 2019-07-11 06:26:40 +00:00
version.py version: add source versions & User-Agents to the output 2019-10-01 05:47:35 +00:00