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

Can't replace branch with neon/serf

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • ---
    • 1.5.1
    • libsvn_ra_neon

    Description

      I found a bug in ra-{neon,serf} that can't be shown with the client
      library, but only when using the ra commit editor to build up a
      relatively complex transaction.  See
      http://svn.haxx.se/dev/archive-2007-09/0327.shtml and
      http://svn.haxx.se/dev/archive-2007-09/0332.shtml for Python and
      sh/svnmucc scripts demonstrating the bug.
      
      The problem is basically:
      
        1. Delete /trunk/dir1/dir2/
        => commit r13
        2. In one transaction:
           a. Copy /trunk@13 to /branch
           b. Create /branch/dir1/dir2
        => commit r14
        3. In one transaction:
           a. Delete /branch
           b. Copy /trunk@13 to /branch
           c. Create /branch/dir1/dir2
        => ERROR: .../branch/dir1/dir2 already exists
      
      Of course, /branch/dir1/dir2 does *not* exist in the transaction I'm
      building in step 3! Some or all of Neon, serf, and mod-dav-svn are
      looking at branch/dir1/dir2 in the revision root rather than the
      transaction root.
      
      There's a bit more to it, and serf is slightly different from neon,
      but that's basically it. See the test script for details.  Plop it
      into subversion/bindings/swig/python/tests and run it.  Comment out
      both REPOS_URL settings to see it run over local.
      

      Original issue reported by epg

      Attachments

        1. 1_2939.sh
          0.6 kB
          Subversion Importer

        Activity

          People

            Unassigned Unassigned
            subversion-importer Subversion Importer
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: