OK. I was able to create the error using the command line. The following are 
the 
steps I took. I sure hope this is helpful. (In the steps below, I changed the 
name of my company in the URL to xxx.)

(1) Create a local TestLib directory with a single file libfile.h.

(2) Import this to repo.
C:\Dev\rhf>svn import TestLib http://svn1.xxx.com/svn/rhf/TestLib -m"Initial 
import"

(3) Delete the local TestLib and then checkout a WC.
C:\Dev\rhf> svn checkout http://svn1.xxx.com/svn/rhf/TestLib

At this point we have TestLib in the repo and a checked out WC.

(4) Now create another local directory, TestPrj, with a single file prjfile.txt 
    and import this to the repository.
C:\Dev\rhf>svn import TestPrj http://svn1.xxx.com/svn/rhf/TestPrj -m"Initial 
import"

(5) Delete the local TestPrj directory and checkout a WC.
C:\Dev\rhf> svn checkout http://svn1.xxx.com/svn/rhf/TestPrj

(6) Make the file TestLib/libfile.h an external file in TestPrj. 
(The Subversion book was very confusing here and I finally found this syntax 
from a google search.)
C:\Dev\rhf\TestPrj>svn propset svn:externals 
"http://svn1.xxx.com/svn/rhf/TestLib/libfile.h libfile.h" .
property 'svn:externals' set on '.'

(7) Commit the change and update.
C:\Dev\rhf\TestPrj>svn update

Fetching external item into 'libfile.h'
E    libfile.h
Updated external to revision 3076.

Updated to revision 3076.

(8) Check the status.
C:\Dev\rhf\TestPrj>svn status -v
              3076     3076 rfletcher    .
              3076     3075 rfletcher    prjfile.txt
    X         3076     3072 rfletcher    libfile.h

Everything looks fine at this point, here and in the repo browser.

    
(9) Now go to the WC of TestLib, modify and commit libfile.h.
C:\Dev\rhf\TestLib>svn commit -m"test change"
Sending        libfile.h
Transmitting file data .
Committed revision 3077.

(11) Check the status of TestLib
C:\Dev\rhf\TestLib>svn status -v
              3071     3071 rfletcher    .
              3077     3077 rfletcher    libfile.h


(12) Return to TestPrj and attempt to Update. This gives an error.
C:\Dev\rhf\TestPrj>svn update
svn: In file 
'C:\Users\kueng\nightlybuilds\latest\TortoiseSVN\ext\subversion\subversion\libsv
n_wc\update_editor.c' line 4603: assertion failed (status == 
svn_wc__db_status_added)
  
(13) Check the status of TestPrj - note the !.
C:\Dev\rhf\TestPrj>svn status -v
! L           3077     3076 rfletcher    .
              3076     3075 rfletcher    prjfile.txt
    X         3076     3072 rfletcher    libfile.h

    
By the way, if I do a complete new checkout of TestPrj, 
libfile.h is modified as expected.

Bob

Reply via email to