Reuse RA sessions with update --parents.
Reuse RA sessions with update --parents.

Prior code would walk up the tree and open a new RA session for each missing
parent.  This meant over DAV that for n missing parents you needed n RA
sessions, and along with that (n*2)+1 OPTIONS requests.  This change still
needs n REPORT requests but that's a more intrustive change for later.

Using the new code and checking out the subversion tree with depth empty from
the ASF repo and then updating with --parents the deepest tree we have halves
the update time over the old code.

* subversion/libsvn_client/update.c
  (update_internal): Add a new ra_session_p argument and handle reparenting
    if the session can be reused.  Save any new ra_sessions in the ra_session_p
    argument for reuse.
  (svn_client__update_internal): Update the update_internal() calls.


git-svn-id: f8a4e5e023278da1e04e203c7fe051e3c4285d88@1565920 13f79535-47bb-0310-9956-ffa450edef68

YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion