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

Error processing externals E205011 and W155035 with simple update

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.8.x
    • ---
    • unknown
    • 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

            Unassigned Unassigned
            subversion-importer Subversion Importer
            Votes:
            2 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: