You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Keng Lam <ke...@lycos.com> on 2006/04/22 16:25:07 UTC

svn URL semantics help

The usage of URL appears to be confusing to me with SVN clients. Please
let me know if I missed something here -

I am trying to understand the svn commands that take URL as a parameter
for instance svn copy command. So if I try:

$ svn copy  https://dodo/trunk  http://mipo/tags/t1
subversion/libsvn_client/copy.c:357: (apr_err=200007)
svn: Source and dest appear not to be in the same repository (src: 'https://dodo/trunk'; dst: 'http://mipo/tags/t1')

Basically I can't copy across repository. I can only copy relative to
my current svn repos. If that is the case what's the point of
having a URL in the destination of commands like copy/mkdir/move ?

Did I miss something or SVN semantics with dest URL are confusing ? If I can copy
only relative to the current repos, won't it be more intutive to have a relative
path option with appropriate flags to indicate that a server-side operation needs
to be triggered as opposed to using an open-ended URL semantics ?


-- 
_______________________________________________

Search for businesses by name, location, or phone number.  -Lycos Yellow Pages

http://r.lycos.com/r/yp_emailfooter/http://yellowpages.lycos.com/default.asp?SRC=lycos10


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: svn URL semantics help

Posted by Rahul Bhargava <ra...@wandisco.com>.
Duncan Murdoch wrote:
> On 4/22/2006 12:25 PM, Keng Lam wrote:
>> The usage of URL appears to be confusing to me with SVN clients. Please
>> let me know if I missed something here -
>>
>> I am trying to understand the svn commands that take URL as a parameter
>> for instance svn copy command. So if I try:
>>
>> $ svn copy  https://dodo/trunk  http://mipo/tags/t1
>> subversion/libsvn_client/copy.c:357: (apr_err=200007)
>> svn: Source and dest appear not to be in the same repository (src: 
>> 'https://dodo/trunk'; dst: 'http://mipo/tags/t1')
>>
>> Basically I can't copy across repository. I can only copy relative to
>> my current svn repos. If that is the case what's the point of
>> having a URL in the destination of commands like copy/mkdir/move ?
>
> I think it's just a simple way to indicate that you want to do a 
> repository copy, rather than touching the working copy.  It could be 
> done by inventing some new syntax, e.g.
>
> svn copy repos:/trunk repos:/tags/t1
I agree its confusing the way the current syntax stands. Syntax appears 
to suggest possibilities
(cross repos copies) that do not make sense as described by Duncan.

Perhaps in future it may be nice to consider the possibility of using 
"r" commands like CVS.
For example in the CVS parlance,  "rtag" is different from "tag". The 
"r" indicates remote server-side
action. Subversion could use "rcopy" to indicate server-side action 
without inventing any
new flags. 

Best Regards,

-- 
Rahul Bhargava,
Subversion,CVS Solutions
WANdisco,Inc.
Pleasanton, CA
http://www.wandisco.com



>
> to save typing, but this is hardly worth the trouble:  if you want it, 
> you can do it yourself using environment variables.  For example,
>
> REPOS=https://dodo
> svn copy $REPOS/trunk $REPOS/tags/t1
>
> The question of why you can't copy between repositories is different.  
> I  think that's because it would be impossible to maintain history 
> across such a copy.  Since "svn copy" is supposed to maintain history, 
> it can't possibly work.
>>
>> Did I miss something or SVN semantics with dest URL are confusing ? 
>> If I can copy
>> only relative to the current repos, won't it be more intutive to have 
>> a relative
>> path option with appropriate flags to indicate that a server-side 
>> operation needs
>> to be triggered as opposed to using an open-ended URL semantics ?
>
> The flags would need to be applied to each argument, since you've got 
> both src and dest that could be in the repository.  I don't think 
> there are any other cases in SVN syntax where flags apply to 
> arguments.  They apply to the command as a whole.
>
> Duncan Murdoch
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>
>





This email and any attachments may contain private, confidential and privileged material for the sole use ofthe intended recipient. If you are not the intended recipient, please immediately delete this email and any attachments.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: svn URL semantics help

Posted by Duncan Murdoch <mu...@stats.uwo.ca>.
On 4/22/2006 12:25 PM, Keng Lam wrote:
> The usage of URL appears to be confusing to me with SVN clients. Please
> let me know if I missed something here -
> 
> I am trying to understand the svn commands that take URL as a parameter
> for instance svn copy command. So if I try:
> 
> $ svn copy  https://dodo/trunk  http://mipo/tags/t1
> subversion/libsvn_client/copy.c:357: (apr_err=200007)
> svn: Source and dest appear not to be in the same repository (src: 'https://dodo/trunk'; dst: 'http://mipo/tags/t1')
> 
> Basically I can't copy across repository. I can only copy relative to
> my current svn repos. If that is the case what's the point of
> having a URL in the destination of commands like copy/mkdir/move ?

I think it's just a simple way to indicate that you want to do a 
repository copy, rather than touching the working copy.  It could be 
done by inventing some new syntax, e.g.

svn copy repos:/trunk repos:/tags/t1

to save typing, but this is hardly worth the trouble:  if you want it, 
you can do it yourself using environment variables.  For example,

REPOS=https://dodo
svn copy $REPOS/trunk $REPOS/tags/t1

The question of why you can't copy between repositories is different.  I 
  think that's because it would be impossible to maintain history across 
such a copy.  Since "svn copy" is supposed to maintain history, it can't 
possibly work.
> 
> Did I miss something or SVN semantics with dest URL are confusing ? If I can copy
> only relative to the current repos, won't it be more intutive to have a relative
> path option with appropriate flags to indicate that a server-side operation needs
> to be triggered as opposed to using an open-ended URL semantics ?

The flags would need to be applied to each argument, since you've got 
both src and dest that could be in the repository.  I don't think there 
are any other cases in SVN syntax where flags apply to arguments.  They 
apply to the command as a whole.

Duncan Murdoch

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: svn URL semantics help

Posted by "Wesley J. Landaker" <wj...@icecavern.net>.
On Saturday 22 April 2006 10:25, Keng Lam wrote:
> $ svn copy  https://dodo/trunk  http://mipo/tags/t1
> subversion/libsvn_client/copy.c:357: (apr_err=200007)
> svn: Source and dest appear not to be in the same repository (src:
> 'https://dodo/trunk'; dst: 'http://mipo/tags/t1')
>
> Basically I can't copy across repository. I can only copy relative to
> my current svn repos. If that is the case what's the point of
> having a URL in the destination of commands like copy/mkdir/move ?

This probably isn't why you asked, but if you *do* want to copy between 
repositories regularly, it can be done pretty easily with SVK 
<http://svk.elixus.org/>, which is a decentralized system built on and 
compatible with Subversion. 

I use it on occasion for mirroring or copying repositories, for private 
branches on repositories that I don't have direct write access to, or 
long-term disconnected development. It works very well for all of these 
things and doesn't tie you to it's system (e.g. you can use it to do 
copies/merges between two regular repositories, and then you can ditch SVK 
after that if you wish).

-- 
Wesley J. Landaker <wj...@icecavern.net> <xm...@icecavern.net>
OpenPGP FP: 4135 2A3B 4726 ACC5 9094  0097 F0A9 8A4C 4CD6 E3D2