[RFC] New ports idea: github / gitorious / bitbucket direct support.

perryh at pluto.rain.com perryh at pluto.rain.com
Sat Sep 10 23:14:07 UTC 2011


"Matthew D. Fuller" <fullermd at over-yonder.net> wrote:
> On Sat, Sep 10, 2011 at 07:03:41AM -0700 I heard the voice of
> perryh at 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
  consistent.

* 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
  history.

* 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.


More information about the freebsd-ports mailing list