summaryrefslogtreecommitdiff
path: root/xdiff/xmerge.c
diff options
context:
space:
mode:
authorRené Scharfe <rene.scharfe@lsrfire.ath.cx>2012-10-18 14:07:11 +0200
committerJunio C Hamano <gitster@pobox.com>2012-10-18 14:36:17 -0700
commit0fe700e311f2d7e55eb23fe941fab9155d7f91df (patch)
tree0ab1992cb3fc0eeb2f0ccbf09c073fb2da0e9c02 /xdiff/xmerge.c
parent566c7707db4eb18a116659b08d6ff7ad79fcfefd (diff)
downloadgit-0fe700e311f2d7e55eb23fe941fab9155d7f91df.tar.gz
branch: skip commit checks when deleting symref branches
Before a branch is deleted, we check that it points to a valid commit. With -d we also check that the commit is a merged; this check is not done with -D. The reason for that is that commits pointed to by branches should never go missing; if they do then something broke and it's better to stop instead of adding to the mess. And a non-merged commit may contain changes that are worth preserving, so we require the stronger option -D instead of -d to get rid of them. If a branch consists of a symref, these concerns don't apply. Deleting such a branch can't make a commit become unreferenced, so we don't need to check if it is merged, or even if it is actually a valid commit. Skip them in that case. This allows us to delete dangling symref branches. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'xdiff/xmerge.c')
0 files changed, 0 insertions, 0 deletions