On 13 March 2014 17:14, Bert Huijben <bert_at_qqmail.nl> wrote:
>
>
>> -----Original Message-----
>> From: Ivan Zhakov [mailto:ivan_at_visualsvn.com]
>> Sent: donderdag 13 maart 2014 13:56
>> To: Branko Čibej
>> Cc: Subversion Development
>> Subject: Re: Subversion checked-out files not indexed in Windows search
>>
>> On 13 March 2014 16:46, Branko Čibej <brane_at_wandisco.com> wrote:
>> > On 13.03.2014 13:37, Ivan Zhakov wrote:
>> >
>> > On 12 March 2014 18:17, Gareth McCaughan
>> > <Gareth.McCaughan_at_lightblueoptics.com> wrote:
>> >
>> > Ivan Zhakov wrote:
>> >
>> > It looks like serious issue. Could you please file issue in Subversion
>> > issue tracker: http://subversion.tigris.org/issues
>> >
>> > Done. Issue #4478.
>> >
>> > Gareth, thanks a lot!
>> >
>> > It seems we have second reason to create temporary files in target WC
>> > directory, instead of .svn/tmp. Another problem we had before is
>> > inherited ACL on Windows discussed year ago:
>> > http://mail-archives.apache.org/mod_mbox/subversion-
>> dev/201309.mbox/%3C20130928110059.d1bb8d007dfe7b26cbcb4f719cb77fd6
>> .be88925bf6.wbe%40email16.secureserver.net%3E
>> >
>> > I've prepared stupid patch to create temporary files in WC, instead of
>> > .svn/tmp and it seems working fine.
>> >
>> >
>> > -1. This leaves us with no reliable way to clean up the working copy in case
>> > of an aborted operation.
>> >
>> > There should be a better way for managing ACLs on windows that does not
>> > require us to mess up the working copy. I'm perfectly happy with just
>> > documenting that we don't support different ACLs for .svn and the rest of
>> > the WC, at least for now.
>> >
>> Please note that problem reported is not about inherited ACL: now
>> users got NOT_INDEXED attribute on all WC files, because .svn marked
>> to by not indexed by Windows Search and tools like that.
>
> I'm working on a better patch for this, that doesn't have this problem and
> will improve performance on the pristine store operations as well.
That's good news. Could you please share idea of your patch?
I'm thinking of something like this:
1. Create temp file in target directory.
2. Set DELETE_ON_CLOSE=TRUE using SetFileInformationByHandle()
3. Write contents to temporary file
4. Set DELETE_ON_CLOSE=FALSE using SetFileInformationByHandle()
5. Rename to final location using SetFileInformationByHandle()
6. Delete if failed.
7. CloseFile()
This will be Windows Vista only code since
SetFileInformationByHandle() is not available for older platforms. But
newer Windows SDKs has compatibility library FileExtd.lib for Windows
XP.
>
> But since when is this a huge problem? We applied this setting since 1.6 if I remember correctly...
> I'm more surprised that you didn't know about this?
>
I think setting NOT_INDEXED attribute is big problem, while ACL is
nice to have but not so critical. I was not aware about this problem
before.
--
Ivan Zhakov
CTO | VisualSVN | http://www.visualsvn.com
Received on 2014-03-18 11:08:04 CET