我的问题类似于这一个,但对于Mercurial (使用cvs2hg进行转换)。但是有一些不同之处。这是我们的CVSROOT/modules文件的一部分,很好地说明了问题所在:
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中,您可以使用共享扩展来执行子目录映射。
我的问题是
-d标志创建目录的方法?cvs2hg是否考虑到CVS模块文件?
发布于 2012-01-30 14:25:52
你写:
据我了解,在Mercurial中,您可以使用共享扩展来执行子目录映射。
不完全是。股份延伸让我们将多个工作副本与一个存储库关联起来--这与重新映射(子)目录无关。
这个问题和其他问题的答案是:不。核心问题是Mercurial (和其他分布式版本控制工具)每次都需要签出完整的存储库。您不能只是克隆repo/some/dir/,您必须始终克隆repo/。
最终的结果应该是单独的汞存储库--正是因为您需要克隆完整的存储库。因此,确保在存储库和驱动程序之间进行1-1映射。
您可能会发现一个有用的工具是子存储库。子存储库是一个嵌套的存储库,当您克隆外部存储库时,Mercurial将签出它。它附带了一个注意事项数目,但是大公司今天正在使用它们(我已经帮助了许多公司建立子回购协议)。
https://stackoverflow.com/questions/8079525
复制相似问题