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