if (packed_refs_lock(refs->packed_ref_store, 0, &err))
goto error;
- transaction = ref_store_transaction_begin(refs->packed_ref_store, 0, &err);
+ transaction = ref_store_transaction_begin(refs->packed_ref_store,
+ REF_TRANSACTION_SKIP_HOOK, &err);
if (!transaction)
goto error;
*/
if (!packed_transaction) {
packed_transaction = ref_store_transaction_begin(
- refs->packed_ref_store, 0, err);
+ refs->packed_ref_store,
+ REF_TRANSACTION_SKIP_HOOK, err);
if (!packed_transaction) {
ret = TRANSACTION_GENERIC_ERROR;
goto cleanup;
&affected_refnames))
BUG("initial ref transaction called with existing refs");
- packed_transaction = ref_store_transaction_begin(refs->packed_ref_store, 0, err);
+ packed_transaction = ref_store_transaction_begin(refs->packed_ref_store,
+ REF_TRANSACTION_SKIP_HOOK, err);
if (!packed_transaction) {
ret = TRANSACTION_GENERIC_ERROR;
goto cleanup;
git update-ref -d refs/heads/to-be-deleted $POST_OID &&
# We only expect a single hook invocation, which is the logical
- # deletion. But currently, we see two interleaving transactions, once
- # for deleting the loose refs and once for deleting the packed ref.
+ # deletion.
cat >expect <<-EOF &&
- prepared
- $ZERO_OID $ZERO_OID refs/heads/to-be-deleted
prepared
$POST_OID $ZERO_OID refs/heads/to-be-deleted
committed
- $ZERO_OID $ZERO_OID refs/heads/to-be-deleted
- committed
$POST_OID $ZERO_OID refs/heads/to-be-deleted
EOF