"Matthew D. Fuller" <full...@over-yonder.net> wrote:
On Sat, Sep 10, 2011 at 07:03:41AM -0700 I heard the voice of
per...@pluto.rain.com, and lo! it spake thus:
If I am understanding correctly, you seem to be saying that two
distfiles autogenerated from the _same_ tag etc. in the _same_
repository, and actually containing exactly the same code, can
nevertheless generate different checksums!? Wouldn't that be a
bug in the DVCS?
There're all sorts of ways the same content could wind up with
different checksums. The compression may happen slightly differently,
higher, or lower. The files could wind up in the tarball in a
different order. Timestamps could differ. etc.
I can't address the non-specific "etc", but I would claim that each
of those 3 specific examples is a VCS bug. Creating a tarball of a
particular content set _should_ be a deterministic process:
* The compression method, and the ordering of the files, should be
* Each file's timestamp in the tarball should be the selected
version's timestamp as recorded in the repository, typically the
time when the selected version of that file was committed to the
VCS. Ditto for directories, provided the VCS maintains directory
* If the VCS does _not_ maintain directory history (which is a
deficiency, but not really a "bug"), each directory's timestamp
in the tarball should match the most-recent file or subdirectory
in that directory.