info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Using branches for safely updating a website


From: Kaz Kylheku
Subject: Re: Using branches for safely updating a website
Date: Mon, 1 Jul 2002 08:43:30 -0700 (PDT)

On Mon, 1 Jul 2002, Matthew Nuzum wrote:

> Here's the idea I have so far.
> ====TRUNK==CLEAN==================+=====
>   \----TESTING BRANCH------------/
> 
> The main trunk will be considered clean. Everything here should be
> copied over to the webserver.

Trying to keep the main trunk clean is silly. The main trunk is for
development.

> A branch will be created off of this called testing.  Once an item has
> been tested and is known to work, it is merged back into the clean
> trunk.  A test webserver will be set up to keep an entire copy of
> testing branch available for browsing.

Unless a unit of work requires several developers, or takes a long
time, there is no need to create a branch for it. Just develop it,
test it and commit to the trunk.

> An alternative that I haven't seen documented too much would be to do
> the opposite as above.  The trunk exists as NEEDS TESTING.  Once a file
> has been tested it is moved into a CLEAN branch.  The live server could
> then just keep a checked out copy of the branch.
> 
> ====TRUNK==TESTING==============+=====
>   \----CLEAN BRANCH------------/

That won't work either. You don't want to be trying to move changes
from the trunk to a branch.

Really, the only viable alternative is to keep developing on the trunk.
Identify stable alpha releases and tag them. Then have the test web
server check out the latest  tagged alpha release. Eventually, one of
the tagged releases will be considered stable, and so that will become
a beta release that goes to the server with live customers. Development
can then continue on the trunk. If bugs need to be fixed in the
beta release, make a branch from that release and fix them there,
and commit the fixes to the trunk as soon as possible.

The big difference from your approach is that the servers are not just
updated willy-nilly; it's a decision that is made. ``Okay, we have done
some useful work on the trunk and nothing seems broken. So let's tag
it, and update the testing server exactly to that build.''

-- 
Meta-CVS: solid version control tool with directory structure versioning. 
http://users.footprints.net/~kaz/mcvs.html  http://freshmeat.net/projects/mcvs




reply via email to

[Prev in Thread] Current Thread [Next in Thread]