On Thu, Mar 5, 2009 at 10:13 PM, Robert Turner <r...@flexadata.com> wrote:
> Hi Jens,
>
> You need to branch the codebase. A typical SVN repository is setup as:
>
> <repos>/trunk
> <repos>/tags
> <repos>/branches
>
> Most people will checkout <repos>/trunk and just work off that. What you
> need to do is copy the trunk (svn cp/copy <repos>/trunk
> <repos>/branches/branch-<version>). Then keep two checkouts: <repos>/trunk
> (current versoin) and <repos>/branches/branch-<version> (old version).

You appear to misunderstand the purposes of branches and tags.

Branches are designed in order that you can work on something without
disturbing the integrity of the main tree, tags are meant to 'tag' a
release, i.e. something that was considered worth releasing or going
back to.

Most people create a branch for each new feature. When they're done,
they merge the trunk back into the branch (to pull changes other
people have made) and commit the branch code into the trunk. At that
point you can kill the branch because it no longer serves a purpose.

When the feature is done, if it warrants a tagged release, then tag
it. If it doesn't, don't bother. If you need to later work on it,
*then* you create a branch from the tag before merging and committing
as per normal.

As an aside, I find it easier to just check out the repo again into
another directory, at a particular revision in the past.

Nowadays I use git-svn and just create a topic branch for each change,
merging them straight back into the trunk if they're small. There are
a few annoying bugs in git-svn that I've been meaning to patch,
however.

--James


*******************************************************************
List Guidelines: http://webstandardsgroup.org/mail/guidelines.cfm
Unsubscribe: http://webstandardsgroup.org/join/unsubscribe.cfm
Help: memberh...@webstandardsgroup.org
*******************************************************************

Reply via email to