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

Re: Problem with TSVNCache when file is deleted

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: 2006-05-08 20:27:04 CEST

Jens Scheidtmann wrote:

> I have a somewhat strange IDE. When saving, it writes to a temporary
> file, then deletes the file, then recreates it from the temp-file
> apparently by copying. Unfortunately, this mode of operation does not
> work well with TSVNCache, at least if the file in question is large
> (10 MB in my case). If Overlay Icons are enabled, TSVNCache opens the
> to be deleted file and prohibits creating the new file. To my big
> disappointment, the IDE deletes the temp-file and shows "Cannot create
> file". Using "Save as" I can recreate the file.
>
> Using sysinternal's File Monitor I have verified, that the file is not
> written to by the IDE, ie. before I press save.
>
> Why does TSVNCache begin to crawl in the first place?

As soon as it detects a delete, it has to crawl again. The deleted file
might be versioned, and therefore it must know if it has to change the
status of the parent folder to 'missing'.

> Can TSVNCaches behaviour be changed, so that it doesn't lock (to be) deleted
> files? Or that it is interrupted, if a delete is issued?

Then it wouldn't catch the deletion of important files anymore.

> Is there a way to make windows block on the create?
>
> Yes, I had the virus scanner (TrendMicro, which has no track record of
> problems) in mind but was astonished to see TSVNCache having the file
> open. I included the directory and excluded nothing in File Monitor's
> filter dialog. The only other thing I see is Explorer querying the
> directory.
>
> Thanks in advance,
>
> Jens
>
> P.S.: I hope File Monitor output will be readable.
>
>
> Relevant output of File Monitor (with Overlay Icons disabled ---
> as you can see CLOSE, then CREATE).
> ----- snip -----
> 10:41:53 cbi15.exe:3592 QUERY INFORMATION <path to file> SUCCESS Attributes: A
> 10:41:53 cbi15.exe:3592 QUERY INFORMATION <path to file> SUCCESS Attributes: A
> 10:41:53 cbi15.exe:3592 QUERY INFORMATION <path to file> SUCCESS Attributes: A
> 10:41:57 cbi15.exe:3592 OPEN <path to file> SUCCESS Options: Open Access: All
> 10:41:57 cbi15.exe:3592 QUERY INFORMATION <path to file> SUCCESS FileAttributeTagInformation
> 10:41:57 cbi15.exe:3592 DELETE <path to file> SUCCESS
> 10:41:57 cbi15.exe:3592 CLOSE <path to file> SUCCESS
> 10:41:57 cbi15.exe:3592 CREATE <path to file> SUCCESS Options: OverwriteIf Sequential Access: All
> 10:41:57 cbi15.exe:3592 QUERY INFORMATION <path to file> SUCCESS Attributes: A
> 10:41:57 cbi15.exe:3592 SET INFORMATION <path to file> SUCCESS Length: 10467176
> 10:41:57 cbi15.exe:3592 WRITE <path to file> SUCCESS Offset: 0 Length: 65536
> ----- snap ----
>
>
> Relevant Output of File Monitor (with Overlay Icons enabled ---
> CREATE fails with DELETE PEND)
> ----- snip -----
> 10:53:06 TSVNCache.exe:780 WRITE <path>\.svn\tmp\<filename>.2.tmp.tmp SUCCESS Offset: 4259840 Length: 4096
> 10:53:06 TSVNCache.exe:780 WRITE <path>\.svn\tmp\<filename>.2.tmp.tmp SUCCESS Offset: 4263936 Length: 4096
> 10:53:06 TSVNCache.exe:780 WRITE <path>\.svn\tmp\<filename>.2.tmp.tmp SUCCESS Offset: 4268032 Length: 4096
> 10:53:06 cbi15.exe:628 OPEN <path>\<filename> SUCCESS Options: Open Access: All
> 10:53:06 cbi15.exe:628 QUERY INFORMATION <path>\<filename> SUCCESS FileAttributeTagInformation
> 10:53:06 cbi15.exe:628 DELETE <path>\<filename> SUCCESS
> 10:53:06 cbi15.exe:628 CLOSE <path>\<filename> SUCCESS

here the cache starts to crawl. But what I don't get...

> 10:53:06 cbi15.exe:628 CREATE <path>\<filename> DELETE PEND Options: OverwriteIf Sequential Access: All
> 10:53:06 cbi15.exe:628 CREATE <path>\<filename> DELETE PEND Options: OverwriteIf Sequential Access: All
> 10:53:06 TSVNCache.exe:780 WRITE <path>\.svn\tmp\<filename>.2.tmp.tmp SUCCESS Offset: 4272128 Length: 4096

... is that the cache doesn't access that file right away. So the
creation of the file should work.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Mon May 8 20:27:19 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.