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 api
Stefan 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
--
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