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

svnadmin verify should validate rep-cache.db

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • trunk
    • 1.8.0
    • libsvn_fs_fs

    Description

      Quoting http://svn.haxx.se/dev/archive-2011-07/0358.shtml
      
      [[[
      while repairing some bad repository breakage we noticed that
      svnadmin verify does not check whether offsets mentioned in
      rep-cache.db point to valid reps.
      
      In some cases I had to append repaired reps after the changed-paths
      section in revision files and leave broken reps in place to avoid
      adjusting offsets everywhere.
      
      So now 'svnadmin verify' runs fine. But when the rep-cache is
      referred to during commit we can still run into reps that are broken.
      
      Obviously we'll either have to fix up the rep-cache as well,
      or simply delete it. But the point is that 'svnadmin verify'
      does not complain.
      
      Would it be feasable to add this as a separate pass of 'svnadmin verify'?
      Should I file an issue about this?
      
      For instance, good output could look like this:
      
      $ svnadmin verify repos
      * Verified revision 1.
      ...
      * Verified revision N.
      * Verified rep-cache.
      
      $
      
      And errors like this:
      
      $ svnadmin verify repos
      * Verified revision 1.
      ...
      * Verified revision N.
      svnamdin: rep-cache entry '8fe47fa166154fc6e7f2e78366591c470ba75cf7' is invalid
      svnadmin: Malformed representation header
      
      $ 
      ]]]
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              stsp Stefan Sperling
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: