Re: [Distutils] Common version-comparison semantics for peace love and harmony
In a message of Sat, 28 Nov 2009 21:34:00 +0900, David Cournapeau writes:
On Sat, Nov 28, 2009 at 9:22 PM, Laura Creighton <lac@openend.se> wrote:
In a message of Sat, 28 Nov 2009 11:01:45 GMT, Floris Bruynooghe writes :
On Sat, Nov 28, 2009 at 10:50:36AM +0100, Laura Creighton wrote:
But I think that it is the other way around ... what we want is a timestamp. Â The algorithm is for guessing which version is ealier in the absence of a timestamp.
Does this work when you have a two maintenance branches releasing in parallel? Â Consider this example:
2009-01-01: 1.0 2009-02-01: 1.1 2009-02-20: 1.0.1 Â Â (1.0 maint branch) 2009-02-21: 1.1.1 Â Â (1.1 maint branch)
Regards Floris
Not if the only thing you sort on is the date -- which by the way shoul d have hours and minutes as well -- because, as you say that is not enoug h to tell the 1.1 branch from the 1.0 branch. Â But once you have a name fo r a series of releases, then a timestamp can sort the series.
Let us say that you now find a horrible bug and make:
2009-02-22-22:01: 1.0.2 2009-02-22-22:04: 1.1.2
Now I want to say 'requires this bugfix'. Right now I think that if I say requires 1.0.2 or later, then people with 1.1 will expect that they are ok, when they are not. Â Or am I misunderstanding?
This is a slippery road. You will always find cases where any version scheme will fail if you start caring about those issues through version schemes only. In your example, that would be if different micro releases are not synchronized, which happens quite often in my experience.
cheers,
David
Yes, this is why I am coming to the conclusion that we are asking too much of a versioning scheme. Thus I think we need, instead, a way to specify two things. First of all Requires-Dist: needs to be able to specify multiple branches. And second of all we need to get a unique name for a branch. But once we have that, we can work on timestamps to find 'later' -- and we won't have to worry if people need to make 3.0.gamma or 3.0.c4 in the future because their beta went really badly, or something. And, all the while, there will be the strict naming convention for those of us who like such things, and I am one of them. I just want to be able to interoperate with people who don't. Laura
On Sat, Nov 28, 2009 at 1:52 PM, Laura Creighton <lac@openend.se> wrote: [...]
Yes, this is why I am coming to the conclusion that we are asking too much of a versioning scheme.
Thus I think we need, instead, a way to specify two things.
First of all Requires-Dist: needs to be able to specify multiple branches. And second of all we need to get a unique name for a branch. But once we have that, we can work on timestamps to find 'later' -- and we won't have to worry if people need to make 3.0.gamma or 3.0.c4 in the future because their beta went really badly, or something.
Do you mean that people will have to provide a unique name for each branch of their project ? I don't think that moving this complexity to the Requires-Dist field is going to help, but maybe, you could provide some examples of defining some versions dependencies, for several branches, with development versions, pre-release versions etc ? Regards, Tarek
participants (2)
-
Laura Creighton
-
Tarek Ziadé