summaryrefslogtreecommitdiff
path: root/refs.h
diff options
context:
space:
mode:
authorMichael Haggerty <mhagger@alum.mit.edu>2017-11-05 09:42:02 +0100
committerJunio C Hamano <gitster@pobox.com>2017-11-06 10:31:07 +0900
commitb00f3cfa92d10d7180e6baf01d570eb904b5a592 (patch)
tree41fc2af60d04d9e5608b479baaf4535104d4e41b /refs.h
parentb0ca411051d8444b4b32bda3fdd0aba871035d2a (diff)
downloadgit-b00f3cfa92d10d7180e6baf01d570eb904b5a592.tar.gz
prune_ref(): call `ref_transaction_add_update()` directly
`prune_ref()` needs to use the `REF_ISPRUNING` flag, but we want to make that flag private to the files backend. So instead of calling `ref_transaction_delete()`, which is a public function and therefore shouldn't allow the `REF_ISPRUNING` flag, change `prune_ref()` to call `ref_transaction_add_update()`, which is private to the refs module. (Note that we don't need any of the other services provided by `ref_transaction_delete()`.) This allows us to change `ref_transaction_update()` to reject the `REF_ISPRUNING` flag. Do so by adjusting `REF_TRANSACTION_UPDATE_ALLOWED_FLAGS`. Also add parentheses to its definition to avoid potential future mishaps. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refs.h')
-rw-r--r--refs.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/refs.h b/refs.h
index 15fd419c7d..4ffef9502d 100644
--- a/refs.h
+++ b/refs.h
@@ -349,9 +349,7 @@ int refs_pack_refs(struct ref_store *refs, unsigned int flags);
* Flags that can be passed in to ref_transaction_update
*/
#define REF_TRANSACTION_UPDATE_ALLOWED_FLAGS \
- REF_ISPRUNING | \
- REF_FORCE_CREATE_REFLOG | \
- REF_NODEREF
+ (REF_NODEREF | REF_FORCE_CREATE_REFLOG)
/*
* Setup reflog before using. Fill in err and return -1 on failure.