summaryrefslogtreecommitdiff
path: root/refs.c
diff options
context:
space:
mode:
authorMichael Haggerty <mhagger@alum.mit.edu>2015-02-17 17:00:20 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-02-17 19:24:55 (GMT)
commit60294596ba6bf2f63506ffad60b9a94fc04612a1 (patch)
tree1a64454810ce15c926ecae61114cfec5489c605b /refs.c
parentf04c5b5522214cd48b39399d1d26b07848fd0e52 (diff)
downloadgit-60294596ba6bf2f63506ffad60b9a94fc04612a1.zip
git-60294596ba6bf2f63506ffad60b9a94fc04612a1.tar.gz
git-60294596ba6bf2f63506ffad60b9a94fc04612a1.tar.bz2
ref_transaction_delete(): check that old_sha1 is not null_sha1
It makes no sense to delete a reference that is already known not to exist. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Reviewed-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refs.c')
-rw-r--r--refs.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/refs.c b/refs.c
index b9cf284..d5bfd11 100644
--- a/refs.c
+++ b/refs.c
@@ -3702,6 +3702,8 @@ int ref_transaction_delete(struct ref_transaction *transaction,
unsigned int flags, const char *msg,
struct strbuf *err)
{
+ if (old_sha1 && is_null_sha1(old_sha1))
+ die("BUG: delete called with old_sha1 set to zeros");
return ref_transaction_update(transaction, refname,
null_sha1, old_sha1,
flags, msg, err);