【问题标题】:AnkhSVN - managing VS *projects* not *solutions*AnkhSVN - 管理 VS *projects* 而不是 *solutions*
【发布时间】:2011-11-30 20:32:27
【问题描述】:

我从事多个不同的软件项目,并开始构建一些具有实用功能的通用库,我在所有这些项目中都使用了这些功能。最近我有三四个项目同时在不同的物理位置进行,手动同步库很痛苦。

所以我想我应该为这些库创建一个存储库,这样我就可以从任何地方访问它们。我将坐下来最后一次在项目之间同步它们,提交它们,从现在开始,我将拥有存储库,以确保我保持一切正常并保持库的最新版本与所有相关项目一起使用。

因为我在 Visual Studio 2010 中工作,所以我选择了 AnkhSVN。令我沮丧的是,它似乎不允许您只管理解决方案中的项目——只能管理整个解决方案!

我按照here 的指示进行操作;他们很清楚。显然,SVN“项目”不是 Visual Studio“项目”,这有点令人困惑。

所以我在解决方案资源管理器中选择了一个项目,右键单击它,然后选择“将选定的项目添加到 Subversion...”。弹出的窗口使用标签为“项目名称”的字段的解决方案名称。这是一个麻烦的迹象,但我可以手动将其更改为实际的 project 名称。然后我可以选择一个存储库,并为这个项目创建一个文件夹。到目前为止一切顺利。

但是对于“本地文件夹”,它是一个下拉列表,默认选择是解决方案的位置,唯一的其他选项是在树上移动得更远。如果我保持原样并点击 OK,AnkhSVN 想要将整个解决方案放在我创建的那个目录中(假设仅用于选定的 project)。

事实上,如果我选择“将解决方案添加到 Subversion...”,我会得到一个相同的窗口。

我希望 Subversion 只管理解决方案中的某些项目。使用本地解决方案,这就是我确保我的库具有通用性的方式;我不只是链接到构建,而是将整个源代码添加到每个解决方案中,因此更改是“全局的”。现在我需要为物理上不同位置的解决方案执行此操作,显然 AnkhSVN 不会让我这样做?是坏了还是设计的?

【问题讨论】:

    标签: visual-studio-2010 ankhsvn


    【解决方案1】:

    没有提供 UI 来处理这种情况的“标准”方式,但是如果您只是检查您的工作副本并将所有项目放在一个布局中,AnkhSVN 将只提供处理该项目的所有工具。

    真正困难的问题——我们作为 AnkhSVN 团队正在解决的问题——是我们如何提供必要的 UI 来轻松处理这种布局。如果项目是由位于硬盘不同部分的不同树组成的,则没有简单的方法来布局您的项目。

    某些项目的解决方法可能是创建一个父工作副本,其中外部 (svn:externals) 指向单独的项目。在这种情况下,签出根项目将自动引入其他项目。

    【讨论】:

    • 如果不同的树没有生活在硬盘的不同部分会怎样?我的意思是,如果我从一个空白的解决方案文件夹开始,然后通过 Tortoise 或 svn.exe 从 SVN 中的现有项目到子文件夹进行 SVN 签出,然后进入 VS 并添加 - 现有项目并指向什么刚退房。现在所有项目都在同一个文件夹中。多个 VS 解决方案将拥有自己的单个 SVN“项目”的工作副本。
    【解决方案2】:

    这似乎自 2008 年以来就已为人所知,开发人员认为这不是一个足够重要的问题。

    http://ankhsvn.open.collab.net/ds/viewMessage.do?dsForumId=582&dsMessageId=152095

    【讨论】:

      【解决方案3】:

      你可以这样继续。

      在为所有项目制定解决方案之前,请按照以下步骤操作。

      1. 对于每个项目,将它们分别添加到 svn(每个项目与 它在svn中是自己的目录结构)
      2. 制定解决方案
      3. 将每个所需的项目添加到解决方案中。

      通过这种方式,您可以仅将更改提交到所需的项目,并且提交不会捆绑到解决方案中。

      稍后您可以轻松地将项目与解决方案分开(删除、移动到其他解决方案等)。

      【讨论】:

        猜你喜欢
        • 2010-09-06
        • 2012-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-28
        • 2018-02-12
        • 2020-11-26
        相关资源
        最近更新 更多