我每天使用svn update
命令更新一些svn存储库,作为批处理过程的一部分。它运行良好,但由于某些锁定或冲突,某些存储库经常需要svn cleanup
。当我在每个存储库上手动运行cleanup
时,将删除这些锁定或冲突。
由于这变得乏味,我更新了批处理以运行:
svn cleanup .
svn update .
我想知道在cleanup
是否为良好做法之前每次都需要update
。
cleanup
之前update
实际上运作良好,但我仍然不确定这是否有效。
编辑:我真的很抱歉,我错误地说我们分享了工作副本。我们在自己的机器上都有自己的本地工作副本。一个人在现场,两个人离岸。
更新存储库由我们和现场人员完成。我每天更新存储库,因为几乎总是来自现场或我的同事的一些或其他更新。
我认为我的锁定问题归因于internal subversion locks,而不是由于某些用户自己锁定了存储库。
我以前得到的错误:
svn_update_2013-5-2-12-25-11.log:21:svn: E155004: 'C:\TRUNK\Decrypt' is already locked.
svn_update_2013-5-2-12-25-11.log:22:svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
答案 0 :(得分:3)
我建议找到锁定的根本原因和why operations are not complete d。 您写的“我每天更新一些svn存储库”是这些本地工作副本还是您共享工作副本(例如通过网络)。这可能已经是一个根本原因。
更新:由于您确认是通过网络共享存储库,我建议您阅读此chapter of the svn book(请确保您阅读了与使用中的svn版本对应的版本)。 正如@alroc在评论中指出的那样,每个开发人员都应该拥有自己的工作副本,而不是通过网络共享一个。