我们正在使用 ankhsvn 来检查我们的 .net 代码,但是我有两个我想解决的设置问题。
1\ 我认为拥有像 svn 这样的工具的一个关键原因是您可以回滚到代码库的早期版本。如果开发人员只是签入代码,那么如何从颠覆中获得 1.1 版(比如当前的生产版本)?
2\在VS中你有解决方案的概念,许多解决方案可能使用同一个项目。我如何确保当开发人员签出解决方案时,他们获得了属于该解决方案的项目的适当版本?
我建议阅读SVN 红豆书。
在 ankhsvn 中创建“标签”(应用程序的新版本):
要自动将工作副本切换到新分支,请选择创建后切换到分支。
注意:如果您的工作副本有修改,这些更改将在您切换时合并到分支的工作副本中。
这是一个非常糟糕的解决方案,对我来说太手动了(它不“知道”原始项目的位置,我不希望这个过程那么繁重)我真正想要的是一个按钮来完成这项工作,所以会继续调查。
对于问题 2:
svn:externals
如果项目代码存储在 svn 存储库中与解决方案不同的目录中,则可以使用该属性将项目的适当版本与解决方案相关联。如果您将解决方案主干上的 externals 属性设置为指向某个标记,则已标记的项目版本将与该解决方案一起签出。
我不知道 AnkhSVN 接口是否提供了一种添加 externals 属性的方法,因为我通常使用 TortoiseSVN 存储库浏览器来完成任务。
我会推荐阅读红豆书。