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

Re: Can't checkout svn:externals URL using Peg revision

From: Stephen <spdrcr_at_gmail.com>
Date: 2007-01-12 15:44:32 CET
Tim, thanks - yes, I was thinking I needed the Peg to prevent against renames.

But you don't think pegs are supported for externals? That's surprising. I did try specifying both the peg and operative revision in my property value ("-r20 svn://server/repos/Common@20") and SVN is still saying it doesn't exist.

Thanks,
Stephen

Tim Hill wrote:
Actually, I think he needs *both* -r and peg-rev, and I can see a  
valid reason why you need peg-revs in externals (and, btw, so far as  
I can see these are not currently supported).

While you are correct that he needs a -r20 switch in the external to  
make sure he always gets the same rev of the file, he also needs a  
peg-rev. Otherwise, a rename operation could break the external. For  
example, renaming "Common" to "Common2" would break the external,  
since "Common" no longer exists in HEAD.

--Tim


On Jan 11, 2007, at 1:00 PM, Ryan Schmidt wrote:

  
On Jan 11, 2007, at 14:39, Stephen wrote:

    
I've searched the list archives as best I can and I'm pretty sure  
I understand the differences between and how to use Peg and  
Operative revisions.

I have a repository at svn://server/repos. That repository has  
projects at svn://server/repos/TaggedProject and svn://server/ 
repos/Common (simplified example). I set svn:externals on  
TaggedProject pointing to "-r20 svn://server/repos/Common". Later  
I realized that it's probably better to use a Peg revision to  
protect against upcoming changes to Common. So I changed the  
svn:externals to point to "svn://server/repos/Common@20". Now both  
checkout and update on TaggedProject throw an error on the  
external, "URL svn://server/repos/Common@20 doesn't exist".

I've tried via Tortoise and the command line. I've also tried svn  
list and svn cat on the Peg URL, and both work as expected (they  
can find the resource).

I have a feeling I'm not understanding something about SVN... can  
anyone enlighten me?
      
I.... think you were better off with -r20 rather than @20.

I don't think externals support peg revision notation, nor do I see  
a reason why they should.

"svn://server/repos/Common@20" means "find the object that was  
called svn://server/repos/Common in revision 20 of the repository,  
and get its contents from -rHEAD". This is not what you want if  
you're trying to protect against upcoming changes to Common.

"-r20 svn://server/repos/Common" means "find the object called  
svn://server/repos/Common in the HEAD revision of the repository,  
and get its contents from -r20". This is what you want.


-- 

To reply to the mailing list, please use your mailer's Reply To All  
function


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

    


  

--------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org For additional commands, e-mail: users-help@subversion.tigris.org Received on Fri Jan 12 15:45:01 2007

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.