【问题标题】:SVN: Differences between whole-repository updates and single-file updates?SVN:整个存储库更新和单文件更新之间的区别?
【发布时间】:2010-07-22 15:25:38
【问题描述】:

我们有一个提交钩子,每次提交完成时都会在远程工作副本上运行“svn update”。用户希望看到已提交的更改立即反映在此远程副本中。

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

这种方法的性能得到了非常积极的评价,但这使工作副本处于奇怪/损坏的状态 - 工作副本获得了更新,但认为它具有从存储库。

我一直试图了解单例更新和整个存储库更新之间的区别,以找出发生这种情况的原因。以这种方式进行更新对我来说似乎不是一个好习惯,特别是考虑到这些问题,但我对 SVN 幕后发生的事情知之甚少,无法阐明原因,特别是 'svn update' 和 'svn update FILE 之间的区别'。

从 SVN 的角度来看,在存储库上运行“svn update”与在文件上运行有什么不同?

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

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

【问题讨论】:

    标签: svn hook post-commit


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 1970-01-01
      • 2018-08-05
      • 2012-07-21
      相关资源
      最近更新 更多