mercurial - Perforce 与 Mercurial 的客户端规范映射类似

标签 mercurial perforce perforce-client-spec

我们最近从 Perforce 迁移到 Mercurial,并且非常喜欢它!

一个小问题:经过大量研究,我们无法弄清楚如何将存储库中的特殊目录映射到客户端上的某个特殊位置。这是我们的 hg 存储库的示例:

/foo/source files
/bar/source files
/build
    /macosx/mac make files
    /win/windows make files

通过 Perforce,我们使用客户端规范映射将//depot/build/macosx/... 映射到 Mac 客户端上的/build/...,以及//depot/build/win/...到 Windows 开发盒上的/build/...。目录 foo 和 bar 按原样同步。/foo 和/bar 中的 Makefile 假定我们的构建 makefile 位于/build 中,并且我们希望保持它们原样。最终的客户端文件集应如下所示:

/foo/source files
/bar/source files
/build/client specific make files

我读过有关子存储库的内容,但此解决方案似乎并不特定于客户。

任何解决此问题的想法都将非常感激!

最佳答案

您无法使用 Mercurial 仅 checkout 存储库的部分内容。

您总是会得到一个包含所有内容的克隆,并且工作目录也将包含所有内容。

使用 Mercurial,您应该努力为 1 个项目拥有 1 个存储库,以便您获得的所有内容在逻辑上属于在一起,然后您不应该只需要其中的一部分。

这也意味着 Mercurial 存储库中的任何目录结构将始终与磁盘上的结构完全匹配。

关于mercurial - Perforce 与 Mercurial 的客户端规范映射类似,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4155319/

相关文章:

强制 : Is there any command to check if client spec exist or not

mercurial - teamcity octopus部署处理具有相同项目名称的多个代码分支(默认和开发)

mercurial - Mercurial中的分支机构和远程负责人

Mercurial 基于推送构建

perforce - 如何查找文件的最后一个更改列表编号

console - 强制 : Getting user <username> doesn't exist after running "p4 sync" command from console

perforce - p4 提交不在客户端 View 中的文件

.net - 使所有 Visual Studio 项目与库保持同步

perforce - 在 Perforce 中,我如何 checkin 以前在另一台机器/工作区上 checkout 的文件?

Perforce CLI 无限期挂起