From: Junio C Hamano Date: Thu, 29 Nov 2012 16:42:40 GMT Subject: Re: Millisecond precision in timestamps? Message-ID: <7vtxs8qs1r.fsf@alter.siamese.dyndns.org> In-Reply-To: <20121129103847.GA9264@thyrsus.com> "Eric S. Raymond" writes: > Felipe Contreras : >> On Thu, Nov 29, 2012 at 8:11 AM, Junio C Hamano wrote: >> > Steven Michalske writes: >> > >> >> Would having arbitrary key value pairs be useful in the git data >> >> model? >> > >> > My answer to the question is that it is harmful to the data model, >> > but the benefit of going against the data model _may_ outweigh the >> > downside. It is all relative. > > My use case for a capability like this is one of the more common ones. > I want to be able to store a fossil commit-ID inherited from another > VCS outside the commit comment. That is exactly why I said it is all relative. If it helps your application, you can weigh the pros-and-cons yourself and choose to throw "junk" extended header fields in the commit objects you create, using hash-object (or commit-tree). You can read it out using cat-file and do whatever you want to do with it, and modern Git (v1.5.0 was from early 2007) and tools that are designed to work with Git know to ignore such "junk" field. > The absence of a key/value store forces me into some annoying > kludges. Do not do annoying kludge, then. Come up with a method to encode your list of (key,value) tuples into a single string, throw a custom extra header after all the standard header fields in, perhaps like this: tree 0664b9c82d87269b335ff78f32d0e4a504f58cfc author A U Thor 1355999999 +0900 committer C O Mitter 1355999999 +0900 encoding iso-2022-jp reposurgeon-metadata your-serialized-list-of-key-value-tuples second-line-of-such-serialization third-line-of-such-serialization My first commit Signed-off-by: A U Thor Signed-off-by: C O Mitter