SvnTfsSync is a free tool for two-way synchronization of TFS and SVN repositories.
The synchronization is mostly automatic - SvnTfsSync handles majority of changes, but in some rare or complex cases it will ask you to synchronize changes manually.
Why you may need such synchronization?
Generally - when you have some tools or users need to communicate with SVN and some - with TFS, temporarily or permanently.
Some examples:
-
Migration from one system to another
Switching all subsystems (continuous integration, code-review tools, bug-tracking tools) and all teams at the same time may be complicated. With SvnTfsSync you may migrate gradually and changes made by people in one system will be available in another one as well.
-
Using local SVN as interface for TFS source control
If you like SVN interface more than interface of TFS version control, you can create a local SVN repository on your computer and work with it using your favorite tools. SvnTfsSync working in background will replicate changes in both directions making any network delays irrelevant for you.
-
Using TFS version control, but replicate changes for SVN users or tools
If you switched to TFS, but there are sub-systems which work on SVN and are hard to replace, set up synchronization between two repositories and use the tools as they are.