Hi,
For some time now I've been looking for a way to configure the windows
indexing service to not index the .svn folders. I wanted to do that in
my installer for TSVN, but after countless hours of searching the web
and reading up even on the internals of the service I found that there
just isn't a way to do that.
Then I found a way to do this: just set the attribute
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED on the .svn folder - the files and
folders created in it will automatically inherit that attribute when
they get created.
But this would have to be done in the svn library when those folders and
files are created.
Unfortunately, apr doesn't provide a way to set this flag when creating
the folders or even later, so this would mean OS specific code in the
svn library.
The advantages for Windows users would be:
* a search won't show matches in the pristine files, those search
results are useless for users anyway and are only "spam" in the results
* the indexing service won't crawl unnecessary data, reducing disk
access a lot
* since the indexing service won't crawl the .svn folder anymore,
access-denied errors during svn commands would also get reduced,
especially errors like these:
http://subversion.wandisco.com/blogs/windows-7-bogus-errorfilecorrupt-error-.html
I still remember the heated discussions about setting the hidden
attribute on Windows for the .svn folders, so I'd like to discuss this
first before I commit the change to init_adm()
#ifdef WIN32
/* tell Windows to not index the admin dir and its content */
const char * admdirpath = svn_wc__adm_child(local_abspath, NULL, pool);
SetFileAttributes(admindirpath, GetFileAttributes(admindirpath)
|FILE_ATTRIBUTE_NOT_CONTENT_INDEXED);
#endif
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
Received on 2011-02-06 10:43:21 CET