Skip to content

Commit

Permalink
ref_transaction_delete(): remove "have_old" parameter
Browse files Browse the repository at this point in the history
Instead, verify the reference's old value if and only if old_sha1 is
non-NULL.

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>
  • Loading branch information
Michael Haggerty authored and Junio C Hamano committed Feb 17, 2015
1 parent 1d147bd commit fb5a6bb
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 12 deletions.
3 changes: 1 addition & 2 deletions builtin/receive-pack.c
Original file line number Diff line number Diff line change
Expand Up @@ -953,8 +953,7 @@ static const char *update(struct command *cmd, struct shallow_info *si)
if (ref_transaction_delete(transaction,
namespaced_name,
old_sha1,
0, old_sha1 != NULL,
"push", &err)) {
0, "push", &err)) {
rp_error("%s", err.buf);
strbuf_release(&err);
return "failed to delete";
Expand Down
5 changes: 3 additions & 2 deletions builtin/update-ref.c
Original file line number Diff line number Diff line change
Expand Up @@ -265,8 +265,9 @@ static const char *parse_cmd_delete(struct ref_transaction *transaction,
if (*next != line_termination)
die("delete %s: extra input: %s", refname, next);

if (ref_transaction_delete(transaction, refname, old_sha1,
update_flags, have_old, msg, &err))
if (ref_transaction_delete(transaction, refname,
have_old ? old_sha1 : NULL,
update_flags, msg, &err))
die("%s", err.buf);

update_flags = 0;
Expand Down
11 changes: 6 additions & 5 deletions refs.c
Original file line number Diff line number Diff line change
Expand Up @@ -2576,7 +2576,7 @@ static void prune_ref(struct ref_to_prune *r)
transaction = ref_transaction_begin(&err);
if (!transaction ||
ref_transaction_delete(transaction, r->name, r->sha1,
REF_ISPRUNING, 1, NULL, &err) ||
REF_ISPRUNING, NULL, &err) ||
ref_transaction_commit(transaction, &err)) {
ref_transaction_free(transaction);
error("%s", err.buf);
Expand Down Expand Up @@ -2753,8 +2753,9 @@ int delete_ref(const char *refname, const unsigned char *sha1, unsigned int flag

transaction = ref_transaction_begin(&err);
if (!transaction ||
ref_transaction_delete(transaction, refname, sha1, flags,
sha1 && !is_null_sha1(sha1), NULL, &err) ||
ref_transaction_delete(transaction, refname,
(sha1 && !is_null_sha1(sha1)) ? sha1 : NULL,
flags, NULL, &err) ||
ref_transaction_commit(transaction, &err)) {
error("%s", err.buf);
ref_transaction_free(transaction);
Expand Down Expand Up @@ -3696,11 +3697,11 @@ int ref_transaction_create(struct ref_transaction *transaction,
int ref_transaction_delete(struct ref_transaction *transaction,
const char *refname,
const unsigned char *old_sha1,
unsigned int flags, int have_old, const char *msg,
unsigned int flags, const char *msg,
struct strbuf *err)
{
return ref_transaction_update(transaction, refname,
null_sha1, have_old ? old_sha1 : NULL,
null_sha1, old_sha1,
flags, msg, err);
}

Expand Down
6 changes: 3 additions & 3 deletions refs.h
Original file line number Diff line number Diff line change
Expand Up @@ -295,8 +295,8 @@ int ref_transaction_create(struct ref_transaction *transaction,
struct strbuf *err);

/*
* Add a reference deletion to transaction. If have_old is true, then
* old_sha1 holds the value that the reference should have had before
* Add a reference deletion to transaction. If old_sha1 is non-NULL, then
* it holds the value that the reference should have had before
* the update (which must not be the null SHA-1).
* Function returns 0 on success and non-zero on failure. A failure to delete
* means that the transaction as a whole has failed and will need to be
Expand All @@ -305,7 +305,7 @@ int ref_transaction_create(struct ref_transaction *transaction,
int ref_transaction_delete(struct ref_transaction *transaction,
const char *refname,
const unsigned char *old_sha1,
unsigned int flags, int have_old, const char *msg,
unsigned int flags, const char *msg,
struct strbuf *err);

/*
Expand Down

0 comments on commit fb5a6bb

Please sign in to comment.