fsc*_*enm 14 windows mercurial
在一个相当大的项目中,我想将相同的文件(或文件夹)放在不同的位置.在一个位置更改时,应传播更改.在Subversion中,我可以使用externals来实现这种行为.
我试图通过使用硬链接和符号链接来解决这个问题,但Mercurial似乎没有跟踪它们中的任何一个.相反,它将文件的内容提交到其存储库而不是link属性.当我克隆存储库时,信息会丢失.
这是Mercurial特定于Windows的行为还是根本无法跟踪链接?是否有其他方法可以跟踪可从Mercurial中的不同位置访问的文件?
Mar*_*ler 16
Mercurial 可以跟踪符号链接,但在Windows上签出时它们看起来很奇怪.会发生什么是Mercurial创建一个文件,链接目标作为文件内容.遗憾的是,不支持在支持它们的Windows系统上创建真正的符号链接,例如Windows Vista.这样做的结果是您不能在应该在两个系统之间移植的存储库中使用符号链接.有关此功能的更多信息,请参阅Issue1825中的讨论.
最接近的svn:externals
是Mercurial subrepositories.根据您的使用方式svn:externals
,subrepos可能是您想要的,也可能不是.请参阅我关于subrepos的另一个问题的答案,以获得一些建议.我为subrepos编写了部分代码并且在我的脑海中,我认为在同一个主存储库中多次安装subrepo听起来像是一个混乱的秘诀.但也许你可以让它工作 - 只要知道subrepos是Mercurial的一个棘手的部分.