在Windows XP上删除.svn目录时出现问题

时间:2011-01-07 20:48:42

标签: windows svn tortoisesvn

我的家用笔记本电脑在Windows XP上似乎没有这个问题,但我在那里做的不多。

在我的工作笔记本电脑上,使用Windows XP时,如果目录包含.svn目录,则删除目录时会出现问题。当它最终工作时,我有同样的问题清空回收站。弹出窗口显示“无法删除文件夹文本库:目录不为空”或.svn下的prop-base或其他文件夹

在我改变TortoiseSVN的配置以停止TSVN缓存进程运行和重新启动系统之后,这种情况继续发生。

多次尝试最终会完成它。但这是一个巨大的烦恼,因为我正在努力解决其他问题,所以我希望它是相关的。

'Connected Backup PC'也在笔记本电脑上运行,真正的问题是cygwin命令并不总是有效。所以我一直认为点文件和点目录与这两个问题和/或扫描目录的备份或其他进程有关。但是我已经没有想过要尝试什么或如何进一步识别问题的想法。

7 个答案:

答案 0 :(得分:2)

您无需重启;只需打开任务管理器并终止TSVNCache.exe。

这也是安全的。它的设计使你可以杀死它,并在需要时自动重启。

(作为自动重启的结果,请注意在浏览器中浏览某些SVN文件夹,文件打开对话框等可能会导致TSVNCache.exe重启。请密切关注任务管理器。)

Tortoise SVN很棒但是我发现TSVNCache.exe可以保留锁定并且有时会妨碍它。 (有时候是合理的,有时候没有。)因此,对于一些自动化脚本,我运行时包含命令来杀死TSVNCache.exe作为脚本的一部分,因此它不会妨碍。如果这是你经常进行的一项操作,那么这是值得做的。

答案 1 :(得分:1)

您可以尝试以下几点:

  1. 由于您经常收到此错误,因此可以使用handle.exe中的sysinternals来检查当前具有.svn\*目录的打开句柄的进程。如果handle utility告诉您任何进程,请尝试停止该进程,然后删除目录。

  2. 从回收站删除时出错:简单来说,在删除后将文件发送到回收站时,实际上并未将其删除,而是在目录层次结构(文件系统级别)中进行了一些操作。避免在浏览文件夹内容时显示文件。因此,如果您碰巧解决了注释#1中提到的问题,则可能不会出现此错误。

  3. Cygwin command not working:在Windows上运行cygwin命令需要(特别是)cygwin1.dll,已知其他程序附带(例如:CopSsh,某些版本的svn客户端等)。 ..)以及。如果cygwin1.dll版本中存在任何不匹配,则cygwin命令将不起作用。尝试在您的计算机上搜索cygwin1.dll并尝试解决版本冲突(如果有)。

答案 2 :(得分:0)

你曾经为cygwin做过mkpasswd和mkgroup吗?如果您从命令行使用cygwin,则几乎可以保证您有文件系统权限问题。你必须阅读一点来解决它。

http://cygwin.com/cygwin-ug-net/ntsec.html

答案 3 :(得分:0)

从我这里试试this answer。虽然它是TortioseGit而不是TortoiseSVN,但处理是一样的:

  • 禁用状态缓存(即阻止TSVNCache.exe连续访问.svn文件夹)
  • 删除您要删除的内容
  • 启用状态缓存以再次获取更新的叠加层

答案 4 :(得分:0)

我刚刚遇到过这个问题(或者类似的)

我正在使用乌龟1.6.7

要修复它,我从乌龟上下文菜单中找到了“Tortoise Settings”。

从那里选择树小部件中的“图标叠加”。

在图标叠加页面中,我输入的路径让我对“排除路径:”感到焦虑,而乌龟不再拥有该目录句柄。

这是一个经常被资源管理器以外的进程删除的目录。

答案 5 :(得分:0)

由于您尝试执行的操作是从SVN导出存储库,为什么不在TortoiseSVN中使用export功能。这将从生成的“工作副本”中删除所有.svn目录.Cmdline:http://svnbook.red-bean.com/en/1.0/re10.html

答案 6 :(得分:0)

如果要删除Windows中名为 .svn 的所有子文件夹 然后使用以下内容创建批处理文件:

for /f "tokens=* delims=" %%i in ('dir /s /b /a:d *.svn') do (
rd /s /q "%%i"
)

将其保存在 del_All_Dot_SVN_Folders.cmd 文件中。运行。你做完了。

感谢http://www.axelscript.com/2008/03/11/delete-all-svn-files-in-windows/

请记住,上面的代码有.svn,而链接中的代码只有* svn,所以它更好 让.svn不会意外地产生不良影响。