branch -d: simplify by using RESOLVE_REF_READING
authorRonnie Sahlberg <sahlberg@google.com>
Thu, 11 Sep 2014 17:34:36 +0000 (10:34 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 15 Oct 2014 17:47:25 +0000 (10:47 -0700)
commit18f29fc61ed88145a0664657c3cea9e9732ea5e8
tree6f208e327b47bf35a3d6e52018c045aeab3ec9d7
parent62a2d52514aed2b684409cb48e40e0cd14335d1b
branch -d: simplify by using RESOLVE_REF_READING

When "git branch -d" reads the branch it is about to delete, it used
to avoid passing the RESOLVE_REF_READING ('treat missing ref as
error') flag because a symref pointing to a nonexistent ref would show
up as missing instead of as something that could be deleted.  To check
if a ref is actually missing, we then check

 - is it a symref?
 - if not, did it resolve to null_sha1?

Now we pass RESOLVE_REF_NO_RECURSE and the correct information is
returned for a symref even when it points to a missing ref.  Simplify
by relying on RESOLVE_REF_READING.

No functional change intended.

Signed-off-by: Ronnie Sahlberg <sahlberg@google.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/branch.c