Mercurial存储库& MSVS - 两个项目&共享文件

时间:2012-09-01 08:49:31

标签: visual-studio-2010 mercurial repository hardlink shared-file

我目前正在开发MS VS2010中的应用程序,该应用程序基于客户端 - 服务器架构,VS中的每个部分都有一个项目。直到最近,他们都在Hg中拥有自己的存储库,但我决定将它们组合在一起,因为现在有很多文件已经共享。

我一直在使用硬链接来确保将一个文件上的更改传播到另一个文件夹/项目中的同一文件。但是,如果您克隆存储库或从在线存储库中签出,则硬链接会中断。

我已经尽可能多地阅读了软件和版本。与Hg的硬链接,在这一点上它们似乎都不是一个好的,可移植的解决方案。你会建议在两个项目之间共享文件的方法是什么,请记住,我最好还是喜欢一个干净的结构,这也反映在VS中?

祝你好运, 最大

1 个答案:

答案 0 :(得分:0)

您可以使用Mercurial的sub-repository feature将您的共享文件放在外部存储库中,并在您需要的位置共享它。还有guest repository extension,它比子仓库更新,重量更轻。

但是,我不会在版本控制中解决它,而是重新安排Visual Studio项目,以便共享代码编译为客户端和服务器程序集使用和依赖的程序集。 在程序集级别共享代码,而不是代码级别。

如果你真的必须保留现有的结构,我会使用NTFS联结(类似于UNIX风格的软链接)来共享代码中的联结。然后,您可以将这些联结添加到存储库的忽略列表中(在.hgignore中)。创建一个PowerShell脚本,您和其他开发人员可以运行该脚本,该脚本将使用正确的联结初始化您的存储库。