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

Factor out the dump stream writer in svnadmin dump, svnrdump dump, svndumpfilter

    XMLWordPrintableJSON

Details

    • Task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • trunk
    • unscheduled
    • libsvn_repos
    • None

    Description

      Presently, dump stream writing is implemented separately in svnadmin dump,
      svnrdump dump, and svndumpfilter. This will surely lead to inconsistencies, if
      it hasn't already, and a maintenance burden.
      
      For reading, we have a shared dump stream parser, svn_repos_parse_dumpstream3(),
      which translates a dump stream to 'svn_repos_parse_fns3_t' vtable calls. We
      should also have a shared dump stream writer, using the same vtable. It should
      be provided by libsvn_repos and used by 'svnadmin dump', 'svnrdump dump', and
      'svndumpfilter'.
      
      We should then factor out an svn_delta_editor_t to svn_repos_parse_fns3_t
      converter from both 'svnadmin dump' and 'svnrdump dump'. We would re-write the
      filtering logic of 'svndumpfilter' as a vtable-to-vtable filter between the
      parser and the writer.
      
      As well as the obvious benefits such as code re-usability and consistency,
      another benefit of this refactoring is that it would be possible to write
      round-trip tests of the form (dump stream -> vtable -> dump stream) and (vtable
      -> dump stream -> vtable).
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            julianfoad Julian Foad
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: