Sunday, September 11, 2011

Creatin a Branch in SVN


Hai...! here is a little easy procedure for creating a branch from the existing source repository in SVN. You might have experienced how time taking and cubersome to upload a source like Android to SVN, to create a branch( with a specified Tag or Release Version) we have two options.
  1. Sync the entire source form svn with the required version or tag and then commit back into a new folder which you would not prefer as its time taking.

  2. Here we use command line terminal which makes your work done in just couple of seconds. Creating branch is mear copying., assume you have source code named “BranchingTest” at the following path in SVN (http://gvk:51/svn/srcdepot/BranchingTest) with a source directory “Submit1” in it, assume you have commited lot of changes to this source directory and let the latest revision id be 786, and you would like to create a branch nothing but a copy of source code(Submit1) in the folder (BranchingTest) with changes only upto revision id 501 as (newBranch), then you follow below commands:
    Syntax:
    $svn copy sourcePath options destiongPath username password
    $svn copy http://gvk:51/svn/srcdepot/BranchingTest/Submit1-r 574 http://gvk:51/svn/srcdepot/BranchingTest/newBranch --username martingvk123 --password
It opens a Vim editor window, where you are supposed to enter the relevant log for creating this branch with at least more than 20 characters and exit saving.
This completes the branch creation, open this path in KDESVN or RapidSVN and click “refresh” now you can see the new branch created. 


Trouble Shooting:

you can get the prompt like
Password for ‘(null)’ GNOME keyring:
which means, Multiple keyrings are present on a users system. All users will have a default keyring, and another which is only stored in memory. For each commit, gnome-keyring stores the user details in another keyring. To disable this, open the config file in the subversion from the home folder as follows:
gvk51@gvk51:~$ cd .subversion/
gvk51@gvk51:~$ ls
uth  config  README.txt  servers

-> open the ‘config’ file with any text editor,
gvk51@gvk51:~/.subversion$ gedit config
inside the text file, look for the line ‘password-stores = no’ under ‘[auth]‘ section and uncomment it & remove the value ‘no’ for it to look like ‘password-stores = ‘. Then, save and close config file.
Finally, open another file named ‘servers’ in text editor,
inside the text file, look for the line ‘store-passwords = no’ under ‘[global]‘ section and just uncomment it. Then, save and close ‘servers’ file.
That’s it. Now, you can create branch.

For further reference checkout this links: