SvnBridge development environment
The first thing is getting the source to your machine. I recommend downloading the latest released version of SvnBridge from the SvnBridge site, and executing the SvnBridge.exe file.
Put https://tfs03.codeplex.com in the Team Foundation Server text box and 8081 in the port text box, then click Ok.
SvnBridge will connect to the remote server and then the the following notification tool tip:
Check out the source using TortoiseSvn:
Note: You can also use the following command line to checkout the code: svn checkout http://localhost:8081/SvnBridge SvnBrdige
Open the SvnBridge.sln in Visual Studio and ensure that you can compile all the projects in the solution.
Note: It is possible that you'll get compilation errors in the TestsRequiringTfsClient project, if you don't have the Team Foundation Client installed. If it fails to compile, you can safely remove the project from the solution. SvnBridge does not require you to have TFS installed, and only this test project has any dependency on TFS.
You can now execute the SvnBridge project and start working with TFS using the SVN protocol.
Running the tests
The following test projects can be run without having a test instance of TFS to work with:
- TestsUnit
- TestsProtocol
The following test projects requires an instance for TFS to work with:
- TestsEndToEnd
- TestsIntegration
- TestsRequiringTfsClient
Setting up TFS test instance
Note: Getting TFS up and running can be tricky, for testing purposes, I generally use the TFS VPC trail.
Open Visual Studio and connect to a TFS server using Team Explorer.
Right click the TFS server and select New Team Project (note that if the New Team Project menu item is missing or disabled, it is likely that you don't have permissions to create a new project):
Name the project SvnBridgeTesting and click next:
On the select process template screen, click Finish:
Important: Ensure that the time zone of the TFS machine match the time zone on the development machine.
For each of the test projects, open the App.config file and paste the following, replacing the configured values with the ones matching your environment.
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > <section name="IntegrationTests.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </sectionGroup> </configSections> <applicationSettings> <IntegrationTests.Properties.Settings> <setting name="ServerUrl" serializeAs="String"> <value>http://TFSRTM08:8080</value> </setting> <setting name="Username" serializeAs="String"> <value>tfsSetup</value> </setting> <setting name="Password" serializeAs="String"> <value>P2ssw0rd</value> </setting> <setting name="Domain" serializeAs="String"> <value>TFSRTM08</value> </setting> </IntegrationTests.Properties.Settings> </applicationSettings> </configuration>
Now you can run all the tests, and the development environment is ready to go.
Have fun...
Comments
Awesome stuff, Ayende! This is going to make my life so much more bearable (I'm working against a TFS instance in Sydney while situated in Brisbane...)
Hoping to see more articles in the theme of using Subversion as a back-end store (if that is what the versioned 'Customers' post is pointing towards.)
Nick
Great, maybe now I do not have to curse TFS all day.
I tried it (compiled the current version on codeplex tfs) and when I did a svn checkout on project on our local TFS I only got partial files back.
Any idea what is wrong?
Torkel,
Please post a detailed repro on the svn bridge site.
Comment preview