« Return to Thread: Creating Branches

Re: Creating Branches

by Mark Phippard-3 :: Rate this Message:

| View in Thread

On 2/13/07, lightbulb432 <veerukrishnan@...> wrote:

Thanks. Few questions below:

1) Is switching from one branch/version to another using the "Switch"
command semantically the same as removing every file in the local copy and
bringing over the specified branch/version from the repository into the
working copy?

(Or could it result in a weird configuration if, say, you have more files in
your working copy than the repository...in which case it might only bring
existing repository files over, leaving files in your working copy that
weren't there in the branch/version you switched to?)

Yes, except it is done intelligently based on the info it has.  However, if you have unversioned files in your workspace, it will not do anything with those files.  If switch wants to add one of these files, it will fail with an obstruction error.  As long it does not want to add a file with the same name as an unversioned file in your workspace, you will be OK.  This has been improved in Subversion 1.5. (not released yet).


2) What is the common/correct structure of the repository?
- REPOS/trunk/myproject
- REPOS/branches/{mybranch1,mybranch2...}
- REPOS/tags/{mytag1,mytag2...}

That is one of the common structure people use.


3) Can you have groups of branches and tags, where the structure would be
the following:
- REPOS/trunk/myproject
- REPOS/branches/{branchgroup1,branchgroup2...}/{mybranch1,mybranch2...}
- REPOS/tags/{taggroup1,taggroup2...}/{mytag1,mytag2...}

I ask because after you have a certain number of tags and branches, having
them *all* under REPOS/branches or REPOS/tags would make it hard to
navigate/find

Absolutely.  We do this with Subclipse.


4) Is there anything special about the names trunk, branches, and tags apart
from being convention, or do Subversion or Subclipse use or expect these
names?

This expand on #2 and 3 above as well.  It is all just convention.  Use any names or structure that works for you.  Subclipse has a simple check when doing a commit that if the URL you are committing to contains the word "tags" we will warn you that you might be making a mistake.  Other than that though, we do not know or care what the name are.

--
Thanks

Mark Phippard
http://markphip.blogspot.com/

 « Return to Thread: Creating Branches