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

fix status output by handling absent files locally when updating

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • all
    • M4
    • src
    • None

    Description

      Files that have been removed from the filesystem, but not svn rm'd, have
      absent status, which shows up as a `?' in the leftmost column in status
      reports.  Try this:
      
         $ svn co http://svn.collab.net/repos/svn -d repro
         $ cd repro
         $ rm README
         $ svn st -n
         $ svn st
         $ svn st -nv
         $ svn st -v
      
      In all of those status outputs, README is correctly printed with a ?.
      But if you run any combination that includes the -u switch:
      
         $ svn st -u
         $ svn st -vu
         $ svn st -nu
         $ svn st -nvu
      ... you will see README printed out like this:
      
         _    *     -  README
      
      ... when it should be:
      
         ?        174  README
      
      ... or possibly:
      
         ?    *   174  README
      
      if it has also been modified in the repository.
      
      The cause of the problem is that the update reporter reports a missing
      file as a `delete', eventually resulting in the ra layer driving an add_file
      in the update edit.  There is no reason for the repository to resend the
      file if it's not modified in the repository, though!  The crawler should just
      keep a list of what was missing from disk, and during the update phase, copy
      those files out of text base.  It should never report to the repository that
      the file was missing, it should merely report the entry's revision number, so
      the repository can return any genuine updates.  This would fix two problems:
      the fact that an update can cause a file to be sent that the client actually
      had locally all along, and the fact that adding -u to status screws up the
      reporting of missing files.
      

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: