2010-07-22 71 views
0

我们有一个提交钩子,每次提交完成时在远程工作副本上运行'svn update'。用户希望看到立即反映在此远程副本中的已提交更改。SVN:整个存储库更新与单个文件更新之间的区别?

用户对在整个工作副本上运行'svn update'的性能非常不满意,所以我被要求更改钩子以使用'svnlook changed'来查找更新的文件,然后'svn update'更新的文件只要。

该方法的性能得到了非常积极的响应,但是这使得工作副本处于一种奇怪/破碎的状态 - 工作副本获取更新,但认为它有本地未更新版本的单身更新文件存储库。

我一直在试图理解单例更新和整个存储库更新之间的区别,以找出为什么发生这种情况。以这种方式进行更新对我来说似乎不是什么好习惯,尤其是考虑到这些问题时,但我对SVN幕后发生的情况不太了解,不清楚“svn update”和“svn update FILE”之间的区别”。

SVN在存储库和文件上运行'svn update'之间有什么不同?

这是不好的做法?基于父目录的更新会“足够好”吗?

否则,我应该如何在每个文件上进行SVN更新以避免这种不一致的工作副本问题?

回答

0

我建议更新父目录而不是仅仅是文件。在调用更新之前,还要在目录上执行svn cleanup,这应该有助于解决您的检出问题。