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

Re: Problem with external file

From: Bob Fletcher <robert.h.fletcher_at_ieee.org>
Date: Mon, 11 Oct 2010 17:39:04 +0000 (UTC)

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

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.