The following 5 [RFC] patches from me are all related to logging changes made to a ref. These patches contain the same basic idea as the two patches I floated earlier this week. Log files reside in .git/logs<ref> and logging is enabled either by creating the log file or by setting 'core.logAllRefUpdates' to true. Summary is: * [RFC 1/5] Remove unnecessary local in get_ref_sha1. A minor code cleanup. * [RFC 2/5] Improve abstraction of ref lock/write. A major reorg of the write_ref_sha1 APIs. This reorg allows all internal code to use the same logic for updating any ref, which makes it much easier to hook logging in. * [RFC 3/5] Convert update-ref to use ref_lock API. Modify update-ref to use the reorg'd write_ref_sha1 API. * [RFC 4/5] Log ref updates to logs/refs/<ref> Add logging of refs. This is the pretty much my latest logging patch but cleaned up and built on the above. * [RFC 5/5] Support 'master@2 hours ago' syntax Extend the SHA1 syntax to search the log for the SHA1 which was valid at the given point in time. I still need to fix the receive-pack code to log ref changes prior to running the update hook. I'll probably look at that later this week. I also need to edit the ~20 sites which call 'git-update-ref' to make use of the new "-m <reason>" flag. -- Shawn. - : 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