Re: Can't checkout svn:externals URL using Peg revision
From: Stephen <spdrcr_at_gmail.com>
Date: 2007-01-12 15:44:32 CET 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.