Subject: Re: [PATCH v8 34/44] refs.c: make prune_ref use a transaction to delete the ref

From: Jonathan Nieder <[email-masked]>
Date: Wed, 21 May 2014 16:01:39 -0700

Ronnie Sahlberg wrote:

> Change prune_ref to delete the ref using a ref transaction. To do this we also
> need to add a new flag REF_ISPRUNING that will tell the transaction that we
> do not want to delete this ref from the packed refs.

Interesting.  Since the flag is per ref update, it even would allow
deleting some refs and pruning others in the same transaction.  Makes
sense.

Looks like this doesn't batch up multiple ref-prunings into a single
transaction.  Makes sense (it would just make the period while refs
are locked longer without having any real benefit).

[...]
> +#define REF_ISPRUNING	0x0100

Can this conflict with bit values declared elsewhere some day?  It
would be more comfortable if refs.h also had a note about bits >=
0x100 being reserved for private use.

The rest of the patch looks good.

Thanks,
Jonathan