[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

SVN and Cruise Control

From: Bradford Hull <bkhull_at_gmail.com>
Date: Thu, 27 Nov 2008 08:32:37 -0800

Ilan:

I would like to suggest that you adjust your approach a little bit to
take advantage of the nature of Subversion, which will make handling
your situation much, much easier. I had to make the same adjustment
myself. Here's what I suggest:

First of all, the classic, respected process you are following of
    - Tag the state of the source tree you want to build
    - Check out from the tag and build
is possible with Subversion, but not really supported well by Cruise
Control, because the way Subversion supports Tags is not, strictly
speaking, a tag. When you copy the source tree into the tags
subdirectory (the only way to make a tag), you don't end up with an
immutable version of your source tree that can safely be used as a
reference from then on, because tags and branches differ from each
other (and the original source) only in where they are in the source
tree. That is, you are perfectly able to check out a tag, modify code
and commit it back. The only reason this doesn't happen is that you
tell people the convention: "dont' do that".

However, observe the revision number in Subversion. It inherently has
all the properties you need in a Tag: it's permanent and immutable,
and at any point in time you can always check out using it as a
reference and get exactly what you wanted. Best of all, it's always
there, and its number is passed through to you in a variable in Cruise
Control (see the reference section on build variables and the svn
repository processing). In fact, if you use CruiseControl.rb, it's
the primary default identification number for builds. So I suggest
you use revision number as your tag, which means you need no further
action to make it immutable.

We have taken this a step further, and include the revision number in
manifest files and in some cases 'title' values at the head of web
pages, so that it's easy to track which Tag (revision) a given running
instance of the application is from. I recommend this practice; it's
a great relief to always be able to swiftly and reliably identify the
running or installed version.

-- 
The law, in its majestic equality, forbids the rich as well as the
poor to sleep under bridges, to beg in the streets, and to steal
bread.
                                            Anatole France
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-11-27 17:33:03 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.