在本地使用 Mercurial 和 TFS Team Foundation Version Control Server Workspace

Using Mercurial locally with TFS Team Foundation Version Control Server Workspace

在工作中,我们使用 TFS Team Foundation 版本控制 (TFVC),工作区是服务器工作区(非常大的代码库)。我们设置的限制是检出的文件被锁定以供其他人编辑。还有一种文化是在工作完成之前不提交等等,因为许多变更集会使以后的合并变得复杂。

我无权改变全球规则或文化。我想在我的本地机器上本地设置一个 mercurial (hg) repo。这个想法是我可以在我的本地副本上工作,尽可能多地签入 hg。完成后,我想将我的更改捆绑到一个变更集中,并将其发送到 TFS 位置(也在我的本地计算机上)。然后立即将更改签入 TFS 服务器。 这样对于外界来说,我似乎是签出然后立即签入我的所有代码,只是短暂地锁定了更改的文件。但是在 hg 本地,我完全有能力进行小型签入和工作,而不必担心锁定文件进行编辑。

以某种方式链接两个版本控制系统,在本地为我提供 HG 的灵活性,但继续使用全局 TFVC 进行最终签入。

关于如何实现这一点有什么想法吗?

TFS 没有 Mercurial 支持,但显然有 Git 支持。 您可以使用 hg-git 插件以这种方式访问​​ TFS。

关于缺乏支持的更多细节:

您可以使用 git-tf 和 hg-git。这是我们构建 git-tf 时有意设计的决定,这是一个受支持的场景。

就是说……这似乎有点……恶心。

您可能需要编写一些 shell 脚本来简化此工作流程。

但即便如此,当出现不可避免的错误时,很难想象解决这个问题。