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

commit (or post-commit) process non-atomic, leading to broken wc

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • all
    • 0.27
    • unknown
    • None
    • Windows 2000

    Description

      the following error happened:
      svn_error: #21058 : <Working copy text base is corrupt>
        apply_textdelta: checksum mismatch for
       './bla/.svn/text-base/RegFunctions.java.svn-base'
          recorded checksum: utE4opbEYDdcoRuSCsIVeQ==
          actual checksum:   Nb8fNtvt9aG+A4KHYDqoxg==
      
      it happenend with two working copies, one on nt, one
      on unix. prerequisits:
      1. the server had a broken post-commit hook
      2. the client on nt had a broken diff3 (not in path)
      
      i think the following is broken:
      - a failure in the post-commit-hook
        should NOT prevent the update on
        the wc (the update is done in 
        the repository).
        karl thinks this is related to
        http://subversion.tigris.org/issues/show_bug.cgi?id=443
        personally, i don't think a failure of the post-commit
        hook is an error in the sense of version control (maybe a warning?).
      - a failure in merging should not result in a checksum error
        (karl: either all necessary updates in wc happen, or none happen:
         - revision number is updated
         - text base is updated
         - checksum is updated
         )
      - there should be NO checksum error presented to the user:
        IF there is a checksum error, then
        why not merge it anyway? is a different
        checksum not THE indicator for
        "please merge"?
        (karl: In
        general, if we are sending svndiff data based on a text-base, OR
        receiving svndiff data to apply against a text-base, then we use the
        local checksum to make sure that text-base is still okay.)
        --> as svn user, i don't gain anything from that error. I have to
        fix it via save away the old textbase, delete the supposedly corrupted 
        thing, svn up, and then merge the old and new. i would  prefer if svn
        does this for me.
         
      
      used versions:
      alpha build on unix (server/client).
      first, alpha build, then newest "install.exe" from the
      download section (alpha+?).
      
      what one ;) did:
      1. on nt (alpha version)
         update to a file
         svn ci, got the "hook error"
         svn up, got the "merge error"
      
         tried to do a "svn up", "svn revert",
         "svn cleanup" (can't remebmer the oder
         and how often i did it).
      
      2. on unix
         update to the same file
         svn ci, got the "hook error"
         svn up, got the change to the working copy
      
      3. on the server
         fixed the broken hook
      
      4. did another update and commit to the same
         file on unix
      
      5. on nt, uninstalled alpha, installed alpha+
      
      5a. tried the "svn up", got the diff3 error
         again.
         
      6. fixed the path to make diff3 work
      
      7. tried to do a "svn up", "svn revert",
         "svn cleanup" (can't remebmer the oder, did
         a cleanup to get rid of the lock)
         but the final error is the "checksum error"
         on "svn up"
      
      
      karls opinion in:
      http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=19446
      
      details in:
      http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=19428
      

      Original issue reported by ford

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: