【问题标题】:How should I setup my Visual Studio projects/solutions in a Mercurial repository?我应该如何在 Mercurial 存储库中设置我的 Visual Studio 项目/解决方案?
【发布时间】:2010-05-21 23:38:21
【问题描述】:

在我的公司,我们有几个不同的网络应用程序,每个应用程序都共享一些公共库。 Visual Studio 设置如下所示。

网站 1 解决方案 网站 1 共享库 1 项目 共享库 2 项目 网站 2 解决方案 网站 2 共享库 1 项目 共享库 2 项目 视窗服务解决方案 Windows 服务项目 共享库 1 项目 共享库 2 项目 共享库解决方案 共享库 1 项目 共享库 2 项目 所有项目解决方案 网站 1 网站 2 Windows 服务项目 共享库 1 项目 共享库 2 项目

我们想开始使用 Mercurial 进行源代码控制,但我仍然不确定最好的方法。

根据我的阅读,您应该为每个项目使用单独的存储库。那里没问题,但是 Visual Studio 解决方案文件 (.sln) 去哪里了?是否应该有一个仅包含 .sln 文件的单独存储库?

理想情况下,使用共享库的项目应该都使用相同的版本,并且解决方案“所有项目解决方案”应该构建没有错误,但有时我们需要分支共享库。最好的方法是什么?如何设置存储库?

当每个项目都在单独的存储库中时,我如何获得网站 1 解决方案的某个分支/标签的工作副本。我必须分别拉出每个,还是编写一个脚本来一次完成?乌龟 hg 可以帮我做吗?

还有什么其他技巧可以让这个过程更轻松吗?

【问题讨论】:

  • 你有没有想过这个问题?我也很好奇。
  • 很遗憾没有。我换了工作,在我的新公司,他们使用 TFS 进行源代码控制,这在某些方面更好,但它也有它自己的烦恼和局限性。

标签: visual-studio mercurial


【解决方案1】:

理想情况下,我会使用mercurial subrepositories 来执行此操作。然后,您可以将“全部”解决方案放在主存储库中。然后,您的其余项目可以成为该项目的子存储库。 Mercurial 也以递归方式支持子存储库。

很遗憾,TortoiseHg 只列出了 rudimentary support for subrepositories,因此您可能需要选择一些设置方式。

如果子存储库负担过重,您应该可以将所有内容放在一个存储库中。就 Mercurial 而言,它不关心您是否将内容拆分到存储库中。唯一的限制是你的情况。例如,如果项目被证明是如此之大,或者提交过于频繁,那么存储库管理就太痛苦了。

或者将所有内容拆分为单独的存储库并编写脚本。这完全取决于您。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多