Question

The subversion repository layout follows the /trunk /branches/... pattern, so we have:

/trunk
/branches/stable-20100716
/branches/stable-20111231
/branches/stable-20110401
/branches/specialversion
/tags/some-tag

Then, we have a build server which can build the trunk and the current stable version.

Question is: How does the build server find the current stable version?

We use CruiseControl (java version) and ant for the build process in a windows enviroment. The subversion server is linux, though.

In CVS, we would have used a tag. This is the first time I am missing tags in subversion. I could tag the branch, but to keep the tag up to date, I would habe to delete/add the tag on each commit to the current stable version. Maybe a commit hook could help, but is there a simpler solution to automate this? (Maybe without learing windows scripting host or so?)

Addin a new project on the build server for each new stable release would be possible, but it's rather complicated and error-prone...

Était-ce utile?

La solution

Maybe you could create a symbolink link to make a /branches/stable-version to redirect to your last stable branch (manual operation, but to do only once at each new stable branch creation). So your repository will look like this :

/trunk
/branches/stable-20100716
/branches/stable-20111231
/branches/stable-20110401
/branches/specialversion
/branches/stable-version    # symbolink link to stable-20111231
/tags/some-tag

Autres conseils

The easiest solution seems to be, rename your stable directories. If you only have one stable current version, then you should only have one stable directory.

If you need to keep the last 3 or 4 stable versions, setup 3 or 4 stable directories and a Cruisecontrol project for each.

If you want the build machine to automatically build the version with the latest date, and use that as the "stable" build, then you might need to work some magic with the CruiseControl config file. Possibly using Dynamic Values in the project config.

http://www.cruisecontrolnet.org/projects/ccnet/wiki/Dynamic_Values

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top