[ET Trac] [Einstein Toolkit] #1395: GetComponents has trouble using svn in parallel with recent versions of svn

Einstein Toolkit trac-noreply at einsteintoolkit.org
Wed Jul 10 23:15:02 CDT 2013


#1395: GetComponents has trouble using svn in parallel with recent versions of svn
----------------------------+-----------------------------------------------
  Reporter:  eschnett       |       Owner:  eric9              
      Type:  defect         |      Status:  review             
  Priority:  major          |   Milestone:                     
 Component:  GetComponents  |     Version:  development version
Resolution:                 |    Keywords:                     
----------------------------+-----------------------------------------------

Comment (by knarf):

 We could, but version 1.7 (and 1.8.0) are likely to be around for a while.
 Instead, I propose the attached patch. It doesn't change anything in the
 CRL syntax. Instead, it sorts the modules by target path with the shortest
 first (so that the flesh comes first), and does the checkout/update of the
 very first element in serial. The argument is that the very first element
 is very likely something containing others, and to avoid the problems with
 parallel checkouts, the very first isn't done in parallel.

 This isn't an ideal patch. Ideally we would checkout everything in another
 location and move everything 'together' once it is checked out. However,
 'update' would have the same problem, and the same strategy wouldn't work
 there. We also cannot use a similar hack like for git and checkout in a
 completely different place and just symlink into the checkout, because the
 symlink would end up inside the containing checkout and might cause
 confusion there.

 Instead, this patch tries to be as short as possible, changing as little
 as possible. The only user-visible change is the order things are done,
 but that order isn't guaranteed anyway (with parallel checkouts), and of
 course the intentional serial checkout of the very first module (with the
 shortest target path: TARGET.(NAME||CHECKOUT), for each TARGET (and these
 also sorted by length).

-- 
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1395#comment:35>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit


More information about the Trac mailing list