Windows 7上的64位TortoiseSVN说“文件或目录已损坏且无法读取”,然后运行chkdsk。


60

我在64位Windows 7 Professional上使用64位TortoiseSVN。通常,签出或更新将失败,并显示以下错误消息。

Error: Can't move 
Error: '[...]\\.svn\tmp\entries' 
Error: to 
Error: '[...]\\.svn\entries': 
Error: The file or directory is corrupted and unreadable. 

然后,CHKDSK在重新启动后运行,这使我感到紧张。

为什么会发生这种情况或如何避免呢?


CHKDSK的输出是什么?您可能会遇到更严重的问题。

您甚至如何安装它?它在安装过程中崩溃并烧毁。:-(
Brian Knoblauch

我也遇到了这个问题-我的病毒扫描程序是McAfee VirusScan Enterprise 8.7.0i。有趣的是,它似乎并不取决于病毒扫描程序的确切品牌:在Web上,使用Microsoft Security Essentials和[Kaspersky] [2]的用户可以找到类似的错误报告。[2]:forum.kaspersky.com/…– Heinzi
09年

Blech,我有同样的问题,并且排除svn + TortoiseSVN进程 svn work dir并没有帮助。如果我没有完全关闭实时监视,则会继续损坏.svn目录。糟透了
orip

1
我们商店中运行Win 7 64位的所有开发人员都遇到相同的问题。
查斯勒

Answers:


51

我遇到了同样的问题,并尝试安装HotFix。它没有解决我的问题。禁用我的防病毒软件,但是,DID解决了该问题。
Brian Lacy 2010年

+1。修补程序为我解决了问题-事先禁用AV无法解决问题。
约书亚·麦金农

1
显然,以修补程序的链接被打破....
弗兰克V

1
...而且它似乎在SP1中对我来说不是固定的。有人听说过此事吗?
James Crowley

由于某种原因,他们更改了KB号。我更新了OP的答案以反映新位置。
SiegeX

11

我遇到了同样的问题(使用MS Security Essentials)。我“认为”这可能与监视程序活动的AV程序有关。MS SE似乎认为“恶意”脚本正在运行并将其停止。

我尝试在“实时保护”中禁用“监视计算机上的文件和程序活动”,这似乎可以解决问题。

从那里,我进行了一些其他测试,发现我可以通过将“排除的进程”配置为包括“ C:\ Program Files \ TortoiseSVN \ bin \ TortoiseProc.exe”,“ C:\ Program”来保留该选项,并且仍然可以成功完成结帐Files \ TortoiseSVN \ bin \ TSVNCache.exe”

到目前为止,这两种方法似乎都对我有效。(自从我更改了选项以来,我就能够始终进行较大的签出。)我更喜欢第二种,因此MS SE无论如何仍会监视潜在的恶意活动。



非常感谢。我在Windows XP中拥有卡巴斯基安全软件,您的解决方案也对我有用。
samir105


3

我遇到了同样的问题,但是使用32位TortoiseSVN(在Win7 x64上为1.6.6)。

禁用/更改防病毒软件无济于事。降级到TortoiseSVN 1.5.10都没有(这只会导致无法再读取已检出的存储库目录。

有助于将Windows Indexing Service配置为不对我的SVN /源代码目录建立索引。我在这里找到了提示:http : //schleichermann.wordpress.com/2009/12/09/svn-tortoisesvn-cant-move-the-file-or-directory-is-corrupted-and--unread-windows-7/


我尝试禁用我的卡巴斯基,但没有帮助。但是,为我的工作副本禁用了索引服务后,此问题
得以

3

这是我发现的一种解决方案,可以像对待对待一样工作。这是SVN的摘录:TortoiseSVN无法移动..文件或目录已损坏且无法读取(Windows 7)

  1. 单击开始菜单按钮,然后在文本框中单击以开始搜索。
  2. 输入“ Windows索引”
  3. 点击“索引选项”应该拿出在搜索那(这也可以在控制面板中找到,如果你改变了通过查看小图标。我不知道它的分类下,虽然)
  4. 当出现“索引选项”框时,单击“ 修改”按钮。这将弹出“索引位置”对话框,您应该在其中看到一些“位置”列表,并且硬盘驱动器也在列表中。
  5. 展开所需的硬盘驱动器,向下扩展到正在使用SVN的文件的根文件夹,并确保未选中该框。即使我在上一篇文章中描述了文件夹选项,也已在这里为我检查了它。另请注意,即使将硬盘驱动器展开后,也可能会选中它,这很可能会使硬盘驱动器折叠起来,并且未选中其复选框。

例如,我的项目位于我的C:\Users\Name\Documents\VS2008\Projects\文件夹中,并且在“索引位置”对话框中检查了这里的每个文件夹。取消选中此处的适当文件夹(这是我的SVN项目的工作副本所在的位置)后,一切似乎都按我期望的方式工作。

我希望这可以帮助仍然遭受这个严重问题的人。



1

这是问题“文件或目录已损坏且无法读取。” Windows 7或Vista中即将安装Windows XP,因为您已开启索引服务。

要解决此问题,请关闭svn目录或其父目录的索引服务,或者暂时关闭索引:这是怎么做的?1)转到控制面板-索引选项2)单击暂停。默认情况下,这将在接下来的15分钟内暂停索引编制。3)现在执行提交。您大声承诺接下来的15分钟


索引服务器不会导致此问题。任何监视更改的应用程序目录都可能导致此问题。
Bert Huijben 2011年

0

我们遇到了同样的问题。如果您安装了病毒扫描程序,则可能是引起此问题的原因。尝试在大额结帐之前禁用扫描。

http://groups.google.com/group/tortoisesvn/browse_thread/thread/4d8bdcea4fd14fce?pli=1

对于我们来说,我们只是遇到了非常大的更新/签出的问题。平均或较小的更新都可以正常工作。我不知道为什么会这样,但是我完全可以看到与病毒扫描程序有关的问题以这种方式不一致。


可能会的。我通过TortoiseSVN和命令行SVN遇到了问题。此外,无论是小型提交还是大型更新,我都经历过。有趣的是,在遇到此错误后,我经常可以重复执行完全相同的操作,并且该操作将毫无问题地完成。
David Alpert

0

我对McAfee 8.7i有相同的问题。要解决此问题,我必须禁用访问保护,因为我似乎无法弄清楚如何为TortoiseSVN添加例外。


0

我得到的是完全相同的错误,但是在更新时又遇到了另一个错误(“找不到指定的文件”)。

我正在运行Windows 7 x64,并已安装McAfee。

我已将文件从“地图”重命名为“地图”并提交。提交工作正常,但检出失败,出现“目录已损坏”错误。

就我而言,它是通过进入Repo-Browser并删除文件“ map”来修复的。因此,我在版本控制中仍然保留了原始的未重命名文件(“地图”)。从那时起,结帐工作正常。


0

我正在运行Panda Cloud Anti-Virus并收到此错误-如上所述,禁用该错误后,该错误完全消失了。


0

不知道您是否仍然遇到此问题,但是我发现我的Google搜索中没有找到解决方案。我张贴的具体方向在这里在我的博客。希望这可以帮助。


0

我有一个目录-C:\ Users \\ workspace \-在其中签出项目。

我发现,如果转到Windows 7中的索引选项,然后单击“修改”,则会出现一个新的弹出窗口。从此弹出窗口中,我可以看到C驱动器以及展开和折叠箭头。我只是取消选中了我的工作区目录。大概这应该禁用该目录上的索引。

我仍然遇到错误,但是我认为这可能对解决方案很有帮助。注意:无论如何我都会因索引暂停而出现错误,因此可能还有另一个因素。


我最终解决了我的问题。这种方法似乎有所帮助,但是我发现在提交单个模块目录(在项目中提交Drupal模块)时出现的错误更少。有一些离群值只是拒绝提交。我在这里的方法是将这些模块目录从项目SVN(即已签出的项目)中导出,将目录从项目中删除,进行提交,然后将导出的模块复制回并再次提交。尽管我的版本历史记录因此丢失/中断,但是这停止了错误。
亚伦·牛顿2010年

0

您可以使用Tortoise SVN中的“清理”从此问题中恢复。找到给您带来问题的目录,然后深入其中。您将看到标记为未版本控制的文件。如果在包含目录上运行cleanup命令,它将暂时解决该问题。

我还要关闭索引错误,吹捧套件。感谢那!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.