SVN代码冻结

如何用SVN实现代码冻结?

以TortoiseSVN为例:

1. 获取代码库的最新版本

2. 使用Get Lock锁定根目录,目录下所有文件也会被锁定,这时对任何已锁定文件的提交都会导致错误

3. 需要修改或提交时,先使用Release Lock释放指定的目录或文件

4. 等待对方提交后,Update本地代码。注意,如果锁定的代码不是最新版本,锁定时会提示错误并失败

5. 重新使用Get Lock锁定被解锁的文件或目录

SVN的锁定功能有点类似VSS最早被check out的文件无法check in一样的机制,在配置上,可以制定某种类型的文件自动锁定,不过仅从代码冻结的角度看,如上的方法已经足够用了

P.S. 据说使用锁定会影响TortoiseSVN获取代码的性能,经确认,的确很慢,所以如果可以的话,最好还是改哪个文件取哪个文件的好。

P.S. TortoiseSVN会把锁定的状态保存到本地,所以,如果你不小心删掉本地代码,重新获取的时候会发现所有文档的状态都是解锁状态,但无法提交或再次锁定,这时只能通过TortoiseSVN代码浏览器的方式破除锁定,但破除锁定的操作只能针对单个文件,会比较麻烦。关于这个问题,目前除了小心没有找到更好的办法,也不确定是不是TortoiseSVN得BUG。

Leave a Reply

Your email address will not be published. Required fields are marked *