您能推荐任何工具将源(有历史记录)从TFS迁移到SVN吗?
答案 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();
}