James Berry wrote:
On Oct 9, 2006, at 8:23 PM, Blair Zajac wrote:
When I'm developing a new port or want to override the default port in MacPort's svn with a local port of a newer upstream release, it would be nice to have a range of revision numbers that is smaller than any revision number from MacPort's svn repository.
Well, to keep revisions sacrosanct , which kvv argues for and I agree with, another option might be to use small negative epoch values.
I think committed revision numbers should be integers, but start at 1.
I believe epoch defaults to zero. So if you used a small negative epoch for your internal development, and removed epoch on release, I believe you'd have a solution to your problem. Assuming that all the epoch comparisons work correctly for negative numbers, which they probably do. You'd need to do some testing to figure verify this.
The nice thing, of course, is that maps well to the intended use of epoch: version numbering in entirely different spaces.
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. I wasn't clear concerning how I manage local ports and how I would like them to work. 1) I set up my own Port repository and enable it in /opt/local/etc/ports/sources.conf. 2) I develop an updated Portfile for my local Port repository. I use epoch=-1 or revision=0.01 or some technique. 3) I submit the patch into Trac. 4) When the Port owner commits the patch, my version is automatically outdated and I update to the official version. Currently, I have no way of maintain my own port that will be outdated by an official Portfile, because the default revision is 0. Regards, Blair