git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[RFC 0/5] Log history of a ref

From
Shawn Pearce <spearce@spearce.org>
Date
May 17, 2006, 09:54 UTC
Message-ID
<20060517095417.GA28529@spearce.org>

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.
Message 1 of 1 in “[RFC 0/5] Log history of a ref”
  1. Shawn PearceMay 17, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.