[PATCH v2 00/24] Add reflog_expire() to the references API
- From
Michael Haggerty <mhagger@alum.mit.edu>
- Date
- Dec 12, 2014, 08:56 UTC
- Message-ID
- <1418374623-5566-1-git-send-email-mhagger@alum.mit.edu>
This is v2 of the series. Thanks to Jonathan, Stefan, Junio, and Ronnie for their feedback on v1 [1]. I think I have addressed all of the issues that were raised.
Changes since v1:
* Several improvements to commit messages and comments; added some Reviewed-by comments from the mailing list.
* Change the signature of expire_reflog() early in the series to cast off its heritage as an each_ref_fn.
* Move the static lock_file object into expire_reflog(), and explain the locking policy better.
* Report errors if hold_lock_file_for_update() or fdopen_lock_file() fails.
* Fix the capitalization in some error messages.
* When "enum expire_reflog_flags" is first introduced, put its definition earlier in the file so that a later patch in the series doesn't have to move it.
* Rename reflog_expiry_select_fn to reflog_expiry_should_prune_fn.
* Append Stefan's patch 24/24 "refs.c: let fprintf handle the formatting"
This branch is also available on GitHub:
https://github.com/mhagger/git.git, branch reflog-expire-api-v2
Michael
[1] http://thread.gmane.org/gmane.comp.version-control.git/260812
Michael Haggerty (18): expire_reflog(): it's not an each_ref_fn anymore expire_reflog(): rename "ref" parameter to "refname" expire_reflog(): return early if the reference has no reflog expire_reflog(): use a lock_file for rewriting the reflog file Extract function should_expire_reflog_ent() expire_reflog(): extract two policy-related functions expire_reflog(): add a "flags" argument expire_reflog(): move dry_run to flags argument expire_reflog(): move updateref to flags argument Rename expire_reflog_cb to expire_reflog_policy_cb struct expire_reflog_cb: a new callback data type expire_reflog(): pass flags through to expire_reflog_ent() expire_reflog(): move verbose to flags argument expire_reflog(): move rewrite to flags argument Move newlog and last_kept_sha1 to "struct expire_reflog_cb" expire_reflog(): treat the policy callback data as opaque reflog_expire(): new function in the reference API lock_any_ref_for_update(): inline function
Ronnie Sahlberg (4):
refs.c: make ref_transaction_create a wrapper for
ref_transaction_update
refs.c: make ref_transaction_delete a wrapper for
ref_transaction_update
refs.c: add a function to append a reflog entry to a fd
refs.c: remove unlock_ref/close_ref/commit_ref from the refs apiStefan Beller (2): refs.c: don't expose the internal struct ref_lock in the header file refs.c: let fprintf handle the formatting
builtin/reflog.c | 259 ++++++++++++++++++++++-------------------------------- refs.c | 263 ++++++++++++++++++++++++++++++++++++++----------------- refs.h | 75 ++++++++++------ 3 files changed, 332 insertions(+), 265 deletions(-)
-- 2.1.3