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