On Fri, Sep 11, 2015 at 5:28 PM, Warren Young <w...@etr-usa.com> wrote:

> It isn’t really a hash since it isn’t computed from the contents of the
> artifact.  It’s just a random number, expressed as a long hex string.  It
> *looks* like a hash, but it isn’t.  Proof:
>
>   cd ~/tmp
>   f new ../x.fossil
>   f new ../y.fossil
>   f open ../x.fossil
>   touch foo
>   f add foo
>   f ci -m .
>   f close
>   f open ../y.fossil
>   f add foo
>   f ci -m .
>   f close
>
> Notice that the “hashes” change value in both identical cases: the project
> codes are different, the initial checkout ID is different, and the checkin
> ID for “foo” in both cases is different, even though it hasn’t changed in
> any way.


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.

The 'foo' artifacts in the 2 repos, however, should have the same artifact
IDs,
_______________________________________________
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