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
Received on 2010-10-11 19:39:50 CEST