Using Subversion with codebeamer
Installing codebeamer with Subversion
- Download Subversion from http://subversion.apache.org/packages.html.
- Install Subversion. See http://svnbook.red-bean.com for help. Do not configure Apache at this time as it is not needed for basic codebeamer-Subversion integration (or SCMLoop).
- Install codeBeamer
- Start codeBeamer.
At this point codebeamer and Subversion should be working together and you should be able to create codebeamer projects with managed Subversion repositories. The whole process takes about 10-15 minutes.
Using Subversion in Eclipse IDE with Subclipse plugin
The following example provides details of the steps you could follow to check-in (commit) files into codebeamer when using the Eclipse IDE and a Subversion repository. This guide describes the Subversion related operations using the Subclipse third-party plugin freely available from http://subclipse.tigris.org (update site http://subclipse.tigris.org/update_1.6.x). The Subclipse plugin enables commits from within the Eclipse IDE.
Use the following steps to find the existing Managed Repository URL:
- Login to codebeamer as Project Administrator for the project containing the desired target repository.
- Select the codebeamer project with the target managed subversion repository
- Click on the SCM Repository tab
The Subversion or Mercurial access URL (e.g. http://javaforge.com/svn/svn-test) will be displayed. You need to know this URL to access the repository.
- Download some demo source code e.g. jdiff.zip (in You must login to see this link. Register now, if you have no user account yet.).
- Start the Eclipse IDE and open the Java perspective.
- From the File menu select the New menu item and select the Other... menu item from the sub-menu to open the New dialog.
- Select the Checkout Projects from SVN wizard from the SVN group and press Next.
- In the Checkout from SVN dialog choose the Create a new repository location radio button and press Next.
- Enter the URL of the Subversion repository and press Next.
- In the Select Folder wizard page select the trunk folder and press Finish.
- Extract the jdiff.zip file into the project's directory. The physical location of the project's directory is available in the project properties dialog, in the Info page.
- Refresh the contents of the project by selecting the Refresh item from the project's contextual menu.
- Right click the project, expand the Team item, and select the Commit... item to start the commit procedure. Follow the on-screen procedures to finalize the import.
- Login to codebeamer as Project Administrator for target project.
- Click on target project (under Projects tab).
- Click on the Admin tab.
- Click on SCM Settings.
- Click on Configure.
- Enable the Synchronize and reparse the project now option.
- Click on Save.
- To browse the project's source code click on the SCM Repository tab and on Browse Repository.
Configuring Subversion for Work Item References in Commit Messages
The properties below must be configured to work with tracker items from Eclipse/Subclipse or Tortoise. For more information about using Tortoise, please visit http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-bugtracker.html.
Property |
Value |
bugtraq:append |
false |
bugtraq:label |
Work Item ID |
bugtraq:logregex |
(#[1-9][0-9]{3,9}) (\d+) |
bugtraq:message |
#%BUGID% |
bugtraq:number |
true |
bugtraq:url |
https://codebeamer.com/cb/issue/%BUGID% |
bugtraq:warnifnoissue |
true |
The screenshot below shows how to configure Tortoise.
The content of bugtraq:url depends on codeBeamer URL.
After the properties are configured, Subclipse and/or Tortoise will provide a new text field to enter codebeamer tracker item ID (for example 12543) and it won't be necessary to include tracker item IDs in the commit text.
Additionally, Subclipse and Tortoise will provide URL links to the tracker items from the history/log views.
URLs of Managed Subversion Repositories
Depending on the Subversion Server configuration the repository used in the example above can be accessed via URLs like below:
svn://CODEBEAMER-HOSTNAME/My_second_project
or
http://CODEBEAMER-HOSTNAME/svn/My_second_project
or (requires SSL support from web-server)
https://CODEBEAMER-HOSTNAME/svn/My_second_project
URLs starting with svn:// require svnserve to be running. By default codebeamer starts svnserve to provide access to managed repositories with such URLs.
URLs starting with http:// and/or https:// require Apache to be properly configured to support Subversion access.
Access more information about how to configure Subversion server access here.
Access more information about configuring codeBeamer managed repository URLs at Administrator's Guide
How to Use Subversion with codeBeamer
Converting an Existing Subversion Repository to a Managed One
An unmanaged (external) repository can be converted to a managed one as described in Creating Managed Repositories.
Associating Issues with Commits
If you want an SCM commit to appear on an issue page (under SCM Commits tab) just put the ID of the issue preceeded with a # to your commit message. codebeamer (if SCMLoop is enabled) will automatically associate that commit with the given issue. For more details see Tracing Source Code Changes to Requirements, Task and Bugs.
Useful Subversion Commands
Creating Dump Files
For Subversion, dump files can be created using the
svnadmin dump
command. For example
svnadmin dump REPOPATH > SVN_DMP_FILE
command generates a dump file for the repository in the
REPOPATH
directory.
SVN_DUMP_FILE
must be replaced with an actual path.
You can find more information about the command here.
Directory-level Access Control for Subversion
For Subversion, user permissions can be controlled at directory level. For this to work, first you have to assign roles to users as described in Managing Access Permissions by Roles
Select the Subversion Directory
After assigning roles to users, you can set up the roles' access permissions. First click SCM repository tab, click Actions then Browse Repository. Select the directory whose role-based permissions you wish to control. Then click the tool-tip menu's Permissions as shown.
Figure: Selecting the Directory for Permissions Changes
Setting the Permissions of the Subversion Directory
Now the read/write permissions check-boxes are easily seen and edited on a role basis. Recursive permissions ease the selection of an entire repository.
If all read/write permissions are unchecked, the repository permissions function in codebeamer is not yet active, and the repository is readable and write-able for all. The first permissions-edit will activate the codebeamer repository permissions as shown.
Figure: Selecting the Roles' Recursive Directory Access