2011-08-11 87 views
8

我正在构建一个与TFS集成的工具,它需要正确解析TFS日志(从tf.exe历史命令)并检出不同的修订(再次使用tf.exe)。它在我测试过的TFS服务器上效果很好,但我想在广泛的大型软件仓库上测试它,以确保我的分析工作正常。我在哪里可以获得大型样本TFS存储库?

我希望使用Codeplex来访问TFS存储库,但是如果您是项目成员,您似乎只能通过TFS访问Codeplex项目。

在公共TFS服务器上是否有任何托管开源代码的集合?是否还有其他可用于测试的公开服务器?

+0

这个问题将是对话题的http://opendata.stackexchange.com/ –

回答

0

您是否尝试过Codeplex上的一些较大的项目?

如果你只需要读访问,你应该能玩的各种信息库。

+0

不幸的是访问Codeplex上的项目似乎并不除非你是一个项目成为可能会员。我无法让它工作,也没有人可以在http://codeplex.codeplex.com/Wikipage?title=Source%20Control%20Clients – mcobrien

+0

讨论它为什么不联系一些项目的所有者请求访问?我的项目只是很小,但我不明白为什么我不能在短时间内授予访问权限...... – jessehouwing

0

我没有大量的tfs经验,但我会假设有一些迁移工具可让您从其他产品(例如svn或hit)获取代码库。

如果是这样,你可能想找到一个svn/git回购大型foss项目,并尝试导入。

1

既然你提到tf history命令,我假设你想收集/解析项目的登录历史记录(及其文件)。

因此,除了大型资料库之外,您还需要大量的历史记录,对吗?如果是的话,那么下面是你遇到的一系列问题:

  • codeplex上的大多数项目都使用Mercurial而不是TFS。所以,即使你获得访问权限,你也不能使用TFS。
  • 正如你所提到的,他们要求你成为你的成员来访问源代码。
  • 即使您获得访问权限或找到公共服务器(不太可能),您仍然需要大量的历史记录。

如果我在我的假设是否正确,到目前为止,这里是最简单的(有点乏味,虽然)出路:

  • 去任何大型项目的,如NugetWix 修订
  • 下载任何旧版本(回到你想要的历史记录)。您可以下载压缩的src文件,而无需成为会员。
  • 在您的测试服务器中,签入代码(src)以创建基准。
  • 下载下一个版本。
  • 检出服务器中的文件,并用较新版本的文件覆盖它们。
  • 在签入时,使用history.txtsample)创建签入注释
  • 重复此过程几次。

Voila !!你现在有一个有很多历史的大型资料库!

希望这会有所帮助。

+0

感谢您提供这样详细的答案,但不幸的是,这并不是我所需要的。遵循这种方法,我将得到一个TFS支持的小部分操作系统的存储库。我的测试服务器已经有基本的添加,更新和删除更改,但TFS也支持更多深奥的更改,如“合并,编辑”和其他组合。 (改变类型实际上是一个位掩码,所以我想在理论上几乎任何组合都是可能的,尽管很难推断某些组合的含义。) – mcobrien

+0

1.为什么合并/编辑很奇怪? 2.您可以通过从树干分支出来来模拟合并,用下一个版本更新分支并合并回树干。 – Mrchief

+0

合并/编辑并不奇怪,如果我从另一个SCM(或根据您在答案中建议的一系列更改文件)导入,它将不会出现在我的TFS日志中。我正在编写一个将日志从TFS转换为内部格式的工具,因此我需要测试使用所有TFS功能的日志。 – mcobrien

2

我建议使用svn2tfs并选择SourceForge上的任何相对活跃的项目。 SF上有很多项目可以选择使用SVN而不是CVS。你甚至可以从中获得一些奖励,并帮助svn2tfs项目解决任何问题。

+0

不幸的是,这种方法只会给我一个有限的TFS支持的改变。我的工具已经正确地解析了基础知识,但TFS支持奇怪的变化,比如“合并,编辑”和其他组合。由于这些在SVN/CVS中不存在,因此如果从另一个存储库导入它们将不会显示出来。这是因为我想要访问真正的TFS服务器的这些TFS特定的历史条目。 – mcobrien

+0

1.为什么合并/编辑很奇怪? 2.您可以通过从树干分支出来来模拟合并,用下一个版本更新分支并合并回树干。 – Mrchief

0

我希望用Codeplex上以访问TFS仓库,但似乎如果你是一个项目成员只得到TFS访问Codeplex上的项目。

该解决方案似乎是这是SO'rs的共识。我已阅读了一些Codeplex TFS连接问题线程(您链接到下面),并希望此主题中的注释可解决此问题:

Connecting to Codeplex TFS as a Coordinator or Developer

+0

不幸的是我已经仔细看了一下,这个页面http://codeplex.codeplex.com/Wikipage?title=Source%20Control%20Clients确认你需要成为一个项目成员。 “如果你不是一个项目的开发人员,那么你需要使用Subversion客户端来匿名访问源代码控制库”是关键词。 – mcobrien

0

我想知道您是否可以使用git-tfs项目将一个现有的Git项目导入到TFS中。

  1. Download and install git-tfs
  2. 创建一个新的TFS项目
  3. 克隆使用Git TFS的TFS项目的Git项目( “混帐TFS克隆http://tfs:8080/tfs/DefaultCollection $/some_project”)
  4. 进口的现有Git项目你的选择到你新的Git项目中(我不知道这个命令,但我认为这是可能的)。
  5. 使用git-TFS检入到TFS服务器( “混帐TFS checkintool”)

=>做是有意义的?和作品?

欲了解更多信息: http://lostechies.com/jimmybogard/2011/09/20/git-workflows-with-git-tfs/

相关问题