2011-11-17 55 views
3

(在Windows上)目前,我们正在使用Subversion之间的文件,但我们检查切换到水银。一个问题是,我们在我们的存储库中使用外部存储来在多个子项目之间共享单个文件。如果编辑了这样的文件的一个版本,那么这些更改会传播到我们的结帐中的其他版本。有没有办法在Mercurial中实现同样的功能,即多个位置的同一个文件?在Unix上,这可能使用某种链接。但是Windows怎么样?分享我们的源代码控制多个位置

+0

为什么不用于存储这些文件创建一个公共回购?在Windows中,你必须把它们放在一个普通的位置,并配置子项目来访问那个 – prusswan

回答

3

水银有Subrepository特点这是一个有点像SVN的外部。

善变的特点是比我的观点外更复杂,但你可以用它达到同样的目标,这是更灵活。

你甚至可以使用Subversion或Git仓库,如水银subrepo,所以这取决于你现在在做什么,你可以重用你的实际的外部回购没有任何变化。

一切链接的文档中很好的解释有一个良好的开端与此functionnality!

BTW,符号链接也存在于Windows上:NTFS Symbolic link

+0

谢谢你的回答。我已阅读关于subrepository功能,但不幸的是,它似乎只适用于文件夹而不适用于单个文件。而且我们的项目结构太复杂,无法将所有可能在不同位置共享的文件放在一起。但是subrepo特性至少可以派上用场来处理我们的一些依赖。 我不知道NTFS符号链接(仅约路口)。如果Mercurial能够处理它们,我想这会解决这个特殊的问题。 – fschoenm

+0

@fschoenm AFAIK,Mercurial处理NTFS符号链接。 – krtek

+0

我试过NTFS符号链接(和硬链接),但Mercurial似乎也不支持。相反,当我对原始存档进行克隆时,我只获取了副本而不是链接。 – fschoenm