Default revision of 1
Kevin Van Vechten
kvv at apple.com
Tue Oct 10 14:55:45 PDT 2006
Epochs are intended to be rarely used, only when the upstream version
is inherently 'broken'. Normally some magic version comparison is
done that "does the right thing" and determines that 1.4.1 > 1.4.0.
However, sometimes this isn't possible, take for example foo-1.4.0,
foo-20061010, foo-1.4.1 (released in that order). The normal version
comparison won't work, so the epoch provides a workaround by being
more significant than the version. In order to make this example
collate properly, you'd want to have:
{ name = foo, epoch = 0, version = 1.4.0, revision = 0 }
{ name = foo, epoch = 1, version = 20061010, revision = 0 }
{ name = foo, epoch = 2, version = 1.4.1, revision = 0 }
It seems to me that separating the development ports from the
official ports is best achieved by manipulating the port sources, not
by overloading or redefining the meaning of epochs and revisions.
- Kevin
On Oct 10, 2006, at 2:49 PM, James Berry wrote:
>
> On Oct 10, 2006, at 2:04 PM, Blair Zajac wrote:
>> I haven't tried epochs, but will (epoch=1, name=subversion,
>> version=1.4.1, revision=21872) be greater than (epoch=0,
>> name=subversion, version=1.4.0, revision=0)? Here 21872 is the
>> HEAD revision for Subversion's repository. Does epoch trump
>> version and revision numbers.
>
> Yes, epoch is the most significant thing. It will win over version
> and revision.
>
> epoch defaults to 0 if it's not present, which is why I suggested
> that you might want to use a negative epoch for your internal use.
>
> James.
More information about the macports-dev
mailing list