【问题标题】:Recommendation for tools to migrate from TFS to SVN建议从 TFS 迁移到 SVN 的工具
【发布时间】:2008-12-16 12:46:44
【问题描述】:

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

【问题讨论】:

    标签: svn tfs


    【解决方案1】:

    你看过tfs2svn吗?

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

    【讨论】:

    • 使用 tfs2svn v1,我总是将第一个变更集迁移到 svn,但随后客户端挂起,不再从 TFS 导入变更集。其他人使用 tfs2svn 经历过这种情况吗?
    • 我也无法使用它。它会在具有不同错误的不同文件上的不同变更集上出错。从来没有成功通过。
    • 我成功地使用 tfs2svn 迁移了一个拥有超过 5 年历史和近 21,000 个变更集的存储库。我在esmithy.net/2011/02/01/migrating-from-tfs-to-svn 写了我遇到的挑战以及我是如何克服这些挑战的。
    【解决方案2】:

    我们正在将 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();
        }
    

    【讨论】:

    • 更改代码后,您的解决方案是否有效?根据sourceforge.net/projects/tfs2svn/forums/forum/772710/topic/… 看来,代码更改对某人不起作用。
    • 对不起,实际上才看到你的评论(几年后)。如果我记得我们最后放弃了,从 TFS 中获取最新信息,并将其导入 SVN。
    猜你喜欢
    • 2010-10-06
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多