Hello Bert,
thanks for your reply. From my understanding svn does support svn:externals
references within the same repository and also that identical sub-trees
will exist multiple times in the working copy structure (i,e, the main wc
and the external wc's).
I modified the script to make the sub-trees totally independent. see [1].
It produces the same error.
The behavior was originally discovered in a real world system. Where
committing the svn:externals and the updating happens on different systems
(and therefore independent working copies). So the behavior is also
unrelated to the fact the the same working copy is used (as in the provided
example scripts) to commit svn:externals and to update it.
Best regards,
Christian
[1]
rmdir /S /Q repo1
rmdir /S /Q repo2
rmdir /S /Q wc1
rmdir /S /Q wc2
svnadmin create repo1
svnadmin create repo2
svn co file:///%CD%/repo1 wc1
svn co file:///%CD%/repo2 wc2
mkdir wc1\foo
mkdir wc2\ext
mkdir wc2\ext\subdir
svn add wc1\foo
svn add wc2\ext
svn ci -m "" wc1
svn ci -m "" wc2
svn ps svn:externals "file:///%CD:\=/%/repo2/ext ext" wc1\foo
svn ci -m "" wc1
svn up wc1
svn ps svn:externals "file:///%CD:\=/%/repo2/ext/subdir ext/subdir" wc1\foo
svn ci -m "" wc1
svn up wc1
On Wed, Apr 8, 2015 at 5:47 PM, Bert Huijben <bert_at_qqmail.nl> wrote:
> You are adding a directory ‘ext’, which makes it a versioned path *
> *inside** the repository/working copy and then in the parent directory
> you set a property that it is something **external**.
>
>
>
> A path can’t be versioned as part of the working copy and be an external
> at the same time.
>
>
>
> Once a path is versioned, you can’t shadow it with an external.
>
> (Technically externals aren’t in your working copy… they are a higher
> level abstraction and a working copy by itself)
>
>
>
>
>
> As far as I can tell this works as expected.
>
>
>
> Bert
>
>
>
> *From:* Christian K. [mailto:christian.k.2510_at_gmail.com]
> *Sent:* woensdag 8 april 2015 17:13
> *To:* users_at_subversion.apache.org
> *Subject:* Changing external to sub-directory yields W155007 and E205011
>
>
>
> Dear all,
>
>
>
> using svn 1.8.11 changing an existing svn:externals property to a
> sub-directory thereof will result in an "... is not a working copy root"
> (combination of W200000, W155007 and E205011). The attached sequence of
> commands [1] will reproduce the behavior from scratch (Windows batch
> syntax).
>
>
>
> The final svn update will result in the attached output [2].
>
>
>
> Is this regular behavior of svn or is this a bug related to the processing
> of svn:externals?
>
>
>
> I would expect that changing the value of svn:externals from something
> valid to something else valid should be handled by svn.
>
>
>
> Thanks and best regards,
>
>
>
> Christian
>
>
>
> [1]
>
> svnadmin create repo
>
> svn co file:///%CD%/repo wc
>
>
>
> mkdir wc\foo
>
> mkdir wc\ext
>
> mkdir wc\ext\subdir
>
>
>
> svn add wc\foo
>
> svn add wc\ext
>
> svn ci -m "" wc
>
>
>
> svn ps svn:externals "^/ext ext" wc\foo
>
> svn ci -m "" wc
>
> svn up wc
>
>
>
> svn ps svn:externals "^/ext/subdir ext/subdir" wc\foo
>
> svn ci -m "" wc
>
> svn up wc
>
>
>
>
>
>
>
>
>
> [2]
>
> Updating 'wc':
>
>
>
> Fetching external item into 'wc\foo\ext\subdir':
>
> External at revision 3.
>
>
>
> svn: warning: W200000: Error handling externals definition for
> 'wc\foo\ext\subdir':
>
> svn: warning: W155007: 'C:\Temp\wc\foo\ext\subdir' is not a working copy
> root
>
> Removed external 'wc\foo\ext'
>
> Updated to revision 3.
>
> svn: E205011: Failure occurred processing one or more externals definitions
>
Received on 2015-04-08 21:40:54 CEST