首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CVS虚拟模块&目录映射到mercurial存储库

CVS虚拟模块&目录映射到mercurial存储库
EN

Stack Overflow用户
提问于 2011-11-10 12:29:33
回答 1查看 271关注 0票数 1

我的问题类似于这一个,但对于Mercurial (使用cvs2hg进行转换)。但是有一些不同之处。这是我们的CVSROOT/modules文件的一部分,很好地说明了问题所在:

代码语言:javascript
复制
PD1 -a PROD/PD1/Drivers Drivers/PD1/Firmware KernelHeaders Shared IppLibs
PD2 -a PROD/PD2/ Drivers/PD1 KernelHeaders Shared IppLibs

#PD2Linux Driver
PD2Linux PROD/PD2/Drivers/Linux/BuildFiles &PD2LinuxSource
PD2LinuxSource -d src &PD2 &PD2LibUSB
PD2LibUSB -d ThirdParty/libusb libusb

如您所见,驱动程序的结构很复杂。我们显然是在寻找合理的驱动结构,而不是包括整个旧的驱动程序(PD1)在新的一个。

据我了解,在Mercurial中,您可以使用共享扩展来执行子目录映射。

我的问题是

  • 在Mercurial中是否有一种方法可以像在PD2Linux驱动程序的第一行中所做的那样,将位于目录树中的文件(在本例中是autoconf文件)带到根目录上?
  • 是否有根据-d标志创建目录的方法?
  • 如何合并跨PD1和PD2的变更集?
    • 例如,如果在PD2中进行了跨两个驱动程序并在CVS中检入到PD的更改。这是一个很长的机会,因为CVS没有变化集。
    • 我想知道cvs2hg是否考虑到CVS模块文件?

  • Atm分别转换每个PD目录(在每个子目录中创建一个cvsroot ),是否更好地将它们全部转换到一起,然后将它们分割成单独的hg repos?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-30 14:25:52

你写:

据我了解,在Mercurial中,您可以使用共享扩展来执行子目录映射。

不完全是。股份延伸让我们将多个工作副本与一个存储库关联起来--这与重新映射(子)目录无关。

  • 在mercurial中是否有一种方法可以像在PD2Linux驱动程序的第一行中所做的那样,将位于目录树中的文件(在本例中是autoconf文件)带到根目录上?

这个问题和其他问题的答案是:不。核心问题是Mercurial (和其他分布式版本控制工具)每次都需要签出完整的存储库。您不能只是克隆repo/some/dir/,您必须始终克隆repo/

  • Atm分别转换每个PD目录(在每个子目录中创建一个cvsroot ),是否更好地将它们全部转换到一起,然后将它们分割成单独的hg repos?

最终的结果应该是单独的汞存储库--正是因为您需要克隆完整的存储库。因此,确保在存储库和驱动程序之间进行1-1映射。

您可能会发现一个有用的工具是子存储库。子存储库是一个嵌套的存储库,当您克隆外部存储库时,Mercurial将签出它。它附带了一个注意事项数目,但是大公司今天正在使用它们(我已经帮助了许多公司建立子回购协议)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8079525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档