[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: VisualSVN

From: Joseph Galbraith <galb_at_vandyke.com>
Date: 2006-09-06 05:10:00 CEST

Thomas Hruska wrote:
> Thomas Eyde wrote:
>> On 9/6/06, Steve Williams <stevewilliams@kromestudios.com> wrote:
>>> > Why does this actually doesn't exist in TortoiseSVN? Would be a great
>>> > feature :-)
>>> >
>>>
>>> I believe the simple explanation is that Visual Studio can notify Visual
>>> Studio plug-ins of the rename operation when it is done within Visual
>>> Studio. Windows Explorer does not notify shell extensions of a rename
>>> operation.
>>
>> Windows provides hooks for these notifications. Renames are easy, but
>> moves are tricky as they translate to one delete event and one create
>> event.
>>
>> --
>> Thomas
>
> Really? What hook works across WinNT _AND_ Win9x?

Well, since we don't support Win9x, we don't need to
worry about that :-) DOS is dead, long live NT :-)

ReadDirectoryChangesW() would be the function, but
I'm pretty sure you knww that.

However, this is a 'best-effort' function;
some notifications can be dropped if the
internal system buffer overflows.

We could, of course, write a file-system filter
driver to accomplish 100% reliability, but that
might be a bit over the top :-)

However, given that moves show up as a add and a
remove, I'm not sure how to detect them... actually,
I suppose we could look at 'add' and 'remove' events
occurring together and then check the newly added file
to see if it contains the contents of the old file.
But that might be too performance intensive.

Thanks,

Joseph

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Wed Sep 6 05:10:12 2006

This is an archived mail posted to the TortoiseSVN Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.