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

Re: Problem getting new external into my working copy

From: Stefan Sperling <stsp_at_elego.de>
Date: Mon, 20 Feb 2012 16:33:21 +0100

On Mon, Feb 20, 2012 at 02:49:54PM +0100, Michael Hartmeier wrote:
> Hi,
>
> I have a working copy that only contains svn:externals, no "normal"
> files or directories:
>
> $ svn propget svn:externals .
> shop https://svn.schlund.de/shop/trunk
> popups https://svn.schlund.de/popups/trunk/
>
> How can I add a new external without updating the whole working copy?
>
> What worked with 1.6: I changed (and committed) the svn:externals to
>
> shop https://svn.schlund.de/shop/trunk
> popups https://svn.schlund.de/popups/trunk/
> tuneup https://svn.schlund.de/tuneup/trunk/
>
> and manually checked out the respective directory with
>
> svn co https://svn.schlund.de/tuneup/trunk/ tuneup
>
> However, with Subversion 1.7, this directory is shown with status "?":
>
> $ svn st
> X shop
> X popups
> ? tuneup
>
> How can I fix the "tuneup" status to make it
>
> X tuneup
>
> ???
>
> Any help would be apprecheated!

Unfortunately, what you want to do doesn't seem to be working
at the moment.

The external needs to be recorded in the parent WC during an update
operation. But if the external working copy already exists and its
repository root URL matches the one implied by the svn:externals
property on the parent working copy, the update code doesn't verify
whether the external is actually registered in the parent WC.
It just assumes that everything is already splendid.

I am not sure whether we want to support checking out an external manually,
like you are doing. There are plans to merge meta-data for externals into
the parent's meta-data store. In that case, the results between checking
out an external and updating it from the parent WC will be very different.
Merging a manually checked out external into the parent will then be a lot
more involved than it would be now. So please always use 'svn update' to
pull in externals. You are supposed to use 'svn update' for this.

However, passing 'svn update' the path to an external that is defined
in the svn:external property but does not exist on disk yet doesn't
seem to work. I think this should be made to work to address your use
case. Then you could just run 'svn up tuneup' to pull in the external.

So, sorry, I'm afraid that you'll have to update the entire WC until
this is fixed.
Received on 2012-02-20 16:34:06 CET

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