我得到这个错误的时候我做一个 svn update:

工作复制XXXXXXXX请锁定 执行"清理"的命令

当我运行清理,我得到

清理无法处理的 以下途径:XXXXXXXX

我怎么摆脱这种循环?

有帮助吗?

解决方案

一种办法是:

  1. 拷贝编辑项目到另一个位置。
  2. 删除的文件夹,其中包含该问题的道路。
  3. 更新含有文件夹中通过颠复活动。
  4. 复制的文件回来或合并变化的需要。
  5. 提交

另一个选择是删除的顶级的文件夹,并检查了一次。我们希望它不会来的,虽然。

其他提示

对我来说,诀窍是在我的工作副本的顶部运行 svn cleanup ,而不是在问题发生之前我一直在工作的文件夹中运行。

查看 .svn 文件夹,其中会有一个名为 lock 的文件。删除该文件,您将能够更新。每个子目录的 .svn 目录中可能有更多的锁文件。他们还需要删除。这可以通过命令行非常简单地完成,例如

find . -name 'lock' -exec rm -v {} \;

请注意,您手动编辑 .svn 文件夹中的文件。他们被放在那里是有原因的。这个原因可能是一个错误,但如果不是,你可能会破坏你的本地副本。

消息来源: http://www.svnforum.org/2017/viewtopic。 PHP?p = 6068

在我的情况下,我通过手动删除SQLite“.svn \ wc”中的记录来解决它。 WC_LOCK表中的文件锁记录。

我打开了“WC”。使用SQLite编辑器执行文件并执行

delete from WC_LOCK

关注 eakkas 的评论,您可能还需要删除 WORK_QUEUE 表中的所有条目。

最简单的方式:

  1. 转到项目父目录(文件夹)
  2. 预先右键单击
  3. TortoiseSVN ,然后按清理......
  4. 自动显示清理对话框
  5. 选择清理工作副本状态中断锁修复时间戳真空原始副本,<代码>刷新外壳覆盖, Include externals
  6. 预先确定
  7. 你成功地完成了你的工作。

    检查屏幕截图以供参考。

    第一步:

    第二步: 启用Break lock选项(清理弹出窗口中的第二个复选框)

    希望这会对你有所帮助。

一位正在工作的同事经常看到这条消息,对他而言,这是因为他删除了SVN版本控制下的目录,而没有从SVN中删除它,然后在不在版本下的地方创建了一个新目录控制,同名。

如果这是你的问题......:

有多种方法可以修复它,具体取决于替换目录的方式/原因。

无论哪种方式,您可能需要:

A)将现有目录重命名为临时名称

B)SVN还原以恢复从文件系统中删除的目录,但不是从SVN恢复

从那里,你要么

A)将相关文件复制到已删除的目录

B)如果您对目录中的内容进行了重大更改,请对原始内容执行SVN删除,提交并将新目录重命名为所需名称,然后再添加SVN以获取 一个版本控制。

对我来说,上述解决方案都没有奏效。 我通过打破锁来找到解决方案。 当我执行svn清理时,我选择了“Break Locks”和“Break Locks”。以及“清理工作副本状态”。

这个对我有用。

  1. 转到根文件夹
  2. 右键单击并清理
  3. 检查所有可用选项
  4. 按ok
  5. 清理后,它将允许您更新到最新版本。

对我来说,这实际上是Tortoise的错。 Tortoise只抱怨“无法清理,运行清理”,但是当我运行命令行(svn cleanup)时,它清楚地告诉我它无法删除一些正在使用的文件,解决方案显而易见。一旦我关闭Visual Studio(保持文件打开),清理工作正常。

其他程序也可以在repo中保持文件打开,从而导致此问题。持有xls open的Excel是另一个实例的罪魁祸首,因此关闭所有可能正在使用repo中的任何程序甚至重新启动以强制程序关闭然后再次尝试清理的程序可能是明智的。

我遇到了这个问题,因为外部文件夹不希望链接到现有文件夹。如果添加svn:externals属性行,其中目标是现有(版本化或非版本化)文件夹,您将获得SVN Woring Copy锁定错误。这里的清理工作也会告诉你,everthing是可以的,但仍然无法更新。

解决方案:从存储库中删除麻烦的文件夹,并在设置了svn:externals属性的根文件夹中进行更新。这将创建文件夹,一切都会好起来的。

这个问题出现在我身上,因为文件的svn:externals需要对目标文件夹进行版本控制。在我注意到这不适用于不同的存储库之后,我从外部文件转移到外部文件夹并陷入了混乱。

最简单的方法是显示隐藏文件夹,然后打开.SVN文件夹。您应该看到一个名为“lock”的零KB文件删除此将解决问题

我使用SVN 1.7遇到了完全相同的问题,并且没有上述修复工作。

最重要的是,请务必备份所有已修改的内容。

花了几个小时(没有重新下载所有内容,因为我的分支大小超过6GB),我发现有一个名为“wc”的db文件。在您的分支的.svn文件夹中。

使用任何数据库管理器(我使用firefox的sqlite管理器插件)打开db文件并导航到WC_LOCK表。此表将包含已获取锁的条目。从表中删除记录,你就完成了:)

当我遇到这个问题时,我发现直接在问题路径上运行清理命令通常似乎有效。然后我将再次从工作根运行清理,它会抱怨其他目录。我只是重复,直到它停止抱怨。

如果您使用的是Windows计算机,请通过浏览器查看存储库,您可能会看到两个文件名相同但使用不同情况的文件。 Subversion区分大小写,Windows不是这样,当Windows认为它正在拉下同一个文件而Subversion没有时,你就可以获得锁定。删除存储库中的重复文件名,然后重试。

我是通过创建一个新文件夹,签出项目,将更新的文件复制到新文件夹来实现的。

用新结账修好了。

您使用的是TortoiseSVN吗?我从1.4到1.5而不是重新启动之前就遇到过这个问题。 (尝试重新启动)。

您需要重新启动的原因是因为缓存文件变得非常时髦。

否则,只需继续,将该工作副本导出到新文件夹(不要复制.svn隐藏文件夹),重新签出项目,然后移回所有代码,然后继续提交。

只需删除.svn文件夹,然后在父目录上运行清理。完美的工作!!

在Mac OS下的版本中: 行动 - &gt;清理工作副本锁定在......

我经常遇到这样的问题。我的模式导致清理问题。

  1. 我在查看器中打开图像文件。
  2. 我删除了图片文件/文件夹。
  3. 我正在尝试提交/更新
  4. 关闭打开已删除文件的图像查看器可以解决问题。 也许其他软件可以用同样的方式阻止清理。

    总的来说。我相信在这种情况下重新启动计算机可能有所帮助。

SVN通常更新其内部结构(.svn/托基)的文件夹中的文件之前的实际文件是获取从储存库中。一旦文件获取这将会被清除。经常引发错误的,因为"更新"失败或过早地取消在更新的进展。

  1. 检查的任何文件中列出下。svn/自营的基本目录
  2. 删除任何文件,这是没有根据的文件夹
  3. 清理
  4. 更新

现在应该更新工作。

出现同样的问题,因为我在版本控制的文件夹下导出了一个文件夹。不得不删除TortoiseSVN中的文件夹,然后从文件系统中删除该文件夹(TortoiseSVN不喜欢无版本的子文件夹......为什么不呢?)

请勿删除您的解决方案!

在.svn文件夹中,你有一个名为lock的文件,它是0字节长

您可以从解决方案中的所有.svn文件夹中删除所有这些文件,它将起作用

它适用于我的情况

文件的就地取消版本以及新的结帐到同一位置,已经为我解决了这个问题。

在TortoiseSVN中,要进行就地取消反转,请将工作副本的根文件夹从文件列表右键拖动到目录树中的自身,然后选择“SVN Export versioned items here”。从弹出菜单中。 TortoiseSVN注意到目的地与源相同,并建议取消工作副本。

取消版本后,对同一个文件夹(现在包含所有文件的无版本副本)进行新的结帐。 TortoiseSVN会警告您正在检查现有文件夹,但您可以继续。

在此之后,清理,更新和其他操作顺利进行。由于上述两个步骤都保留了本地修改,因此不应该丢失任何信息(但在此之前支持工作副本可能是一个好主意)。

一个警告:如果工作副本包含混合版本或未提交的属性更改,则该信息将丢失。对我而言,这并不常见,如果选择了腐败的工作副本或丢失了未提交的财产变更,我倾向于选择后者。

我有“清理”这个问题。工作,但“更新”会继续失败。有效的解决方案是通过Windows资源管理器删除有问题的文件夹,而不是TortoiseSVN的删除(它将删除标记为提交到存储库的东西,然后我做了一个“结帐”以基本上“更新”文件夹中的文件夹程序存储库。

有关O / S删除与SVN删除之间差异的更多信息: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug -rename.html

值得注意的是:

  

当你TortoiseSVN&#8594;删除文件,它会立即从您的工作副本中删除,并在下次提交时在存储库中标记为删除。

  

如果通过资源管理器删除文件而不是使用TortoiseSVN上下文菜单,则提交对话框会显示这些文件,并允许您在提交之前将其从版本控制中删除。但是,如果您更新工作副本,Subversion将发现丢失的文件并将其替换为存储库中的最新版本。

如果您使用的是Linux,请尝试以下操作:

find "/the/path/to/your/directory" -name .svn -type d | xargs chmod 0777 -R

然后在该目录上运行 cleanup 命令,然后尝试更新。

我做了以下修复我的问题:

  1. 通过放置“_”重命名有问题的文件夹。在......面前 文件夹名称。
  2. 做了“清理”父文件夹。
  3. 将违规文件夹重命名为原始名称。
  4. 做了提交。

在解决方案资源管理器中,右键单击项目,在打开的子菜单中单击subversion并选择清理。这将解决问题,就像它对我所做的那样。希望它能奏效。

进行清理

  1. 删除.svn文件夹。

  2. 在根文件夹中执行svncheckout。

  3. 尝试执行清理操作。

  4. 这解决了我的问题。

对我来说,问题在于完全充满磁盘驱动器(在我的情况下是linux inode),当我删除一些文件夹时它又开始工作了。

错误如下(在任何svn操作上):

$ svn cleanup
svn: E155004: Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
svn: E155004: Working copy locked; try running 'svn cleanup' on the root of the working copy ('/my/directory') instead.
svn: E155004: Working copy '/my/directory' locked
svn: E200030: sqlite[S14]: unable to open database file
svn: E200030: Additional errors:
svn: E200030: sqlite[S14]: unable to open database file

我在TortoiseSVN下有这个,错误与我在新项目下创建的新目录有关。我刚刚创建了这个项目,所以之前没有这个目录存在过。我查看了存储库浏览器,新文件夹确实已经在存储库中,但是TortoiseSVN没有将其显示为已提交。

为了解决它,因为我刚刚创建了文件夹,我在存储库中删除了它,然后进行了提交。它运作良好。

由于我在Visual Studio之外执行此操作,因此我不得不重新启动Visual Studio,以便重新计算所有内容。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top