summaryrefslogtreecommitdiff
path: root/refs.c
diff options
context:
space:
mode:
authorMichael Haggerty <mhagger@alum.mit.edu>2015-04-24 11:35:48 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-05-13 04:28:03 (GMT)
commitcbf50f9e3d8e54f09ebbe6159a1bdd622c6c2f26 (patch)
tree0e6b5a35ff7fa0f8f783190576a399f13b832194 /refs.c
parent61e51e0000073b684eaf5393ae2229f4f62f35c9 (diff)
downloadgit-cbf50f9e3d8e54f09ebbe6159a1bdd622c6c2f26.zip
git-cbf50f9e3d8e54f09ebbe6159a1bdd622c6c2f26.tar.gz
git-cbf50f9e3d8e54f09ebbe6159a1bdd622c6c2f26.tar.bz2
ref_transaction_commit(): remove the local flags variable
Instead, work directly with update->flags. This has the advantage that the REF_DELETING bit, set in the first loop, can be read in the second loop instead of having to be recomputed. Plus, it was potentially confusing having both update->flags and flags, which sometimes had different values. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refs.c')
-rw-r--r--refs.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/refs.c b/refs.c
index 6cb1476..8dad0df 100644
--- a/refs.c
+++ b/refs.c
@@ -3763,16 +3763,16 @@ int ref_transaction_commit(struct ref_transaction *transaction,
/* Acquire all locks while verifying old values */
for (i = 0; i < n; i++) {
struct ref_update *update = updates[i];
- unsigned int flags = update->flags;
- if ((flags & REF_HAVE_NEW) && is_null_sha1(update->new_sha1))
- flags |= REF_DELETING;
+ if ((update->flags & REF_HAVE_NEW) &&
+ is_null_sha1(update->new_sha1))
+ update->flags |= REF_DELETING;
update->lock = lock_ref_sha1_basic(
update->refname,
((update->flags & REF_HAVE_OLD) ?
update->old_sha1 : NULL),
NULL,
- flags,
+ update->flags,
&update->type);
if (!update->lock) {
ret = (errno == ENOTDIR)
@@ -3787,9 +3787,9 @@ int ref_transaction_commit(struct ref_transaction *transaction,
/* Perform updates first so live commits remain referenced */
for (i = 0; i < n; i++) {
struct ref_update *update = updates[i];
- int flags = update->flags;
- if ((flags & REF_HAVE_NEW) && !is_null_sha1(update->new_sha1)) {
+ if ((update->flags & REF_HAVE_NEW)
+ && !is_null_sha1(update->new_sha1)) {
int overwriting_symref = ((update->type & REF_ISSYMREF) &&
(update->flags & REF_NODEREF));
@@ -3822,15 +3822,15 @@ int ref_transaction_commit(struct ref_transaction *transaction,
/* Perform deletes now that updates are safely completed */
for (i = 0; i < n; i++) {
struct ref_update *update = updates[i];
- int flags = update->flags;
- if ((flags & REF_HAVE_NEW) && is_null_sha1(update->new_sha1)) {
+ if ((update->flags & REF_HAVE_NEW)
+ && is_null_sha1(update->new_sha1)) {
if (delete_ref_loose(update->lock, update->type, err)) {
ret = TRANSACTION_GENERIC_ERROR;
goto cleanup;
}
- if (!(flags & REF_ISPRUNING))
+ if (!(update->flags & REF_ISPRUNING))
string_list_append(&refs_to_delete,
update->lock->ref_name);
}