On Sep 11, 2015, at 4:46 PM, Ron W <ronw.m...@gmail.com> wrote:
> 
> The commit ID really is a hash. It is the hash of the manifest artifact. The 
> manifest's 'D Card' has the date/time stamp of the commit. Also, the 
> manifest's 'P card' refers to the parent commit(s). Therefore, the commit IDs 
> of otherwise identical child commits will be different.

That certainly explains it.

I wonder if this is an implementation detail leaking through into the UI, 
though.  Under what conditions, except for Noam’s contrived example with 
hardcoded dates, is there a useful distinction between “hash” — implying a 
number that you could reliably recompute given all the input data — and “random 
number”?

Short of crawling the DB, you don’t have all the input data, so what does it 
matter how that hex string was computed?

For instance, why even mention “SHA1 Hash” on the checkin details page in 
fossil ui, from src/info.c?  Why not something more generic, like “checkin ID”?

While looking into this, I see evidence of past historical wrangling here: 
blob.uuid, for example, even though sizeof(SHA1) != sizeof(UUID).  I guess 
Fossil once used MD5 for these ID values, too, and not just for integrity 
checksumming?
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to