prune_ref(): call `ref_transaction_add_update()` directly
authorMichael Haggerty <mhagger@alum.mit.edu>
Sun, 5 Nov 2017 08:42:02 +0000 (09:42 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 6 Nov 2017 01:31:07 +0000 (10:31 +0900)
commitb00f3cfa92d10d7180e6baf01d570eb904b5a592
tree41fc2af60d04d9e5608b479baaf4535104d4e41b
parentb0ca411051d8444b4b32bda3fdd0aba871035d2a
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>
refs.h
refs/files-backend.c