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

neon get_dir leads to bogus NODES rows

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.7.x
    • Fix Version/s: 1.7.9
    • Component/s: libsvn_ra_neon
    • Labels:
      None

      Description

      $ svnadmin create repo
      $ svn co http://localhost/obj/repo wc
      $ svn up -N wc
      $ sqlite3 wc/.svn/wc.db "select * from nodes"
      1|repo|0||1|repo|0|not-present|||dir||unknown||||0|||||
      1||0||1||0|normal|||dir|()|infinity|||0|1352827689177637||||(svn:wc:ra_dav:version-url
      20 /obj/repo/!svn/rvr/0)|
      
      Note an extra NODES row for "repo", a path that does not exist. It will get
      removed by a subsequent full-depth update but until then it can cause problems:
      
      $ svn up --set-depth empty wc
      svn: E235000: In file '../src-1.7/subversion/libsvn_wc/wc_db.c' line 5849:
      assertion failed (*local_relpath != '\0')
      Aborted
      
      The cause of the problem is a bug in svn_ra_neon__get_dir. The code does
      
           final_url_n_components = svn_path_component_count(final_url);
      
      where final_url is "http://localhost/obj/repo" and then compares
      
           svn_path_component_count(childname) == final_url_n_components
      
      where childname is "obj/repo".  That doesn't make sense.
      

        Attachments

          Activity

            People

            • Assignee:
              cmpilato C. Michael Pilato
              Reporter:
              philipm Philip Martin
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: