[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Error processing externals E205011 and W155035 with simple update

From: <dlellis_at_rockwellcollins.com>
Date: Fri, 9 Aug 2013 15:55:27 -0700

Hello,

I am running SVN 1.8.1 under Win7. We have an extensive collection of
file externals that we use to manage shared code between projects
(hundreds of files per working directory).

As known, the performance when performing an SVN Update is slow. To work
around this, we're attempting to only update externals that are out of
date (by comparing the local revisions of each file to what is in the
svn:externals. As we iterate across the files, if we see an external out
of date, we execute an svn update <file>.

Doing this, I'm starting to get corrupted externals.... I can reproduce
this using the following the steps listed below. Even if I am performing
operations out of order with what is expected, I'd expect that I'd be
unable to harm or corrupt the working directory....

I basically create a clean checkout of a repository.
Verify everything is cool, but realize one file external needs a new
revision.
I edit the property (using TSVN) and commit the property.
I then update the working directory ignoring externals and only for the
immediate directory (because external updates are slow).
I then update the file I know is out of date (because I just edited the
svn;externals).
Ouch, I get an error and it reports that the file has been switched.
The only way I can repair this is to delete the checkout and recreate it.

I believe this also occurs under 1.7, but will have to confirm later.

Can any confirm first that this is indeed an issue, and second how to
resolve this?

Thanks!
Dan

c:\Project_files\Test>svn status -v --depth immediates
              2850 2850 dlellis .
    X 2818 2818 dlellis 1.txt
    X 2633 2633 dlellis 6.txt
    X 2626 2626 dlellis 7.txt
              2850 2847 dlellis CLP
              2850 2783 dlellis SM
    X 2812 2812 dlellis checkintest.txt
    X 2814 2814 dlellis commit.vbs
    X 2728 2728 dlellis project.conf

c:\Project_files\Test>svn pg svn:externals
http://test/pd_sandbox/plcm/swdb/M4000/project.conf@2728 project.conf
http://test/pd_sandbox/plcm/swdb/Temp/6.txt@2633 6.txt
http://test/pd_sandbox/plcm/swdb/Temp/7.txt@2626 7.txt
http://test/pd_sandbox/plcm/swdb/Temp/1.txt@2818 1.txt
http://test/pd_sandbox/plcm/swdb/Temp/commit.vbs@2814 commit.vbs
http://test/pd_sandbox/plcm/swdb/Temp/checkintest.txt@2812 checkintest.txt

***** (Modify external here via TSVN) 1.txt from revision 2818 to 2827.

c:\Project_files\Test>svn pg svn:externals
http://test/pd_sandbox/plcm/swdb/M4000/project.conf@2728 project.conf
http://test/pd_sandbox/plcm/swdb/Temp/6.txt@2633 6.txt
http://test/pd_sandbox/plcm/swdb/Temp/7.txt@2626 7.txt
http://test/pd_sandbox/plcm/swdb/Temp/1.txt@2827 1.txt
http://test/pd_sandbox/plcm/swdb/Temp/commit.vbs@2814 commit.vbs
http://test/pd_sandbox/plcm/swdb/Temp/checkintest.txt@2812 checkintest.txt

c:\Project_files\Test>svn commit . --depth empty -m "checkin test"
Sending .
Committed revision 2851.

c:\Project_files\Test>svn update --depth empty --ignore-externals
Updating '.':
At revision 2851.

c:\Project_files\Test>svn update 1.txt
Updating '1.txt':
U 1.txt
Updated to revision 2851.

c:\Project_files\Test>svn update
Fetching external item into '1.txt':
***svn: warning: W155035: The specified path has an unexpected status
At revision 2851.
*** svn: E205011: Failure occurred processing one or more externals
definitions

c:\Project_files\Test>svn status -v --depth immediates
              2851 2851 dlellis .
*** S 2851 2827 dlellis 1.txt
    X 2633 2633 dlellis 6.txt
    X 2626 2626 dlellis 7.txt
              2851 2847 dlellis CLP
              2851 2783 dlellis SM
    X 2812 2812 dlellis checkintest.txt
    X 2814 2814 dlellis commit.vbs
    X 2728 2728 dlellis project.conf
Received on 2013-08-10 00:56:03 CEST

This is an archived mail posted to the Subversion Users mailing list.