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

Error processing externals E205011 and W155035 with simple update

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 1.8.x
    • Fix Version/s: ---
    • Component/s: unknown
    • Labels:
      None

      Description

      This is reproducible with both 1.7 and 1.8.
      
      Performing an external property update followed by an update of the file 
      without performing a full update will cause  E205011 and W155035 errors (error 
      processing externals) and not allow further updates to the file.  A recheckout 
      of the repository is required to fix the issue.
      
      [update property on foo.c]
      svn update --ignore-externals (or --depth empty)
      svn update foo.c
      
      This was discussed on users@ with Johan Corveleyn and was able to be reproduced 
      it was recommended to open a issue.
      
      The operations are used in this order in an attempt to avoid performing a full 
      svn update on a repository with a large number of externals when only a single 
      external is changed.  At this time with 17 and 1.8, externals create a new http 
      connection for each file and generates significant delays for large amounts of 
      file externals (>100). 
      
      The issue can be reproduced with the following:
      
      From Johan:
      Okay, with this information I can reproduce the issue (both with 1.7.9
      and with trunk@1512490):
      
      [[[
      C:\Temp\test>svnadmin create repos
      
      C:\Temp\test>svn co file:///c:/temp/test/repos wc
      Checked out revision 0.
      
      C:\Temp\test>cd wc
      
      C:\Temp\test\wc>echo line1 > test.txt
      
      C:\Temp\test\wc>svn add test.txt
      A         test.txt
      
      C:\Temp\test\wc>svn ci -m"r1"
      Adding         test.txt
      Transmitting file data .
      Committed revision 1.
      
      C:\Temp\test\wc>svn up
      Updating '.':
      At revision 1.
      
      C:\Temp\test\wc>svn ps svn:externals "^/test.txt@1 ext.txt" .
      property 'svn:externals' set on '.'
      
      C:\Temp\test\wc>svn ci -m"r2"
      Sending        .
      
      Committed revision 2.
      
      C:\Temp\test\wc>svn up
      Updating '.':
      
      Fetching external item into 'ext.txt':
      A    ext.txt
      Updated external to revision 1.
      
      At revision 2.
      
      C:\Temp\test\wc>echo line2 >> test.txt
      
      C:\Temp\test\wc>svn ci -m"r3"
      Sending        test.txt
      Transmitting file data .
      Committed revision 3.
      
      C:\Temp\test\wc>svn up
      Updating '.':
      
      Fetching external item into 'ext.txt':
      External at revision 1.
      
      At revision 3.
      
      C:\Temp\test\wc>svn ps svn:externals "^/test.txt@3 ext.txt" .
      property 'svn:externals' set on '.'
      
      C:\Temp\test\wc>svn ci -m"r4"
      Sending        .
      
      Committed revision 4.
      
      C:\Temp\test\wc>svn up --depth=empty --ignore-externals
      Updating '.':
      At revision 4.
      
      C:\Temp\test\wc>svn up ext.txt
      Updating 'ext.txt':
      U    ext.txt
      Updated to revision 4.
      
      C:\Temp\test\wc>svn up
      Updating '.':
      
      Fetching external item into 'ext.txt':
      svn: warning: W155035: The specified path has an unexpected status
      
      At revision 4.
      svn: E205011: Failure occurred processing one or more externals definitions
      
      C:\Temp\test\wc>svn st
          S   ext.txt
      ]]]
      
      
      I get it also when only using --ignore-externals (or --depth=empty),
      i.e. it's not necessary to combine both options in the step before the
      final update.
      
      [[[
      C:\Temp\test>svn co -r3 file:///c:/temp/test/repos wc2
      A    wc2\test.txt
       U   wc2
      
      Fetching external item into 'wc2\ext.txt':
      A    wc2\ext.txt
      Checked out external at revision 1.
      
      Checked out revision 3.
      
      C:\Temp\test>cd wc2
      
      C:\Temp\test\wc2>svn up --ignore-externals
      Updating '.':
       U   .
      Updated to revision 4.
      
      C:\Temp\test\wc2>svn up ext.txt
      Updating 'ext.txt':
      U    ext.txt
      Updated to revision 4.
      
      C:\Temp\test\wc2>cat ext.txt
      line1
      line2
      
      C:\Temp\test\wc2>svn st
          S   ext.txt
      
      C:\Temp\test\wc2>svn up
      Updating '.':
      
      Fetching external item into 'ext.txt':
      svn: warning: W155035: The specified path has an unexpected status
      
      At revision 4.
      svn: E205011: Failure occurred processing one or more externals definitions
      ]]]
      

      Original issue reported by dlellis

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              subversion-importer Subversion Importer
            • Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: