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

imports need to do checksumming

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • all
    • 0.21
    • unknown
    • None

    Description

      This is fallout from resolved issue #689, which caused
      commits/updates/checkouts to do compare checksums between client and
      server.
      
      Imports are not yet comparing checksums.  In
      
         libsvn_client/commit.c: send_file_contents()
      
      we currently pass NULLs for the base_checksum and result_checksum
      arguments to editor->apply_textdelta().  The base_checksum should stay
      NULL, of course, no change needed there.  The "gotcha" is the
      result_checksum: in order to have it in time to pass to
      apply_textdelta(), we'd have to run over every byte of the outgoing
      file before we start to send it.  That'll be very bad for imports of
      large files.
      
      The solution is to move the result_checksum argument to close_file(),
      which is where I should have put it in the first place :-).  So this
      change should happen in two stages:
      
         1. Move result_checksum from apply_textdelta() to close_file(),
            change all callers accordingly.
      
         2. Then add the result checksum in the import case.  This may imply
             farther-reaching changes, such as the ability to retrieve a
      checksum
             from an svn_stream at close time, dunno.  We'll cross that bridge 
             when we come to it.
      

      Attachments

        1. 1_t.txt
          55 kB
          Karl Fogel

        Activity

          People

            Unassigned Unassigned
            kfogel Karl Fogel
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: