Re: svn commit: r12136 - trunk/subversion/libsvn_client
Philip Martin <philip-6ttV0fGTPV0sXMjTw6Upulpr/1R2p/[email protected]> Fri, 03 Dec 2004 15:27:12 +0000
| Newsgroups | gmane.mail.eyebrowse.devel,gmane.comp.version-control.subversion.svn |
|---|---|
| Message-ID | <87sm6n767j.fsf__46576.3614899062$1102087888$gmane$org@codematters.co.uk> |
"C. Michael Pilato" <[email protected]> writes: > Philip Martin <philip-6ttV0fGTPV0sXMjTw6Upulpr/1R2p/[email protected]> writes: > >> I supose we could catch/ignore the error somewhere (libsvn_ra_dav >> perhaps) if that's the only thing going wrong. I don't understand the >> problem sufficiently to determine whether ignoring the error is safe. > > I believe it would be fine for libsvn_ra_dav to catch and ignore this > error. It's just trying to write an unnecessary cache to save itself > some work in future operations. > > Or we could go all extreme and simply turn off the resource walk for > switches in 1.2. This way, the wcprop callback would never get > invoked during a switch, and you shouldn't see any of these problems. > This would: > > - fix the compatibility problem. > > - speed up ra-dav switches. > > - add a few small extra network turnarounds to the first ra-dav > operation that needs a vsn-rsrc-url for each path in the tree > (but afterwards it would be cached). and actually, it's not even > that bad, but because any paths touched during an update would > get their vsn-rsrc-urls cached at no additional cost. > > We could always re-enable the resource walk again in the future if we > wanted to. Now I'm worried that r12006 doesn't fix the problem it's supposed to fix. Consider the following (I'm using a schedule add file because we don't have items with suitable names in the Subversion repo): $ svn co https://svn.collab.net/repos/svn/trunk/tools qq $ touch qq/random-commits.py $ svn add qq/random-commits.py $ svn sw https://svn.collab.net/repos/svn/branches/1.1.x/tools/dev qq/dev U qq/dev/verify-history.py U qq/dev/scramble-tree.py U qq/dev/stress.pl D qq/dev/lock-check.py D qq/dev/po-merge.py ../svn/subversion/libsvn_client/ra.c:179: (apr_err=200005) svn: 'qq/gnuify-changelog.pl' is not under version control It's hit my new check on gnuify-changelog.pl and that's good, previously it would have written a spurious file in qq/.svn/wcprops. However it didn't stop on random-commits.py because a suitable versioned item exists, so that file has switched wcprops even though it didn't get switched: $ cat qq/.svn/wcprops/random-commits.py.svn-work K 25 svn:wc:ra_dav:version-url V 64 /repos/svn/!svn/ver/12140/branches/1.1.x/tools/random-commits.py END That might be harmless for this schedule add file, but if that were a committed file things would fall over. -- Philip Martin