I was having the same problem and found a solution. All my code is stored under a single folder:
F:\projects\
Under that folder are trees of code and related project files that total over 2GB. I constantly need to search this tree and windows Indexing has actually been an extremely useful tool for doing fast searches, so turning it off was not an option. I want to exclude the SVN folders because they clutter up my search results, (2) unnecessary drag on my system, (3) SVN, Win7, and MS Security Essentials seem to not work nicely when doing large SVN operations.
Before you try the solution, reproduce the problem:
- In Windows Explorer, navigate to your indexed project root (F:\projects\ on my machine).
- Using the Search bar in the upper-right corner of the Explorer window, search for "svn" (w/o quotes)
- You should see a trillion useless SVN files & folders like ".svn", and "svn-base" showing up in the results.
Solution:
- Visit http://code.msdn.microsoft.com/windowssearch/
- Download CrawlScopeCommandLine.zip
- Extract to some place on your machine, and compile the project
- Open a Console window with administrative rights (Ctrl+Shift+Left-click on the "Command Prompt" item in the Start menu).
- Navigate to wherever you compiled the above project to.
- Execute the csmcmd.exe with the /add_rule param (use /? first for syntax).
- In my case I entered the following command:
csmcmd.exe /add_rule file:///F:\projects\*\.svn\* /USER /EXCLUDE
I figured this out by first running the command: csmcmd.exe /enumerate_rules
, to list all the existing ones. There were already some rules with asterix (*) wildcard's being used by Windows, so it was proof this was possible.
Now repeat the steps to reproduce the issue, and you should no longer see the SVN clutter in your search results. Give the computer sometime to update the indexes -- this took less than 5 minutes on my system. Sometimes restarting the Search service, kicking off a rebuild/reindex, or a reboot help move things along.
Update: Some of my SVN projects use ".svn", and some use "_svn", so I've added these two rules to every drive:
csmcmd.exe /add_rule file:///F:\*\.svn\* /DEFAULT /EXCLUDE
csmcmd.exe /add_rule file:///F:\*\_svn\* /DEFAULT /EXCLUDE
Best Answer
You must dump the repository, then filter the dump and reimport it into the new repository. Then you can delete the project from its original repo.
See the similar question
https://stackoverflow.com/questions/337024/how-do-i-dump-one-project-out-of-a-svn-repository-which-contains-multiple-project
for more detailed explanations.