On Mon, 2004-27-12 at 08:42 -0800, Stephen McConnell wrote:
> We are using our CVS repository to hold code for Development, Staging
> and Production levels of code. Every file holds a tag that identifies
> what stage the code is in D - Development, S - Staging, P - production.
Why not a directory structure like this:
/
|- trunk/ {or in your terms... development/ }
|- staging/
|- production/
So you merge change sets from /trunk to /stage, test the system and if
successful merge the change set from /stage to /production
Sound good?
> When one initially modifies the file (merges it with what is out on
> there), the user tags it for Development. Once it has been tested on
> their local environment, the user tags it for Staging. Once the file
> (or components) have been tested in the Staging environment, it is
> tagged for Production.
As I'm sure you know, tags are just copies of a file. The tag itself is
the directory that the file lives in.
You would probably want to limit who has commit privileges
on /production but other than that you checkout/export the proper
directory to test that code.
> When the user needs to update their local workspace, they can "check
> out" all the versions tagged as Development, Staging or Production.
$ svn co ${SVN_ROOT}/development/
or staging, or production
> One could then checkout all the files associated with the Staging or
> Production level and do a build and deploy of that level.
>
> I've been searching in the docs and this listserve to determine if and
> how I can do this type of version control under Subversion. Am I able
> to do this with Subversion; and if so, how is that accomplished?
You need to `svn merge -r100:110 ./development/ ./staging/` your changes
from development to staging to promote the code.
Read the section on merging to figure out how to do that from the book.
It's pretty straight forward.
> While not directly part of this question, the last I have seen about a
> Subversion Ant Task in this list serve was a question around 2003. I
> would like to be able to control the checkout and deploy of the above
> process through an Ant Task. Is an Ant Task available for Subversion;
> and could I do what I have in mind.
I don't know.
Hope this helps.
Chris
--
Software Engineering IV,
McMaster University
PGP Public Key: http://www.nesser.org/pgp-key/
21:26:57 up 6 days, 9:32, 3 users, load average: 0.06, 0.14, 0.07
http://www.fsf.org/philosophy/no-word-attachments.html
Received on Tue Dec 28 03:39:36 2004