从索引 .svn 元数据中自动禁用 Windows 7

Jam*_*tel 26 windows-7 tortoise-svn svn windows-search

SVN 存储库和 Windows 索引服务争夺 .svn 元数据文件存在一个已知问题。在这里了解更多详情。

我们如何设置它才能让Windows (Vista/Win7) 索引的 subversion 存储库自动没有问题。(我们不想每次添加 repo 目录时都必须手动执行某些操作。)

一个想法是将 Windows 设置为自动不索引名为“.svn”的文件夹,但是我找不到这样做的方法。

我知道您可以禁用某些扩展,但这似乎不起作用,因为 svn 元数据文件位于文件夹中。

注意:

Gis*_*mby 11

我遇到了同样的问题并找到了解决方案。我所有的代码都存储在一个文件夹下:

F:\项目\

该文件夹下是总大小超过 2GB 的代码树和相关项目文件。我经常需要搜索这棵树,而 windows 索引实际上是一个非常有用的快速搜索工具,所以关闭它不是一个选项。我想排除 SVN 文件夹,因为它们使我的搜索结果变得混乱,(2) 对我的系统造成不必要的拖累,(3) SVN、Win7 和 MS Security Essentials 在执行大型 SVN 操作时似乎不能很好地工作。

在尝试解决方案之前,请重现问题:

  1. 在 Windows 资源管理器中,导航到您的索引项目根目录(在我的机器上为 F:\projects\)。
  2. 使用资源管理器窗口右上角的搜索栏,搜索“svn”(不带引号)
  3. 您应该会在结果中看到一万亿个无用的 SVN 文件和文件夹,例如“.svn”和“svn-base”。

解决方案:

  1. 访问http://code.msdn.microsoft.com/windowssearch/
  2. 下载 CrawlScopeCommandLine.zip
  3. 解压到你机器上的某个地方,然后编译项目
  4. 打开具有管理权限的控制台窗口(Ctrl+Shift+左键单击“开始”菜单中的“命令提示符”项)。
  5. 导航到您将上述项目编译到的任何位置。
  6. 使用 /add_rule 参数执行 csmcmd.exe(首先使用 /? 作为语法)。
  7. 就我而言,我输入了以下命令: csmcmd.exe /add_rule file:///F:\projects\*\.svn\* /USER /EXCLUDE

我通过首先运行命令csmcmd.exe /enumerate_rules来解决这个问题: , 列出所有现有的。Windows 已经使用了一些带有星号 (*) 通配符的规则,因此证明这是可能的。

现在重复重现问题的步骤,您应该不会再在搜索结果中看到 SVN 混乱。给计算机一些时间来更新索引——这在我的系统上用了不到 5 分钟。有时重新启动搜索服务、启动重建/重新索引或重新启动有助于推进工作。

更新:我的一些 SVN 项目使用“.svn”,一些使用“_svn”,所以我在每个驱动器中添加了这两个规则:

csmcmd.exe /add_rule file:///F:\*\.svn\* /DEFAULT /EXCLUDE csmcmd.exe /add_rule file:///F:\*\_svn\* /DEFAULT /EXCLUDE


小智 5

AFAIK,Windows 7 上的 Windows 索引服务默认只在用户文件夹中查找(如果我错了,请纠正我)。如果您的个人文件夹中有 SVN 存储库,您可以:

a) 将您的 SVN 存储库放在其他地方

b) 通过从索引中排除这些文件夹。您将在此处找到如何排除文件夹。

  • 我想索引我的存储库,而不是 svn 元数据文件。 (7认同)

Dar*_*all 2

蛮力法

  1. 搜索所有 .svn 目录
  2. 全选(ctrl+a)
  3. 鼠标右键单击属性
  4. 点击“前进...”
  5. 取消选中“索引此文件夹以加快搜索速度”
  6. 应用更改

WDS 组策略有一个选项Prevent Indexing Certain Paths,但根据功能图表,它并未列出可用于 Windows Vista。

支持:Windows XP、带有 Windows Search 3.01 的 Windows Server 2003,或者带有 Windows Search 4.0 或更高版本的任何版本的 Microsoft Windows。