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

Re: Organizing Projects

From: Ryan Schmidt <subversion-2011a_at_ryandesign.com>
Date: Mon, 21 Mar 2011 05:16:58 -0500

On Mar 18, 2011, at 14:33, Greg Lindstrom wrote:

> Traditionally, we set up a "trunk", "branches" and "tags" directory in Subversion for each project. I have a good feel for creating branches, making changes, merging back to the trunk and creating a tag. What I would like advice on is how to migrate to production. Currently, after I make a tag I will check it out to a "distros" directory (named the same as the tag) and then change a pointer from the "old" distro to the new one. This way we have a history of distros and it's easy to revert back if an error is found. The problem I have with this setup is that is what Subversion is designed to do for me (keep track of changes).
>
> An option I have been considering is to create another directory under the project called "prod" that we check out to our production environments. Any production tags would be merged into this branch and then we would "update" the production environment with the new code. This would, I believe, give a nice change history in the svn log.
>
> Another option is to create a "zip" file once a distribution tag is created. The zip file would be placed out on the network for people to install as needed. I don't care for this idea, but I know a large company that does it and it seems to work.
>
> What advice can you give me? Is there a better way? What do I Google to find out more? Where do I go for help? We've done a fairly good job on a small scale, but we're growing and I want to get something THAT WORKS in place.

Consider using SVN::Notify::Mirror, a perl module explained by its author here:

http://svn.haxx.se/users/archive-2006-02/1148.shtml

The theory of operation is that, whenever you want to deploy something to production, you simply create a tag following a certain naming scheme (that you can define). A post-commit hook in the repository runs SVN::Notify::Mirror which notices when new production tags are created and mirrors their contents to your production server.
Received on 2011-03-21 11:17:38 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.