This goes on top of Michaels series. The idea of this series is make the reflogs being part of the transaction API, so it will be part of the contract of transaction_commit to either commit all the changes or none at all. Currently when using the transaction API to change refs, also reflogs are changed. But the changes to the reflogs just happen as a side effect and not as part of the atomic part of changes we want to commit altogether. Ronnie Sahlberg (3): refs.c: use a reflog transaction when writing during expire refs.c: rename log_ref_setup to create_reflog refs.c: allow deleting refs with a broken sha1 Stefan Beller (5): refs.c: let fprintf handle the formatting refs.c: rename the transaction functions refs.c: rename transaction.updates to transaction.ref_updates refs.c: add transaction function to append to the reflog refs.c: add transaction function to delete the reflog branch.c | 13 +- builtin/branch.c | 5 +- builtin/checkout.c | 8 +- builtin/commit.c | 10 +- builtin/fetch.c | 12 +- builtin/receive-pack.c | 13 +- builtin/replace.c | 10 +- builtin/tag.c | 10 +- builtin/update-ref.c | 26 ++-- cache.h | 7 + fast-import.c | 22 +-- refs.c | 359 ++++++++++++++++++++++++++++++++++--------------- refs.h | 43 +++--- sequencer.c | 12 +- t/t3200-branch.sh | 8 ++ walker.c | 10 +- 16 files changed, 359 insertions(+), 209 deletions(-) -- 2.2.0 -- 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