代码之家  ›  专栏  ›  技术社区  ›  Jamie Ide

我们如何跟踪工作副本的分支?

  •  9
  • Jamie Ide  · 技术社区  · 15 年前

    有没有什么好的技术可以帮助我们知道我们的工作副本来自哪个分支(或主干)?我们最近转换成了Subversion,我们使用的是发布分支。我让两个开发人员将变更提交到应该提交到主干的发布分支。我们使用的是CI(TeamCity),所以我马上就意识到了这个问题,并且能够恢复这些更改,但是我想防止它再次发生。尤其是在Visual Studio中,很容易犯错误并提交错误的分支。

    我们使用的是Tortoissesvn和Ankhsvn。

    编辑添加: 只是为了澄清,我正在寻找一种方法来防止粗心的错误,我已经知道如何找到这个信息。我试图避免两个粗心的错误:

    1. 在错误的分支上工作。如果在提交之前捕获到这一点,开发人员必须将更改合并回正确的分支。
    2. 致力于错误的分支。这将第1点的痛苦与必须恢复颠覆中的变化结合起来。

    编辑添加:我们刚切换到VisualVN vs插件,它有一个工具栏,显示当前工作副本的路径。我真的很喜欢这样的安慰:我在做正确的工作。

    8 回复  |  直到 9 年前
        1
  •  2
  •   Bert Huijben    15 年前

    在Ankhsvn(在Visual Studio中)中,工作副本的项目URL显示在“挂起的更改”窗口的“处理”字段中(视图->挂起的更改)。

    在“挂起的更改”窗口或“工作副本资源管理器”中选择文件时,文件/文件夹的URL也会显示在Visual Studio项目窗口中(在许多情况下,即使在解决方案资源管理器中选择了文件,但这取决于项目类型)。

    [更新:我刚添加了ankhsvn issue #581 用于扩展提交对话框。]

        2
  •  4
  •   dar    15 年前

    也许您应该考虑使用预提交挂钩: http://svnbook.red-bean.com/nightly/en/svn.reposadmin.create.html

    然后,您可以做一些类似的事情,比如只批准在特定分支的注释中有“for release”的签入,或者类似的事情,否则返回一条错误消息。

        3
  •  2
  •   Jim T    15 年前

    Tortoise SVN向Windows资源管理器视图添加列。在“详细信息”模式下,右键单击列标题以获取可用列的列表,在底部选择“更多”以获取所有可用列类型的对话框。

    SVN短URL应该可以快速显示存储库中的位置。

    但这在Vista下似乎不起作用…

        4
  •  1
  •   Dave Van den Eynde    15 年前

    右键单击该文件夹,移动到“Subversion”选项卡,在那里显示链接到的项目。

    另外,在提交对话框中,它在对话框的顶部这样说。

        5
  •  1
  •   Jukka Dahlbom    15 年前

    从工作目录:

    svn info
    

    URL将包含工作目录指向的分支。

    <编辑>看到有多少人不喜欢命令行,我从Tortoissesvn中找到的关闭功能是“repo浏览器”,它似乎使用所选分支作为repo中的起始路径。&编辑/gt;

        6
  •  1
  •   Jim T    15 年前

    避免重复使用工作副本。如果您在存储库中的两个位置上工作,那么就有两个工作副本,名称适当,比如:项目主干、项目发布。

        7
  •  1
  •   Ran    14 年前

    以下是一个简单的想法,可能有助于:
    创建一个名为“branch_xx”(或任何名称)的空文本文件,并将其添加到您的分支。
    提交这个,然后当您切换到主干时,该文件将不会出现在解决方案资源管理器中。

    听起来很愚蠢…但它起了作用。

    我真的希望他们可以添加一些标记我们正在使用的分支的东西,而不必转到其他窗口。

        8
  •  0
  •   user3121969    9 年前

    在AnkhsVN中(在Visual Studio中),右键单击项目/解决方案,然后在资源库资源管理器中选择源代码管理->Subversion->。它将自动选择当前正在使用的分支(即切换到的分支)。

    我不认为Ankhsvn的公认答案适用于项目,因为即使在项目上使用了“切换项目”选项之后,我也总是在“挂起的更改”中看到相同的URL。