Philip Oakley <philipoakley@xxxxxxx>: > > But I don't quite understand your claim that there's no format > > breakage here, unless you're implying to me that timestamps are already > > stored in the git file system as variable-length strings. Do they > > really never get translated into time_t? Good news if so. > Maybe just take some of the object ID bits as being the fractional time > timestamp. They are effectively random, so should do a reasonable job of > distinguishing commits in a repeatable manner, even with full round tripping > via older git versions (as long as the sha1 replicates...) Huh. That's an interesting idea. Doesn't absolutely guarantee uniqueness, but even with birthday effect the probability of collisions could be pulled arbitrarily low. > As I understand it the commit timestamp is actually free text within the > commit object (try `git cat-file -p <commit_object>), so the issue is > whether the particular git version is ready to accept the additional 'dot' > factional time notation (future versions could be extended, but I think old > ones would reject them if I understand the test up thread - which would > compromise backward compatibility and round tripping). Nobody seems to want to grapple with the fact that changing hash formats is as large or larger a problem in exactly the same way. I'm not saying that changing the timestamp granularity justifies a format break. I'm saying that *since you're going to have one anyway*, the option to increase timestamp precision at the same time should not be missed. -- <a href="http://www.catb.org/~esr/">Eric S. Raymond</a>