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

Externals inconsistencies and feedback

From: Blair Zajac <blair_at_orcaware.com>
Date: Sun, 24 Aug 2008 11:05:19 -0700

Some changes I'd like to make and get some feedback on.

If you delete a directory created by an external and then do an 'svn up' it'll
restore it since update passes TRUE as update_unchanged to
svn_client__handle_externals(). However, if you switch to the same URL, then it
won't restore it since it passes FALSE.

$ svnadmin create repos
$ svn co file://`pwd`/repos wc
Checked out revision 0.
$ svn ps svn:externals
'http://svn.collab.net/repos/svn/branches/file-externals/contrib/client-side/svnmerge

svnmerge' wc
property 'svn:externals' set on 'wc'
$ svn ci -m '' wc
Sending wc

Committed revision 1.
$ svn up wc

Fetching external item into 'wc/svnmerge'
A wc/svnmerge/svnmerge.sh
A wc/svnmerge/svnmerge-migrate-history.py
A wc/svnmerge/svnmerge-migrate-test.sh
A wc/svnmerge/svnmerge.README
A wc/svnmerge/svnmerge_test.py
A wc/svnmerge/svnmerge.py
  U wc/svnmerge
Updated external to revision 32677.

Updated to revision 1.
$ ls wc/
svnmerge
$ rm -fr wc/svnmerge
$ svn switch file://`pwd`/repos -r HEAD wc
At revision 1.
$ ls wc | wc
0

Another issue, in externals.c compare_external_items(), I don't think we can
return that two external items are identical if either the old or new external
item has a HEAD peg revision, since a new HEAD revision may have replaced the
item with another item.

So I think we should just get rid of the update_unchanged argument to
svn_client__handle_externals(). We should always update externals. I can't
think of a time when you wouldn't want to.

Blair

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-08-24 20:05:34 CEST

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