【问题标题】:Where can I get large sample TFS repositories?我在哪里可以获得大型示例 TFS 存储库?
【发布时间】:2011-10-24 19:15:02
【问题描述】:

我正在构建一个与 TFS 集成的工具,它需要正确解析 TFS 日志(来自 tf.exe 历史命令)并检查不同的修订版(再次使用 tf.exe)。它在我拥有的测试 TFS 服务器上运行良好,但我想在广泛的大型存储库上对其进行测试,以确保我的解析工作正常。

我希望使用 Codeplex 来访问 TFS 存储库,但如果您是项目成员,您似乎只能获得对 Codeplex 项目的 TFS 访问权限。

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

【问题讨论】:

标签: tfs sample-data


【解决方案1】:

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

【讨论】:

  • 不幸的是,这种方法只会给我有限的一组 TFS 支持的更改。我的工具已经正确解析了基础知识,但 TFS 支持奇怪的更改,例如“合并、编辑”和其他组合。由于这些在 SVN/CVS 中不存在,因此如果我从另一个存储库导入,它们将不会出现。正是因为这些特定于 TFS 的历史条目,我想要访问真正的 TFS 服务器。
  • 1.为什么合并/编辑很奇怪? 2.你可以通过从trunk分支出来模拟合并,用下一个版本更新分支,然后合并回trunk。
【解决方案2】:

既然您提到了tf history 命令,我假设您想收集/解析有关项目(及其文件)签入历史的日志。

所以除了大型存储库之外,您还需要大量历史记录,对吗?如果是,那么这就是您的一系列问题:

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

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

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

瞧!!您现在拥有一个包含大量历史的大型存储库!

希望这会有所帮助。

【讨论】:

  • 感谢您提供如此详细的答案,但不幸的是,这并不是我所需要的。按照这种方法,我将获得一个存储库,其中包含 TFS 支持的一小部分操作。我的测试服务器已经具有基本的添加、更新和删除更改,但 TFS 还支持更深奥的更改,例如“合并、编辑”和其他组合。 (更改类型实际上是一个位掩码,所以我猜理论上几乎任何组合都是可能的,尽管很难推断某些组合的含义。)
  • 1.为什么合并/编辑很奇怪? 2.你可以通过从trunk分支出来模拟合并,用下一个版本更新分支,然后合并回trunk。
  • 合并/编辑因此并不奇怪,如果我从另一个 SCM 导入(或从您在答案中建议的一系列更改文件)导入,它就不会出现在我的 TFS 日志中。我正在编写一个将日志从 TFS 转换为内部格式的工具,因此我需要测试使用所有 TFS 功能的日志。
【解决方案3】:

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

如果您只需要读取访问,则应能够与各种存储库一起播放。

【讨论】:

  • 不幸的是,除非您是项目成员,否则似乎无法访问 Codeplex 上的项目。我无法完成工作,并且人们都不能在codeplex.codeplex.com/Wikipage?title=Source%20Control%20Clients span>讨论它
  • 为什么不联系少数项目的所有者以请求访问?我的项目只是很小,但我没有看到为什么我无法借给短暂的访问...... span>
【解决方案4】:

我没有大量的 tfs 经验,但我认为有迁移工具可以让您从其他产品(例如 svn 或 hit)中提取代码存储库。

如果是这样,您可能想为一个大型 foss 项目找到一个 svn/git 存储库,然后尝试导入它。

【讨论】:

    【解决方案5】:

    我希望使用 Codeplex 来访问 TFS 存储库,但如果您是项目成员,您似乎只能获得对 Codeplex 项目的 TFS 访问权限。

    这个解决方案似乎是 SO 的普遍共识。我已经阅读了一些 Codeplex TFS 连接问题线程(你链接到下面),我希望这个线程中的 cmets 解决了这个问题:

    Connecting to Codeplex TFS as a Coordinator or Developer.

    【讨论】:

    【解决方案6】:

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

    1. Download and install git-tfs
    2. 创建一个新的 TFS 项目
    3. 使用 git-tfs 将 TFS 项目克隆到 Git 项目(“git tfs clone http://tfs:8080/tfs/DefaultCollection $/some_project”)
    4. 将您选择的现有 Git 项目导入新的新 Git 项目(我不知道该命令,但我认为可以)。
    5. 使用 git-tfs 签入到 TFS 服务器(“git tfs checkintool”)

    => 有意义吗?并且有效?

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

    【讨论】:

      猜你喜欢
      • 2014-07-30
      • 1970-01-01
      • 2011-08-04
      • 1970-01-01
      • 1970-01-01
      • 2017-10-07
      • 2023-04-08
      • 2011-02-24
      • 1970-01-01
      相关资源
      最近更新 更多