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

post-commit goes through invalid database states

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • trunk
    • 1.7.0
    • libsvn_wc
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: