当我做svn更新时,我得到这个错误:
工作副本XXXXXXXX锁定请 执行“清理”命令
当我清理的时候,我得到
处理失败 以下路径:XXXXXXXX
我怎样才能跳出这个循环呢?
当我做svn更新时,我得到这个错误:
工作副本XXXXXXXX锁定请 执行“清理”命令
当我清理的时候,我得到
处理失败 以下路径:XXXXXXXX
我怎样才能跳出这个循环呢?
你是否正在使用TortoiseSVN并且刚刚升级?我以前从1.4迁移到1.5时就遇到过这个问题,而且无法重新启动。(尝试重启)。
您需要重新启动的原因是缓存文件变得异常。
否则,要继续前进,将该工作副本导出到一个新文件夹(不要复制.svn隐藏文件夹),重新签出项目,并将所有代码移回,然后继续提交。
一种方法是:
将编辑过的项目复制到另一个位置。 删除包含问题路径的文件夹。 通过Subversion更新包含的文件夹。 复制文件或根据需要合并更改。 提交
另一种选择是删除顶级文件夹并再次签出。希望不会发展到那种地步。
工作中的一位同事经常看到这条消息,对他来说,这是因为他删除了一个在SVN版本控制下的目录,而没有从SVN中删除它,然后在其不受版本控制的位置创建了一个同名的新目录。
如果这是你的问题……
有不同的方法来修复它,这取决于如何/为什么替换目录。
无论哪种方式,你都可能需要:
A)将现有目录重命名为临时名称
B)通过SVN还原恢复从文件系统中删除的目录,但不从SVN中删除
从那里开始,你可以选择
A)将相关文件复制到被删除的目录中
B)如果目录中的内容发生了重大变化,请对原始目录进行SVN删除,提交,并将新目录重命名为所需的名称,然后进行SVN添加以使该目录处于版本控制之下。
SVN通常在从存储库获取实际文件之前更新文件夹中文件的内部结构(. SVN /prop-base)。一旦获取文件,这将被清除。在更新过程中,由于“更新”失败或过早取消,通常会抛出错误。
检查.svn/prop-base目录下列出的文件 删除任何不在文件夹下的文件 清理 更新
现在更新应该可以工作了。
同样的问题,因为我导出了一个版本控制文件夹下的文件夹。必须从TortoiseSVN中删除文件夹,然后从文件系统中删除文件夹(TortoiseSVN不喜欢未版本化的子文件夹…为什么不呢? ?)
查看您的.svn文件夹,其中将有一个名为lock的文件。删除该文件,您将能够更新。每个子目录的.svn目录下可能存在较多的锁文件。它们也需要删除。这可以作为批处理从命令行非常简单地完成,例如。
find . -name 'lock' -exec rm -v {} \;
注意,您正在手动编辑.svn文件夹中的文件。他们被放在那里是有原因的。这个理由可能是错误的,但如果不是的话,你可能会破坏你的本地副本。
来源:http://www.svnforum.org/2017/viewtopic.php?p=6068
我在TortoiseSVN下有这个错误与我在新项目下创建的新目录有关。我刚刚创建了这个项目,所以这个目录之前不可能存在。我在存储库浏览器中查看,新文件夹确实已经在存储库中,但是TortoiseSVN没有显示它已提交。
为了解决这个问题,因为我刚刚创建了这个文件夹,所以我在存储库中删除了它,然后进行了提交。它运行得很好。
因为我是在Visual Studio之外完成的,所以我必须重新启动Visual Studio,让它重新解决所有问题。
如果您在Windows机器上,通过浏览器查看存储库,您可能会看到两个具有相同文件名但使用不同大小写的文件。Subversion是区分大小写的,而Windows不是,所以当Windows认为它正在拉下同一个文件而Subversion没有时,您可以获得一个锁。请删除存储库中重复的文件名,然后重试。
我遇到这个问题是因为外部文件夹不想被链接到现有文件夹中。如果您添加了一个svn:externals属性行,其中目标是一个现有的(有版本控制的或没有版本控制的)文件夹,您将得到svn Woring Copy locked错误。这里的清理也会告诉你一切正常,但仍然更新不工作。
解决方案:从存储库中删除麻烦的文件夹,并在设置了svn:externals属性的根文件夹中进行更新。这将创建文件夹,一切都将恢复正常。
我遇到这个问题是因为svn:externals for files要求目标文件夹进行版本控制。当我注意到这在不同的存储库中不起作用后,我从外部文件切换到外部文件夹,陷入了这种混乱。
应该做到以下几点:
SVN status | grep”。L" | sed 's/。*(. *) / \ 1美元/ | awk的{打印长度(1美元),$ 1}”|排序nr | awk的{打印2美元“pushd;SVN清理;Popd "}' | sh
不要删除您的解决方案!
在.svn文件夹中有一个名为lock的文件,长度为0字节
您可以从解决方案中的所有.svn文件夹中删除所有这些文件,这样就可以工作了
这对我来说是有效的
如果你在Linux上,试试这个:
find "/the/path/to/your/directory" -name .svn -type d | xargs chmod 0777 -R
然后在该目录上运行清理命令,然后尝试更新。
查克的解决方案对我来说不实用。在我第一次遇到这个问题时,它起作用了,但也给了我很多额外的工作。在第二种情况下,当我在网络外使用我的笔记本电脑时,我改变了文件的负载。我无法想象自己在更改文件后一个文件夹一个文件夹地查看。对乌龟抱着希望,努力工作。看看:
环境是:
Visual Studio 2008 Ankhsvn
过程:
首先我不能承诺,它说我需要清理 第二,我无法清理,在svn - bin中有一个文件夹 我下载了龟的最新版本,尝试和不工作,由于dammed文件夹。 重命名该文件夹,现在我可以更新本地存储库的最新版本。 来了几份文件。 做了承诺并成功了。
就地撤销文件版本,并将新的签入到相同的位置,为我解决了这个问题。
在TortoiseSVN中,要进行就地版本化,请从文件列表中右拖工作副本的根文件夹到目录树中,并从弹出菜单中选择“SVN Export versioned items here”。TortoiseSVN注意到目标和源是相同的,并建议解除工作副本的版本控制。
在解除版本控制之后,对同一文件夹执行一次新的签出(现在包含所有文件的未版本控制副本)。TortoiseSVN会警告你,你正在签入一个现有的文件夹,但你可以继续。
在此之后,清理、更新和其他操作工作顺利进行。由于上述两个步骤都保留了本地修改,因此不应该有任何信息丢失(但在此之前备份工作副本可能是一个好主意)。
警告:如果工作副本包含混合版本或未提交的属性更改,则该信息将丢失。对我来说,这种情况并不常见,如果要在损坏的工作副本或丢失未提交的属性更改之间做出选择,我倾向于选择后者。
我的根目录中有一个文件把它弄乱了。(没有锁文件,svn清理失败等)我的整个签出是> 2GB,网速较慢,所以再次检查所有内容对我来说不是一个很好的选择。
对我有用的是:
还原&还原的变化 搞砸了工作副本(#1)。 又查了一份回购文件 (2)——depth为空 添加和 在new中提交文件 工作副本(#2)。 已在 原始工作副本(#1)。
对我来说似乎又恢复正常了。
我遇到了这样的问题,“清理”工作,但“更新”将继续失败。有效的解决方案是通过Windows资源管理器删除有问题的文件夹,而不是TortoiseSVN的删除(这将删除标记为提交到存储库的内容,然后我做了一个“签出”,从存储库中“更新”文件夹。
关于O/S删除和SVN删除之间区别的更多信息: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-rename.html
值得注意的是:
当你TortoiseSVN→Delete一个文件时,它会立即从你的工作副本中删除,并在下次提交时在存储库中标记为删除。
And:
如果一个文件是通过资源管理器而不是使用TortoiseSVN上下文菜单删除的,提交对话框会显示这些文件,并允许你在提交之前从版本控制中删除它们。但是,如果您更新了工作副本,Subversion将发现丢失的文件并用存储库中的最新版本替换它。
Spotlight在递归查找锁文件方面是它通常的垃圾。
EasyFind在Mac App Store上运行良好
http://itunes.apple.com/gb/app/easyfind/id411673888?mt=12
搜索“lock”
全选/删除
我做了以下来解决我的问题:
的前面加上“_”,重命名了有问题的文件夹 文件夹的名字。 对父文件夹进行了“清理”。 将有问题的文件夹重命名为原来的名称。 做了一个提交。
在我的案例中,我通过手动删除SQLite中的一条记录来解决这个问题”。svn\wc"文件锁记录在WC_LOCK表中。
我用SQLite编辑器打开“WC”文件并执行
delete from WC_LOCK
按照eakkas的注释,您可能还需要从WORK_QUEUE表中删除所有条目。
我在使用SVN 1.7时遇到了完全相同的问题,上面提到的修复程序都不起作用。
最重要的是,确保备份所有编辑过的内容。
在花了几个小时后(没有重新下载所有内容,因为我的分支的大小超过6gb),我发现在你的分支的.svn文件夹中有一个名为“wc”的db文件。
使用任何db管理器打开db文件(我使用firefox的sqlite管理器插件),并导航到WC_LOCK表。这个表将包含获取的锁的条目。从表中删除记录,你就完成了:)
我也有同样的问题。似乎在最新版本中已经修复了。 我已经将我的Tortoise SVN更新到最新版本(1.7.11),清理工作进行得很好。
您可以在这里下载最新版本:downnoad tortoise svn。
我知道这是一个非常老的帖子,但我坚持认为:
解决这个问题最简单和最安全的方法是删除你隐藏的”。Svn”文件夹并再次检查所有内容。
当你再次检查头部修订时,它修复了svn周围的大多数问题,应该保持局部更改(标记为“冲突”)。
清理有时并不足以解决这个问题。
如果您使用TortoiseSVN v1.7.2或更高版本,右键单击锁定文件的父目录,并从菜单中选择TortoiseSVN -> Repo Browser。在Repro Browser GUI中右键单击被锁定的文件,将会有一个选项来移除锁定。
对我来说,这其实是乌龟的错。Tortoise只是抱怨“不能清理,运行清理”,但是当我运行命令行(svn cleanup)时,它清楚地告诉我它不能删除一些正在使用的文件,解决方案是显而易见的。一旦我关闭Visual Studio(它保持文件打开),那么清理工作就很好了。
其他程序也可以在repo中保持文件打开,从而导致此问题。在另一个例子中,Excel保持xls打开是罪魁祸首,所以关闭所有可能在repo中使用任何东西的程序,甚至重新启动以强制程序关闭,然后再次尝试清理,这可能是明智的。
步骤:
关闭svn文件夹中的所有编辑文件 关闭eclipse或任何正在使用svn目录中的文件夹或文件的编辑器。 右键单击svn签出文件夹,然后单击释放锁。 右键单击svn签出文件夹,然后单击清洁。 您的SVN已准备好进行SVN提交和更新操作。
欢呼:)
在对项目结构进行更改时,首先可以通过使用svn copy和svn move etc命令来避免这类问题。请记住,svn只检查已经添加到subversion的文件中的更改,而不检查物理目录结构的更改。请参阅http://svnbook.red-bean.com/en/1.7/svn.tour.cycle.html
此外,在提交更改时,svn首先在todo列表中存储更改的“摘要”。在执行此todo列表中的svn操作时,它会锁定该文件,以防止在执行这些svn操作时发生其他更改。如果svn的操作中途中断,比如崩溃,文件将保持锁定状态,直到svn完成todo列表中的操作。可以使用svn cleanup命令“重新激活”。请参阅http://svnbook.red-bean.com/en/1.7/svn.tour.cleanup.html
在我的例子中,一台运行TortoiseSVN的Windows 7机器无法完全重命名文件夹。任何清理、更新或重命名操作的组合都不能解决这个问题。文件夹最初是用不同的case创建的,Tortoise或Subversion不会将其更改为存储库中的内容。
我的解决方案是:
通过Windows资源管理器复制文件夹(不带Subversion控件) 文件)在项目之外。 通过TortoiseSVN删除并提交文件夹。 通过Windows资源管理器将文件夹复制回正确的(当前)名称。 通过TortoiseSVN将文件夹添加回存储库。
我在每一步之后都进行了清理。糟糕的解决方法,但对我很有效。
今天我经历了以上问题说
Svn:执行' Svn cleanup'命令移除锁(输入' Svn help cleanup') 详细信息)
这就是我的解决方案,开始工作了
关闭Xcode IDE,我试图从那里提交更改。 在Mac上——>进入终端——>输入下面的命令
svn cleanup <我的svn项目代码>的目录路径
例子:
svn净化/Users/Ramdhan/SVN_Repo/项目
按回车键并等待清理完成。 进入XCode IDE和清洁和构建项目 现在我可以提交我的所有更改,并采取更新以及。
希望这能有所帮助。
对我来说,问题是完全满磁盘驱动器(linux inodes在我的情况下),当我删除一些文件夹,它又开始工作了。
错误如下(任何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,然后按下清理… 清理对话框将自动出现 选择“清理工作副本状态”、“打破锁”、“修复时间戳”、“清理原始副本”、“刷新外壳覆盖”、“包括外部组件” 总统好
你成功地完成了你的工作。
检查屏幕截图以供参考。
第一步:
第二步: 启用中断锁定选项(清除弹出窗口中的第二个复选框)
希望这对你有很大帮助。
首先尝试了许多解决方案,然后我只是删除了我有问题的文件夹。
然后执行SVN Update。
这对我很管用。
我不推荐这种方法,但除了这种方法,其他方法都不起作用。:(
我经常遇到这样的问题。我的模式会导致清理问题。
我在查看器中打开图像文件。 我删除图像文件/文件夹。 我正在提交/更新
关闭被删除的文件打开的图像查看器可以解决这个问题。 也许其他软件也能以同样的方式阻止清理。
一般来说。我相信在这种情况下重新启动电脑会有帮助。
While doing svn update using tortoise svn, the process got interrupted and stopped complaining the file is in use. Next it asked me to use CleanUp command on the folder. I tried to run CleanUp command but it failed to do so. Then I found a command shell which was using the folder files. So, I closed the command shell and checked if any editor is using the files related to it. We need to close them as well. Again, I tried CleanUp on the folder with options Break locks,revert changes,clear working copy status . The CleanUp went successfully. Then finally able to update my svn folder.