These patches can also be found at:
https://github.com/rsahlberg/git/tree/ref-transactions-reflog
This series is based on, and applies ontop of, the previous 48 patch long
ref-transaction series that is now in origin/pu.
This series introduces support for reflog updates to the transaction framework
and ends up re-factoring reflog.c to use a single atomic transaction for
updating both the ref and its reflog.
With these changes we also reduce the number of places where we build and write
a reflog entry to a single function which makes maintenance easier.
Several functions that act on reflogs can now be made private to refs.c
since we no longer need to export them.
This is version 3:
- Update and rebased ontop of the current ref-transactions series.
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 | 84 +++++------
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 | 377 ++++++++++++++++++++++++++++++++++---------------
refs.h | 109 +++++++-------
sequencer.c | 12 +-
walker.c | 16 +--
16 files changed, 448 insertions(+), 300 deletions(-)
--
2.0.0.467.g08c0633
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html