【问题标题】:SVN - svn cleanup before every svn updateSVN - 每次 svn 更新前的 svn 清理
【发布时间】:2013-05-06 07:31:42
【问题描述】:

作为批处理的一部分,我每天使用svn update 命令更新一些 svn 存储库。它运行良好,但由于某些锁定或冲突,某些存储库经常需要svn cleanup。当我在每个存储库上手动运行 cleanup 时,这些锁定或冲突被删除。

由于这变得乏味,我更新了批处理以运行:

svn cleanup .
svn update .

我想知道每次在update 之前都要求cleanup 是否是一种好习惯。

update 之前有一个cleanup 实际上效果很好,但我仍然不确定这是否有效。


编辑:真的很抱歉,我误会了我们共享工作副本。我们在自己的机器上都有自己的本地工作副本。一个人在现场,我们两个人在海上。

更新存储库由我们和现场人员完成。我每天更新存储库,因为几乎总是有来自现场或我的同事的一些或其他更新。

我认为我的锁定问题是由于 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)

【问题讨论】:

    标签: svn tortoisesvn


    【解决方案1】:

    我建议找到锁定的根本原因和why operations are not completed。 您写的“我每天更新一些 svn 存储库”是这些本地工作副本还是您共享工作副本(例如通过网络)。这可能已经是一个根本原因。

    更新:既然您确认您是通过网络共享存储库,我建议您阅读此chapter of the svn book(确保您阅读与正在使用的svn版本相对应的版本)。 正如 @alroc 在 cmets 中指出的那样,每个开发人员都应该拥有自己的工作副本,而不是通过网络共享一个。

    【讨论】:

    • 我正在通过网络与其他三个程序员共享工作副本。
    • +1 建议找到根本原因。如果您正在使用的架构不支持私有工作副本,请从那里开始。建立自动化系统来支持不良做法可能会导致更多的痛苦。
    • @Animesh - 不支持通过网络与其他用户共享工作副本(并且根据文件共享的配置方式,中断 - 正如您所发现的那样),并且也是一个 Subversion 反实践(你失去了 Subversion 提供的许多好处,包括每个程序员都对他们的工作负责)。每个用户都需要自己独立的工作副本,最好在他们的工作站上。
    • 也许我说错了,但我的意思是共享工作副本。我们所有人都进行自己的个人结帐。我们不会将签出的存储库复制到其他机器上。
    • 接受这个答案,即使我的问题没有解决,因为我承认我陷入了困境。 (自动化而不是使用 CI)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 2010-11-06
    • 2017-01-05
    • 2013-06-27
    相关资源
    最近更新 更多