TFS到SVN

时间:2008-12-16 12:46:45

标签: svn tfs

您能推荐任何工具将源(有历史记录)从TFS迁移到SVN吗?

2 个答案:

答案 0 :(得分:21)

你看过tfs2svn吗?

  

tfs2svn是一个Windows应用程序   转换Team Foundation Server   (TFS)存储库转换为Subversion   (SVN)存储库,保留   历史,分支和提交   信息。

答案 1 :(得分:1)

我们正在将TFS 2010集合迁移到svn中。为了使它适用于我们,我需要下载和修改TFS2SVN的来源,以便它理解我们制作的集合。

目前我只是对这些值进行了硬编码,因为我们只会使用它两次。我们修改了tfs2svn \ trunk \ Colyar.SourceControl.Tfs2Svn \ Tfs2SvnConverter.cs,如下所示

public Tfs2SvnConverter(string tfsPath, string svnPath, bool createSvnFileRepository, int fromChangeset, string workingCopyPath, string svnBinFolder, bool doInitialCheckout, string tfsUsername, string tfsPassword, string tfsDomain)
    {
        ParsePaths(tfsPath, svnPath);
        this._tfsServer = "http://<tfs domain>:8080/tfs/<team project collection name>";
        this._tfsRepository = "<remote source location>"; // "$/<team project name>/..."
        //this._tfsExporter = new TfsExporter(this._tfsServer, this._tfsRepository, workingCopyPath, fromChangeset, tfsUsername, tfsPassword, tfsDomain);
        TfsClient.Provider.Connect(this._tfsServer, this._tfsRepository, workingCopyPath, fromChangeset, tfsUsername, tfsPassword, tfsDomain);

        this._svnImporter = new SvnImporter(this._svnRepository, workingCopyPath, svnBinFolder);
        _createSvnFileRepository = createSvnFileRepository;
        _doInitialCheckout = doInitialCheckout;
        _workingCopyPath = workingCopyPath;

        HookupTfsExporterEventHandlers();
    }