Show 35 quoted lines
> This series teaches the tag, replace, commit, cherry-pick,
> fast-import, checkout -b, branch, receive-pack, and http-fetch
> commands and all update_ref and delete_ref callers to use the ref
> transaction API instead of lock_ref_sha1.
>
> The main user-visible change should be some cosmetic changes to error
> messages. The series also combines multiple ref updates into a single
> transaction in 'git http-fetch -w' and when writing tags in
> fast-import but otherwise doesn't change the granularity of
> transactions.
>
> Reviewed at https://code-review.googlesource.com/#/q/topic:ref-transaction-1
>
> ----------------------------------------------------------------
> Ronnie Sahlberg (20):
> refs.c: change ref_transaction_create to do error checking and return status
> refs.c: update ref_transaction_delete to check for error and return status
> refs.c: make ref_transaction_begin take an err argument
> refs.c: add transaction.status and track OPEN/CLOSED
> tag.c: use ref transactions when doing updates
> replace.c: use the ref transaction functions for updates
> commit.c: use ref transactions for updates
> sequencer.c: use ref transactions for all ref updates
> fast-import.c: change update_branch to use ref transactions
> branch.c: use ref transaction for all ref updates
> refs.c: change update_ref to use a transaction
> receive-pack.c: use a reference transaction for updating the refs
> fast-import.c: use a ref transaction when dumping tags
> walker.c: use ref transaction for ref updates
> refs.c: make lock_ref_sha1 static
> refs.c: remove the update_ref_lock function
> refs.c: remove the update_ref_write function
> refs.c: remove lock_ref_sha1
> refs.c: make prune_ref use a transaction to delete the ref
> refs.c: make delete_ref use a transaction