Ross Mark <ross_m@controllingedge.com.au>


Patch Suggested
r850070 r858930

r858930 | lundblad | 2006-03-12 15:51:11 -0600 (Sun, 12 Mar 2006)

Fix issue #2209: speed up externals update.  Use relocate and/or switch
instead of delete + recheckout, if possible.  This is not only a performance
enhancement; it also keeps local modifications and unversioned files in
externals in place when the URL changes, like a normal relocate/switch.

Suggested by: Ross Mark <ross_m@controllingedge.com.au>
              philip
(Ross provided a patch which I didn't use; philip reviewed that patch
giving some useful suggestions.)


* subversion/libsvn_client/switch.c
  (svn_client__switch_internal): Copy from svn_client_switch() and only
  sleep for timestamps if caller doesn't want to.
  (svn_client_switch): Implement in terms of the above.

* subversion/libsvn_client/externals.c
  (switch_external): New.  Partially factored out from...
  (handle_external_item_change): Use switch_external() when URL or revision
  changed.

* subversion/libsvn_client/client.h
  (svn_client__switch_internal): Declare.


r850070 | breser | 2004-06-14 23:02:44 -0500 (Mon, 14 Jun 2004)

Add asvn to contrib, which is a wrapper shell script that handles permissions,
symlinks, etc...

Patch by: Ross Mark <rossm@controllingedge.com.au>