This patch series builds on the ref-transactions series added to origin/pu. It adds support for updating the reflog during a transaction and changes builtin/reflog.c to use a transaction. With this series in place we now have only one single place where we write reflog entries and only two places where we read and parse the entries (the two interators). This is version 2 of the series and is mainly rebased and tweaked to apply ontop of origin/pu and all the changes/conflicts between it and the previous base. Ronnie Sahlberg (14): refs.c make ref_transaction_create a wrapper to ref_transaction_update refs.c: make ref_transaction_delete a wrapper for ref_transaction_update refs.c: rename the transaction functions refs.c: add a new update_type field to ref_update refs.c: add a function to append a reflog entry to a fd lockfile.c: make hold_lock_file_for_append preserve meaningful errno refs.c: add a transaction function to append a reflog entry refs.c: add a flag to allow reflog updates to truncate the log refs.c: only write reflog update if msg is non-NULL refs.c: allow multiple reflog updates during a single transaction reflog.c: use a reflog transaction when writing during expire refs.c: rename log_ref_setup to create_reflog refs.c: make unlock_ref/close_ref/commit_ref static refs.c: remove lock_any_ref_for_update branch.c | 11 +- builtin/checkout.c | 8 +- builtin/commit.c | 14 +- builtin/fetch.c | 12 +- builtin/receive-pack.c | 14 +- builtin/reflog.c | 85 +++++----- builtin/replace.c | 10 +- builtin/tag.c | 10 +- builtin/update-ref.c | 22 +-- copy.c | 20 ++- fast-import.c | 22 +-- lockfile.c | 7 +- refs.c | 428 +++++++++++++++++++++++++++++++++---------------- refs.h | 109 +++++++------ sequencer.c | 12 +- walker.c | 16 +- 16 files changed, 475 insertions(+), 325 deletions(-) -- 2.0.0.770.gd892650.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html