9

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

我们正在使用 TortoiseSVN 和 AnkhSVN。

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

  1. 在错误的分支上工作。如果这在提交之前被捕获,开发人员必须将更改合并回正确的分支。
  2. 提交到错误的分支。这结合了第 1 点的痛苦和必须恢复 Subversion 中的更改。

编辑添加:我们刚刚切换到 VisualSVN VS 插件,它有一个工具栏,显示当前工作副本的路径。我真的很喜欢我在正确的分支上工作的保证。

4

8 回答 8

4

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

然后你可以做一些事情,比如只批准在特定分支的评论中包含“for release”的签入或类似的事情,否则返回错误消息。

于 2009-04-14T13:58:15.620 回答
2

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

SVN 短 URL 应该会快速向您显示存储库中的位置。

但这似乎在 vista 下不起作用......

于 2009-04-14T14:24:28.523 回答
2

在 AnkhSVN(在 Visual Studio 中)中,工作副本的项目 url 显示在 Pending Changes 窗口(View->Pending Changes)的“Working on”字段中。

当您在 Pending Changes Window 或 Working Copy Explorer 中选择一个文件时,文件/文件夹的 url 也会显示在 Visual Studio 项目窗口中(在许多情况下,即使您在解决方案资源管理器中选择了一个文件;但这取决于项目类型)。

[更新:我刚刚添加了 AnkhSVN问题 #581以扩展提交对话框。]

于 2009-04-15T11:43:04.550 回答
1

右键单击文件夹,移动到颠覆选项卡,那里显示它链接到的项目。

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

于 2009-04-14T13:39:10.253 回答
1

从工作目录:

svn info

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

<EDIT> 看到有多少人不喜欢命令行,我从 TortoiseSVN 找到的关闭的东西是“repo browser”,它似乎使用选定的分支作为你在 repo 中的起始路径。</编辑>

于 2009-04-14T13:47:43.633 回答
1

避免重复使用工作副本。如果您在存储库中的 2 个位置工作,请有 2 个工作副本,并适当命名,例如:Project-trunk、Project-release。

于 2009-04-14T14:26:50.763 回答
1

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

这听起来很愚蠢......但它的伎俩。

我真的希望他们能添加一些东西来标记我们正在使用的分支,而无需转到其他窗口。

于 2010-07-22T14:25:59.847 回答
0

在 AnkhSVN(在 Visual Studio 中)中,右键单击您的项目/解决方案,然后源代码控制 -> 颠覆 -> 在存储库资源管理器中选择。它将自动选择您当前正在处理的分支(即您切换到的分支)。

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

于 2015-08-06T11:20:03.737 回答