Re: Tracking branch history
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- May 13, 2006, 04:38 UTC
- Message-ID
- <Pine.LNX.4.64.0605122136100.3866@g5.osdl.org>
- In-Reply-To
- <20060513034051.GA21586@spearce.org>
On Fri, 12 May 2006, Shawn Pearce wrote:
Show 14 quoted lines
> > Why not intergrate this into git-update-ref. Almost every tool which > deals with a GIT repository (aside from my pure-Java Eclipse plugin > which is still a major work-in-process) performs ref changes through > git-udpate-ref. So just have it append the ref's history to a file: > > .git/log/refs/heads/$branch > > where the history records are stored as: > > 40 byte commit-ish SHA1 > <SP> > <committer> > <LF>
Sure. Except it's not really "committer", in the ordinary sense (there's no "commit" for a fast-forward). But yes, re-using that format (with date and all) makes sense.
> Of course a major issue here is locking the log file during the ref > update, but it looks like it might just be safe to append the entry > to the log file right after the re_verify and before the rename.
I'd suggest just opening it with O_APPEND, and doing the update with a single write() system call. Let the OS do the locking for you.
Linus