Re: Most Recently Published >= Development
Martin Kobetic <kobetic <at> rogers.com>
2005-12-01 04:59:10 GMT
Steven Kelly wrote:
> One thing I've found out recently is that searching for the "most
> recently published version of a package with blessing >= Development" is
> actually a really bad idea. As soon as you start to get forks in your
> version tree, the most recently published version may not be in the fork
> you want. For instance, we have a released version 4.0 of MetaEdit+ and
> versions after that (4.1, 4.2...) are development for the next version,
> 4.5. Sometimes though I'll go back to the 4.0 version and add a patch
> there to solve a customer problem, creating 4.0.1. If I try and build
> 4.5 by "most recent >= Development" I'll inadvertently pick up the 4.0.1
> version. Conversely, if I'm trying to build a server release of 4.0.1
> I'll probably get lots of stuff that's only intended for 4.5.
I was running into this problem trying to keep up with our weekly
builds. Now I'm using the attached hacks to get around this. The hack is
rather simple, it assumes that each branch is trivially distinguishable
based on version stamps.
These hacks refers to two globals that I would set as follows for the
7.4 release cycle: Release := '7.4%'. OldRelease := '7.3%'. I can then
be sure that when I do "Package loadLatestVersionWithName: 'X'", that I
will get either latest '7.4....' or if there is no such version then
latest '7.3....' otherwise latest overall. I used the globals to keep my
scripts concise (I load a lot of stuff into my development images), they
can be easily turned into additional message arguments. Note that the
version stamp patterns have to use the SQL wildcarding $%, not $* .
Anyway, nothing terribly clever, but since you've asked .