CVS到SVN的转换--如何替换CVS标记功能

CVS到SVN的转换--如何替换CVS标记功能,svn,tags,cvs,commit,Svn,Tags,Cvs,Commit,我们计划从CVS迁移到SVN 一切看起来都很好,希望我们的开发人员在每次提交时都做一个pre/post标记。 因此,在CVS中,我们没有问题,因为标记直观且便宜。 但是,在SVN中,标记是副本,对吗? 话虽如此,我想知道是否有一种方法可以让我根据修订或我在提交之前可以访问的内容进行前后标记。标记是一个副本,但由于Subversion中的修订是基于树的,因此副本的开销远小于CVS。详细信息,请查看。 正如Richard的评论所说,上面有一个描述廉价拷贝的方框。 这里还列出了针对CVS用户的Subv


我们计划从CVS迁移到SVN
一切看起来都很好,希望我们的开发人员在每次提交时都做一个pre/post标记。
因此,在CVS中,我们没有问题,因为标记直观且便宜。
但是,在SVN中,标记是副本,对吗?

话虽如此,我想知道是否有一种方法可以让我根据修订或我在提交之前可以访问的内容进行前后标记。

标记是一个副本,但由于Subversion中的修订是基于树的,因此副本的开销远小于CVS。详细信息,请查看。 正如Richard的评论所说,上面有一个描述廉价拷贝的方框。
这里还列出了针对CVS用户的Subversion顶级技巧。

我不确定是否正确理解了这个问题,但您可以在svn中标记一个特定的修订:

$ svn cp -r <url>/trunk <url>/tags/my_tag $svn cp-r/trunk/tags/my_tag
有关更多信息,请参阅Subversion版本控制中的。也可能值得一读。

标签是一个虚拟副本。可以把它想象成UNIX中的一个符号链接——这是一个非常低成本的操作。

只是对CVS ans SVN标记之间的细微差异的一点评论,这可能会导致迁移中出现一些问题(至少在我的团队中引起误解)

在CVS中,标记是开发的一种时间快照;你通常是在 当你到达一种稳定的状态,你想保存下来供以后参考时,你只需要做一个标记。如果您从CVS存储库签出标记版本,则无法对其进行修改,或者更确切地说,可以在本地副本上对其进行修改,但您不能提交回更改。在某种程度上,CVS会自动保护其标记不受意外更改的影响

SVN中的副本只是另一条路径中主干的副本。。如果您从存储库中的标记路径签出代码,您仍然能够更改代码并将其提交回来;这通常是你不想做的事情,至少如果你认为标签是你不应该改变的开发的固定快照。这就是为什么使用特定的钩子脚本可以强制标记目录为只读(我认为应该鼓励这样做)


希望它能有助于讨论SVN和CVS之间的差异(请为我的英语道歉)。

更好的是,请勾选SVN书籍本页“廉价副本”上的复选框:谢谢Richard,没有看到OneHanks或Orpick。你的英语很棒!