Need information about VCS Tagging and Branching
Asked by JohnV:

not sure what they are or what they do and to what they do it two.. I also can't find anything about them in the interwebs


Answers:
author: Marcin Gardias
body: Those tasks allow you to respectively tag and branch revision of a source repository. Tagged/branched revision is the same as the revision Job builds. At the moment these Task only support Subversion repos, but there are plans to add support for Mercurial and Git.

comments: author: JohnV
body: Fantastic.. maybe you could give me a little bit more detail..

so if my Repos is.. <http://svn.mysite.com/repos/code/branch/this>ismybranch

and I run the branch or Tag task.. will I end up with <http://svn.mysite.com/repos/code/branch/newbranch> or [http://svn.mysite.com/repos/code/](http://svn.mysite.com/repos/code/branch/newbranch)tag/thisismybranch

Where I work we currently operate under a Function Branch modle so we have Trunk (should always work in production), Branches (where the Dev's work), QA (a moment in time svn cp of the Dev's Branch usually with a version # for a name, Tags (the svn cp of QA for the release to prod) which will be merged to Trunk after the release..

How do the new tasks work in relation to a real life model..

-John


author: Marcin Gardias
body: \>\[...\]so if my Repos is.. <http://svn.mysite.com/repos/code/branch/this>ismybranch\[...\]

Default behaviour of branching is (behaviour of tagging in brackets):

- if path already contains directory called branch or branches (tag or tags for tagging) this is assumed to be correct root

- otherwise we cut the last part of the path, append word branch (tag) to it and check if such path exists, If so, we assume this is correct root

- else we append the word branches (tags)

You can override this in advanced section of your SVN repository configuration where you can manually defined root path for branches and tags.

So in your example:

If you run Branching task and name your branch 'newBranch', the path will be:

[http://svn.mysite.com/repos/code/branch/](http://svn.mysite.com/repos/code/branch/this)newBranch

(because 'branch' is detected in the source path)

If you run Tagging task, and name your tag 'newTag', the path will be:

[http://svn.mysite.com/repos/code/tags/newTag](http://svn.mysite.com/repos/code/tags/newTag%20)

or

[http://svn.mysite.com/repos/code/tag/newTag](http://svn.mysite.com/repos/code/tag/newTag%20)

(the task checks which one already exists in the repository; uses 'tags' if neither)


author: JohnV
body: Thank you that makes a lot more sense now..


author: Rick Taft
body: I was able to get it to work by using svn+ssh://svn.corp.lumeta.com/yeti/trunk, automatic detection of tags URL, and authentication type password. It's this latter that I think may have been the issue. Previously, I was trying to use SSH authentication, which works for checkout (and on the command line).


author: ArmenA
body: Hi there,

1. Can you please try to use svn+ssh://svn.corp.lumeta.com/yeti URL? I believe the "tags" directory is located in "yeti", right?

2. Are you able to do the tagging from command line using the same URL?

If you are still experiencing the same problem, please open a ticket on [https://support.atlassian.com](https://support.atlassian.com,) and provide your build logs, Bamboo server log file and screenshot of the tagging task configuration page.

Cheers,  
Armen


author: Rick Taft
body: This is not working for me at all.

I want to tag svn+ssh://svn.mysite.com/yeti/trunk with a tag of "LAST_SUCCESSFUL_BUILD". I tried specifying the repository with and without "/trunk".

I also tried with and without manually specifying the tags directory, which is actually at svn+ssh://svn.mysite.com/yeti/tags .

No matter what settings I use, I get a RepositoryException with the message "Path svn+ssh://svn.corp.lumeta.com/yeti/trunk/tags does not exist."

Running [Atlassian Bamboo](http://www.atlassian.com/software/bamboo/) version 4.1.2 build 3103 - 21 Jun 12