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

9
有没有什么好的技巧可以帮助我们知道我们的工作副本是从哪个分支(或主干)来的?我们最近转换到Subversion,并且正在使用发布分支。我有两个开发人员提交了应该提交给主干的更改内容,但实际上提交给了发布分支。我们正在使用CI(TeamCity),所以我立刻意识到了问题,并能够还原这些更改,但我想防止这种情况再次发生。尤其是在Visual Studio中,很容易犯错并将更改提交到错误的分支。
我们正在使用TortoiseSVN和AnkhSVN。
编辑后添加: 只是为了澄清,我正在寻找一种方法来防止粗心大意的错误,我已经知道如何查找这些信息。我正在尝试防止两种粗心大意的错误:
1.在错误的分支上进行操作。如果在提交之前捕获到这个错误,开发人员必须将更改合并回正确的分支。 2.提交到错误的分支。这将结合点1的痛苦,需要在Subversion中还原更改。
编辑后添加:我们刚刚转换到VisualSVN VS插件,它具有显示当前工作副本路径的工具栏。我真的很喜欢这样的保证,即我正在使用正确的分支。
8个回答

4

2

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

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

但是,这似乎在 Vista 下无法正常工作...


2
在AnkhSVN(在Visual Studio中),您的工作副本的项目URL显示在“正在工作”的字段中的待处理更改窗口(查看->待处理更改)中。
当您在待处理更改窗口或工作副本资源管理器中选择文件时,文件/文件夹的URL也会显示在Visual Studio项目窗口中(在许多情况下,甚至在您选择解决方案资源管理器中的文件时也是如此;但这取决于项目类型)。
[更新:我刚刚添加了AnkhSVN 问题#581以扩展提交对话框。]

1

从工作目录:

svn info

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

<EDIT> 由于许多人不喜欢命令行,我从 TortoiseSVN 中找到的最接近的东西是“repo browser”,它似乎使用所选分支作为您在 repo 中的起始路径。</EDIT>


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

听起来很愚蠢...但它确实奏效。

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


1

右键单击文件夹,移动到Subversion选项卡,在那里可以看到它链接的项目。

此外,在提交对话框中,顶部会显示相关信息。


足够正确,但这并没有防止错误。我们通常从VS中提交,而AnkhSVN不会显示URL。也许现在是看看VisualSVN的时候了。 - Jamie Ide
所以现在你提出了一个完全不同的问题。 - Dave Van den Eynde

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

0
在 AnkhSVN(在 Visual Studio 中)中,右键单击您的项目/解决方案,然后选择“源代码控制” ->“Subversion” ->“在版本库浏览器中选择”。它会自动选择您当前正在使用的分支(即您切换到的分支)。
我认为 AnkhSVN 的接受答案不适用于项目,因为即使我在项目上使用“Switch Project”选项后,“Pending Changes”中始终会看到相同的 URL。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接