SVN开关 - 在什么条件下可以被打破?

时间:2011-07-10 23:12:58

标签: svn sitecore switch-statement

我正在为开发人员编写指南,其中包含有关通过tortoisesvn使用“svn switch”的说明。我们希望指南尽可能简单。

开发人员正在每个问题创建的不同分支之间切换。通常,分支机构非常相似,但存在一些挑战:

  • SVN中的目录大小约为1.5GB
  • webroot中还有大量未版本化的Sitecore文件,我们不希望因各种原因添加这些文件(许可,附加大小,应单独更新为s​​vn的第三方文件)

我的问题是:

  • 什么时候SVN交换机可以进入完全破坏的状态?我已经读过这可能但是我自己无法复制它
  • 假设我们告诉开发人员始终确保在svn开关之前提交所有更改,并且我们知道分支不会完全不同,那么我们应该采取其他最佳实践步骤吗?
  • 为了转换目的,大量未版本控制的文件是否会伤害我们?我知道svn忽略会有很多帮助,所以他们不会堵塞修改列表。如果我们决定将这些文件中的一个添加到存储库,我可以很好地处理从无版本到版本文件的测试。

由于

更新:开发环境

  • 使用Windows 7的笔记本电脑
  • Visual Studio 2008 with AnkhSVN
  • 所有直接SVN操作的TortoiseSVN
  • 使用Tortoise作为开关
  • 运行服务器的Apache 2.2 + subversion的Windows服务器

2 个答案:

答案 0 :(得分:2)

我认为确保您在尝试开关之前已经办理登机手续,确保您在需要救援任务时处于安全的地面。你没有说你的开发环境是什么。我主张确保在切换完成时VS没有运行。您是否在Visual Studio中使用AnkhSVN(或其他一些用于SVN集成的插件)?如果您是,并且他们都支持切换,请做出关于将使用哪一个来管理切换操作的策略决策(听起来您无论如何已经选择了Tortoise)。我提到这一点,因为我最近与Tortoise和AnkhSVN陷入混乱,不得不消灭我的工作副本以再次获得控制权。我没有失去工作,但它耗费了我很多时间(a)WTF的工作已经发生,然后(2)通过再次检查数兆字节的代码来恢复。说实话,我们都需要比SVN更好的东西,我已经尝试了很多替代方案,但它们都以不同的方式吮吸。

答案 1 :(得分:0)

我看到SVN交换机没有完成的问题,它使工作副本处于一个看着多个分支(和/或主干)的状态。这意味着您可以更改文件,认为您将文件提交到一个区域,而实际上您将文件提交回原始位置。

出于这个原因,我总是发出一个SVN开关,直到它立即回来而没有任何进一步的变化。在过去的五年里,这对我很有帮助。