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

post-commit goes through invalid database states

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: trunk
    • Fix Version/s: 1.7.0
    • Component/s: libsvn_wc
    • Labels:
      None

      Description

      Post-commit processing is still node-by-node and goes through invalid database
      states.
      
      svnadmin create repo
      svn mkdir --parents file://`pwd`/repo/A/B/C
      svn co file://`pwd`/repo wc
      svn cp wc/A wc/X
      svn ci -mm wc
      
      Interrupt the post-commit processing at the start of the second call to
      commit_node(). Run "svn cleanup wc".  Now:
      
      $ sqlite3 wc/.svn/wc.db "select op_depth, local_relpath, presence from nodes
      order by op_depth, local_relpath"
      0||normal
      0|A|normal
      0|A/B|normal
      0|A/B/C|normal
      0|X|normal
      0|X/B|normal
      1|X/B/C|normal
      
      The workqueue causes X/B to go through post-commit processing, but not X/B/C.
      The database state is invalid: X/B/C op-depth=1.
      
      Ideally moving the copied tree from WORK to BASE should happen in a single
      transaction.
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                philipm Philip Martin
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: