svn:externals - svn: E200009: Targets must be working copy paths

1,519 views
Skip to first unread message

C M

unread,
Jan 29, 2013, 6:01:06 PM1/29/13
to us...@subversion.apache.org
Hello,

I am attempting to set the svn:externals property via the command line, in hopes of ultimately creating a batch file/script as we have a huge number of externals to set. That dilemma aside, when I run the command, I get the message show below.

My expectation is that this will set the prop value on "system_802" where it will pull in the code from "system_800".

I am running the command in a directory where I have the "system_800" code checked out (ie my working copy path), so I don't know why I am getting the "Targets must be working copy paths" message.


C:\Temp\800>svn propset svn:externals svn://3.X.X.X//trunk/Customer1/system_800/ver_1.0  svn://3.X.X/Customer1/system_802/ver_1.0

svn: E200009: Targets must be working copy paths

c:\Temp\8500>svn propset -r149 svn:externals svn://3.X.X.X/trunk/Customer1/system_800/ver_1.0  svn://3.X.X.X/trunk/Customer1/system_802/ver_1.0

svn: E205000: Try 'svn help' for more info
svn: E205000: Cannot specify revision for setting versioned property 'svn:externals'

Your guidance is much needed and appreciated.

Amad

Ryan Schmidt

unread,
Jan 29, 2013, 6:18:34 PM1/29/13
to C M, us...@subversion.apache.org
The error messages are correct.

Here is how to use svn:externals:

http://svnbook.red-bean.com/en/1.7/svn.advanced.externals.html




C M

unread,
Jan 30, 2013, 3:14:18 PM1/30/13
to subversi...@ryandesign.com, us...@subversion.apache.org
Ryan,

Thank you for the "teach a man to fish" approach. Though I didn't find the documentation to be very clear, I was able to set the property using the syntax below.

 
c:\Temp\800>svn propset svn:externals "ver_1.0 svn://3.x.x.x/trunk/Customer1/system_800/ver_1.0" .
property 'svn:externals' set on '.'

This worked for the directory listed above. I then added several external definitions, but when I finally committed and checked out, it seems that only the last definition was applied. Evidently I overwrote the previous definitions.

Can I add multiple external definitions? If it's in the "svn help propset", I am not seeing it.

Amad

Ryan Schmidt

unread,
Jan 30, 2013, 5:38:05 PM1/30/13
to C M, us...@subversion.apache.org
Yes you can have multiple externals definitions, one on each line of the svn:externals property. Setting a multiline property on the command line via "svn propset" is difficult, so instead try "svn propedit svn:externals ." (and type the multiline externals into the interactive editor) or "svn propset svn:externals --file X ." (and provide a file X containing the multiline externals).


Andreas Mohr

unread,
Jan 30, 2013, 9:29:21 PM1/30/13
to Ryan Schmidt, C M, us...@subversion.apache.org
Hi,
"didn't find the documentation to be very clear",
"I am not seeing it." - perhaps provide useful details of what went wrong in
docs, and then someone sufficiently authorized could ensure
to get that fixed soon?
Otherwise the next Clueless To Be Enlightened Person (tm) [nothing
against the OP, mind you!] comes along and experiences the very same
unspeakable trouble again...

So much for the "teach a man to fish" errmm "teach a document to educate"
approach...

HTH,

Andreas Mohr

C M

unread,
Feb 1, 2013, 12:00:48 PM2/1/13
to Ryan Schmidt, us...@subversion.apache.org
Ryan:

I was able to set multiple external definitions using the --file option. Worked pretty well, actually considering how challenging everything else has been so far!

One last question on this topic. I want to pin the external definition to a known revision using something this shortened command, but it's not working. The "-r 109" being the revision I want to pin to.

c:\Temp\800>svn propset svn:externals -r 109 <path info> .


svn: E205000: Cannot specify revision for setting versioned property 'svn:externals'

Andreas: I will provide feedback on the documentation shortly.

Ryan Schmidt

unread,
Feb 1, 2013, 1:24:32 PM2/1/13
to C M, us...@subversion.apache.org

On Feb 1, 2013, at 11:00, C M wrote:

> I was able to set multiple external definitions using the --file option. Worked pretty well, actually considering how challenging everything else has been so far!
>
> One last question on this topic. I want to pin the external definition to a known revision using something this shortened command, but it's not working. The "-r 109" being the revision I want to pin to.
>
> c:\Temp\800>svn propset svn:externals -r 109 <path info> .
>
> svn: E205000: Cannot specify revision for setting versioned property 'svn:externals'

The revision number to which you want to pin each external needs to be listed on the corresponding line of the svn:externals property. Read the documentation again; I recommend following the example after the paragraph which starts "Or, making use of the peg revision syntax".

http://svnbook.red-bean.com/en/1.7/svn.advanced.externals.html


Ryan Schmidt

unread,
Feb 1, 2013, 1:29:32 PM2/1/13
to C M, us...@subversion.apache.org
Or, in the example you gave above of wanting to pull a specific revision of just a single external, you just need quotes:

svn propset svn:externals "-r 109 <path info>" .

Or better yet, using peg revision syntax:

svn propset svn:externals "<path info>@109" .


Daniel Shahaf

unread,
Feb 1, 2013, 1:32:12 PM2/1/13
to Ryan Schmidt, C M, us...@subversion.apache.org
You need a '--' argument here to prevent an argument parsing error.

svn propset -- svn:externals "-r 109 <path info>" ./
Reply all
Reply to author
Forward
0 new messages