Uploaded image for project: 'Subversion'
  1. Subversion
  2. SVN-1833

RA sessions should not be tied to one URL



    • Improvement
    • Status: Closed
    • Trivial
    • Resolution: Fixed
    • all
    • 1.4.0
    • libsvn_ra
    • None


      With the new peg-rev/operative-rev processing, a client operation can start at
      one URL and then migrate to another one.  Unfortunately, our RA interface is
      pegged to one URL at a time.  So if the URL changes as a result of the
      peg-rev/operative-rev lookup, we have to open a new session, which in some cases
      (notably svn+ssh:// with password authentication) is user-visible.  (Our users
      are used to that kind of badness because we currently use two sessions for
      checkout, but in an ideal world we would use only one session per client operation.)
      If we could go back in time to fix this problem, the fix would probably involve
      reconceptualizing the RA layer a bit, so that it's anchored to a repository and
      not to a single URL.  But since we haven't quite gotten the hang of time travel
      yet, we should look for solutions which involve a less painful transition.  On
      IRC, CMike suggested adding a "reparent" operation to the RA interface which
      lets us go from one URL to another.
      This should be relatively straightforward to implement.  In ra_dav, it's a local
      operation; in ra_svn, if we run into an svnserve which doesn't support the
      operation, we can close and reopen the connection, or return an error and make
      the caller open a new session.




            Unassigned Unassigned
            ghudson Greg Hudson
            0 Vote for this issue
            0 Start watching this issue