Re: Accessing Remote SVN Repositories
Steve, first off, the security permissions you may need as a prerequisite to access their stuff covers a wide range of scenarios: SSH keys, VPN access and so on are outside the range of topics discussed here. Let's assume you have access past their firewall to the server where their stuff is stored. As Ryan suggested, presumably they will or have already provided you with a URI (it may start with http://, https://, svn://, or svn+ssh:// ... ) [1] and you may have more than one set of un/pw combo. If you never need to push changes you make to their stuff, back to their repository, just ask them for an svn export (zip) one-time, as it will be simpler for a beginner. If however, you are going to be expected to deal with changes they make to their stuff on an ongoing basis (svn update your local copy ~ analogous to git pull), and the standard way you can deal with your stuff going to your repository while changes to their stuff can be integrated with your stuff -- all at the same time -- is via the concept of svn:externals. In these cases, you probably will need to integrate their stuff into your stuff as an external - see here [2]. It should also be mentioned that it may be simple for them to simply host your stuff too on the same server - as it sounds like they're already set up to do so. [1] http://stackoverflow.com/questions/2140954/which-protocol-svn-or-https [2] http://blog.jmfeurprier.com/2009/12/10/simple-introduction-to-svn-externals/ Geoff Hoffman Solutions Architect LAMP Engineer phone +1 623.399.4918 mobile +1 480.231.8323 web CardinalPath.com http://goo.gl/TuuiO On Wed, Jul 17, 2013 at 3:52 PM, Ryan Schmidt subversion-20...@ryandesign.com wrote: On Jul 17, 2013, at 17:34, Stephen Gorin wrote: I need to access the Subversion repositories of two software vendors. Because of firewall issues they cannot push their changes to us, rather we have to access their repositories and pull the latest code from their sites. push and pull are not words used in Subversion parlance. Subversion repositories are available via URLs. The administrator of the repository will need to tell you what the URL is, and will need to open up access through their firewall for it. Then you access that URL with your svn client. -- Connect with us on twitter http://twitter.com/cardinalpath, google+https://plus.google.com/108076800625872227241/posts , facebook http://www.facebook.com/CardinalPath, or linkedinhttp://www.linkedin.com/company/cardinal-path . Catch our next training in San Francisco Jul 15 - 19http://training.cardinalpath.com/google-adwords-analytics/san-francisco/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=sanfrancisco-2013-07-15#2013-07-15 , Philadelphia Jul 22 - 26http://training.cardinalpath.com/google-adwords-analytics/philadelphia/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=philadelphia-2013-07-22 , Detroit Jul 29 - Aug 2http://training.cardinalpath.com/google-adwords-analytics/detroit/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=detroit-2013-07-29 , Columbus, Aug 5 - 9http://training.cardinalpath.com/google-adwords-analytics/columbus/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=columbus-2013-08-05 or See Allhttp://training.cardinalpath.com/locations/?utm_campaign=cp-s4sutm_source=cp-email-footerutm_medium=emailutm_content=see-all . This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Advice for changing filename case in SVN on case insensitive system
We have a bunch of Kohana 3.2 projects in revision control, all with lower case filenames. We're upgrading to Kohana 3.3; one of the main changes to Kohana 3.3 is implementing PSR-0 filename conventions, which require the class Model_Myclass to be found in Model/Myclass.php ... in our current repo it's in model/myclass.php (all lower case). I thought I could just svn rename, however I'm confused by the output I'm seeing: svn rename myclass.php Myclass.php svn: E155007: Path '/Full/Path/To/Myclass.php' is not a directory Making things more confusing, we're on Macs without the extended case sensitive filename option in OS X, and we have mixed/outdated SVN versions across our organization: our server is running 1.6.6 and workstations a hodgepodge of 1.6.19 - 1.7.7 I need some advice on how to deal with all of this. I thought about installing VirtualBox and using Linux command line to do everything, but that seems like a bit overkill. Thanks in advance! Geoff -- Connect with us on twitter http://twitter.com/cardinalpath, google+https://plus.google.com/108076800625872227241/posts , facebook http://www.facebook.com/CardinalPath, or linkedinhttp://www.linkedin.com/company/cardinal-path . Catch our next training in San Diego Jun 17 - 21http://training.cardinalpath.com/google-adwords-analytics/san-diego/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=sandiego-2013-06-17 , Tampa Jun 24 -28http://training.cardinalpath.com/google-adwords-analytics/tampa/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=tampa-2013-06-24 , Austin, Jul 8 - 12http://training.cardinalpath.com/google-adwords-analytics/austin/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=austin-2013-07-08 , San Francisco Jul 15 - 19http://training.cardinalpath.com/google-adwords-analytics/san-francisco/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=sanfrancisco-2013-07-15#2013-07-15 or See Allhttp://training.cardinalpath.com/locations/?utm_campaign=cp-s4sutm_source=cp-email-footerutm_medium=emailutm_content=see-all . This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: Advice for changing filename case in SVN on case insensitive system
Yes, that helps, Dave, thanks. But, deleting the file from Subversion, then adding the copy with the correct case. Question: Doesn't that blow away revision history? If I didn't care about revision history I would just start over with a fresh repo. I also thought about doing full URL svn mv's but seemed like that could take a very long time to do... Geoff Hoffman Solutions Architect LAMP Engineer phone +1 623.399.4918 mobile +1 480.231.8323 web CardinalPath.com http://goo.gl/TuuiO On Thu, Jun 20, 2013 at 3:45 PM, Dave Huang k...@azeotrope.org wrote: On 6/20/2013 5:34 PM, Geoff Hoffman wrote: We have a bunch of Kohana 3.2 projects in revision control, all with lower case filenames. We're upgrading to Kohana 3.3; one of the main changes to Kohana 3.3 is implementing PSR-0 filename conventions, which require the class Model_Myclass to be found in Model/Myclass.php ... in our current repo it's in model/myclass.php (all lower case). I thought I could just svn rename, however I'm confused by the output I'm seeing: svn rename myclass.php Myclass.php svn: E155007: Path '/Full/Path/To/Myclass.php' is not a directory Perhaps http://subversion.apache.org/**faq.html#case-changehttp://subversion.apache.org/faq.html#case-changemight be helpful. (Interesting/surprising that SVN 1.7 only fixed svn rename on Windows, but not on other OSes with case-insensitive filesystems like MacOS X) -- Connect with us on twitter http://twitter.com/cardinalpath, google+https://plus.google.com/108076800625872227241/posts , facebook http://www.facebook.com/CardinalPath, or linkedinhttp://www.linkedin.com/company/cardinal-path . Catch our next training in San Diego Jun 17 - 21http://training.cardinalpath.com/google-adwords-analytics/san-diego/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=sandiego-2013-06-17 , Tampa Jun 24 -28http://training.cardinalpath.com/google-adwords-analytics/tampa/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=tampa-2013-06-24 , Austin, Jul 8 - 12http://training.cardinalpath.com/google-adwords-analytics/austin/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=austin-2013-07-08 , San Francisco Jul 15 - 19http://training.cardinalpath.com/google-adwords-analytics/san-francisco/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=sanfrancisco-2013-07-15#2013-07-15 or See Allhttp://training.cardinalpath.com/locations/?utm_campaign=cp-s4sutm_source=cp-email-footerutm_medium=emailutm_content=see-all . This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: trunk naming best practice question
It's common to have yourrepo /branches /tags /trunk Each day, tag the trunk (svn copy) as /tags/Y-m-d and build that in your CI tool and push it to your testing server. Branches are typically feature-related or release-related, e.g. /branches/feature-name or /branches/development or /branches/v2.0alpha. I've also seen it work where each developer has his/her own branch - /branches/yourname /branches/hername. Does that give you some ideas? Geoff Hoffman Solutions Architect LAMP Engineer phone +1 623.399.4918 mobile +1 480.231.8323 web CardinalPath.com http://goo.gl/TuuiO On Mon, May 6, 2013 at 8:50 PM, Z W mpc8...@gmail.com wrote: Hi All For the trunk, what's the common practice to name a version of the trunk? We have a trunk and it's not ready for branching. We also feel that we need a more specific name for the trunk than what we have now called version=trunk. However, we can't be specific since we don't know what the branch name would be while at the same time, we need to perform daily builds for QA testing. What's the best practice in use with SVN ? Thanks Sincerely -- Connect with us on twitter http://twitter.com/cardinalpath, google+https://plus.google.com/108076800625872227241/posts , facebook http://www.facebook.com/CardinalPath, or linkedinhttp://www.linkedin.com/company/cardinal-path . Catch our next training in Washington May 6-10http://training.cardinalpath.com/google-adwords-analytics/washington/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=washington-2013-05-06 , Los Angeles May 13 - 17http://training.cardinalpath.com/google-adwords-analytics/los-angeles/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=losangeles-2013-05-13 , Boston May 20 - 24http://training.cardinalpath.com/google-adwords-analytics/boston/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=boston-2013-05-20#2013-05-20 , Ottawa May 27-31http://training.cardinalpath.com/google-adwords-analytics/ottawa/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=ottawa-2013-05-27 or See Allhttp://training.cardinalpath.com/locations/?utm_campaign=cp-s4sutm_source=cp-email-footerutm_medium=emailutm_content=see-all . This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: Graphical version tree
What platform? On Wed, Apr 3, 2013 at 11:52 AM, Olivier Antoine oliviera201...@gmail.comwrote: Hi, I'm beginning with Subversion, I'd like to know if there is a tool that could display a graphical representation of the version tree of a file? Regards, Olivier -- Connect with us on twitter http://twitter.com/cardinalpath, google+https://plus.google.com/108076800625872227241/posts , facebook http://www.facebook.com/CardinalPath, or linkedinhttp://www.linkedin.com/company/cardinal-path . Catch our next training in Atlanta Apr 10 - 12http://training.cardinalpath.com/google-adwords-analytics/atlanta/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=atlanta-2013-04-10 , San Jose Apr 15 - 19http://training.cardinalpath.com/google-adwords-analytics/san-jose/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=sanjose-2013-04-15 , Chicago Apr 22 - 26http://training.cardinalpath.com/google-adwords-analytics/chicago/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=chicago-2013-04-22#2013-04-22 , Denver Apr 29 - May 3http://training.cardinalpath.com/google-adwords-analytics/denver/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=denver-2013-04-29 or See Allhttp://training.cardinalpath.com/locations/?utm_campaign=cp-s4sutm_source=cp-email-footerutm_medium=emailutm_content=see-all . This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: Tagging svn:externals
Externals are separate repositories by design. You should reference externals to a specific revision, or tag the externals first and rewrite your externals to point to the tagged externals. On Wed, Feb 20, 2013 at 10:28 AM, C M cmanalys...@gmail.com wrote: It seems that SVN does not tag svn:externals. We have defined a structure such that child projects have link from a parent project. Parent project - child project_1 - child project_2 - child project_3 However, when you go to tag a release for a child, there's nothing in the /tags/Rel_X as I would normally expect. What's going on here? Amad -- Connect with us on twitter http://twitter.com/cardinalpath, google+https://plus.google.com/108076800625872227241/posts , facebook http://www.facebook.com/CardinalPath, or linkedinhttp://www.linkedin.com/company/cardinal-path . Catch our next training in St Louis Feb 25 - Mar 1http://training.cardinalpath.com/google-adwords-analytics/saint-louis/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=stlouis-2013-02-25 , Vancouver Mar 4 - 8http://training.cardinalpath.com/google-adwords-analytics/vancouver/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=vancouver-2013-03-04 , New York City Mar 11 - 15 http://goo.gl/y4Ojj, Atlanta Apr 10 - 12http://goo.gl/oJGyd or See All http://cpath.it/Jkrs3s. This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: same upper and lower case directory name?
Les, I would guess the answer is no. We've had issues on both Mac and Windows with case sensitivity, unfortunately. It's not a problem with Subversion, per se, but with the underlying file system of case insensitive systems. On Tue, Feb 19, 2013 at 2:57 PM, Les Mikesell lesmikes...@gmail.com wrote: We have a project with some with paths like tags/QA/ that were created manually - for a mostly windows application. Now we'd like to start using an automated tagging process that wants to make tags/qa/ (all lower) consistently across projects. The repository resides on a linux server. Is it possible for these pathnames to co-exist without confusing case-insensitive clients? -- Les Mikesell lesmikes...@gmail.com -- Connect with us on twitter http://twitter.com/cardinalpath, google+https://plus.google.com/108076800625872227241/posts , facebook http://www.facebook.com/CardinalPath, or linkedinhttp://www.linkedin.com/company/cardinal-path . Catch our next training in St Louis Feb 25 - Mar 1http://training.cardinalpath.com/google-adwords-analytics/saint-louis/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=stlouis-2013-02-25 , Vancouver Mar 4 - 8http://training.cardinalpath.com/google-adwords-analytics/vancouver/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=vancouver-2013-03-04 , New York City Mar 11 - 15 http://goo.gl/y4Ojj, Atlanta Apr 10 - 12http://goo.gl/oJGyd or See All http://cpath.it/Jkrs3s. This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
SVN Warnings W200000, W170000, E20009? What it means...
Did a full fresh checkout of a myproject this morning... $ svn checkout http://server/svn/myproject myworkingdir ... svn: warning: W20: Error handling externals definition for 'myproject/trunk/deploy/modules/foo': svn: warning: W17: URL 'http://server/svn/library/trunk/foo/trunk' at revision 310 doesn't exist Checked out revision 45. My externals definition has, in part: http://server/svn/library/trunk/foo/trunk deploy/modules/foo The foo module *did not* get checked out. Let's get some info on it: svn info http://server/svn/library/trunk/foo/trunk svn: warning: W17: URL 'http://server/svn/library/trunk/foo/trunk' non-existent in revision 310 svn: E29: Could not display info for all targets because some targets don't exist Even stranger. Hmm, well, in fact, these modules were moved! One of my colleagues did some house cleaning on our SVN server to remove the trunk/foo/trunk issue that messes up composer. The fix was to reset the externals to the proper path location where the module actually exists (note, one less trunk folder, repo path to foo module moved one level up)... svn propset svn:externals http://server/svn/library/foo/trunkdeploy/modules/foo svn update svn commit -m Relocated module foo Hope it helps someone in the future. -- Connect with us on twitter http://twitter.com/cardinalpath, google+https://plus.google.com/108076800625872227241/posts , facebook http://www.facebook.com/CardinalPath, or linkedinhttp://www.linkedin.com/company/cardinal-path . Catch our next training in Chicago Feb 4 - 8 http://cpath.it/Xgo3uO, Boston Feb 11 - 15 http://cpath.it/Xgo5Te, St Louis Feb 25 - Mar 1http://goo.gl/7ybQz , Vancouver Mar 4 - 8 http://goo.gl/ou1wV or See Allhttp://cpath.it/Jkrs3s . This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: hello
Install Subversionhttp://svnbook.red-bean.com/en/1.7/svn.intro.install.html . Create a repositoryhttp://svnbook.red-bean.com/en/1.7/svn.ref.svnadmin.c.create.html . Configure accesshttp://wiki.wsmoak.net/cgi-bin/wiki.pl?Subversion/Configuration . Initialize the defaultshttp://www.svnforum.org/threads/35108-trunk-branches-amp-tags-directory-creation: eg mkdir /usr/share/svn svnadmin create /usr/share/svn/jon.myproject.com svn mkdir file:///usr/share/svn/jon.myproject.com/trunk svn mkdir file:///usr/share/svn/jon.myproject.com/tags svn mkdir file:///usr/share/svn/jon.myproject.com/branches svn import ~/jon.myproject.com file:///usr/share/svn/jon.myproject.com/trunk Check out the trunkhttp://stackoverflow.com/questions/927806/svn-checkout-the-contents-of-a-folder-not-the-folder-itself . Do some work and commit it back to the repohttp://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.commit.html . Geoff Hoffman Solutions Architect LAMP Engineer phone +1 623.399.4918 mobile +1 480.231.8323 web CardinalPath.com http://goo.gl/TuuiO On Tue, Dec 4, 2012 at 8:49 AM, Mahmoudhashemi, Azadeh mahmoudhash...@embedded.rwth-aachen.de wrote: Could you please how I can use the subversion repository? thanks -- Connect with us on twitter http://twitter.com/cardinalpath, google+https://plus.google.com/108076800625872227241/posts , facebook http://www.facebook.com/CardinalPath, or linkedinhttp://www.linkedin.com/company/cardinal-path . Catch our next training in San Jose Dec 3 - 7 http://cpath.it/KuKfcx, Los Angeles Dec 10 - 14 http://cpath.it/JKe0UX, Indianapolis Jan 7 - 11http://cpath.it/Xgo2Hk , Seattle Jan 14 - 18 http://cpath.it/VQsQxW or See Allhttp://cpath.it/Jkrs3s . This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: Can't connect to SVN servers via HTTP-- could not read status line: connection was closed by server
I've seen that same message before many times, but always with my own misconfigured http+mod_dav+dav_svn setup, never with someone else's working repo. Try https instead of http? Check proxy settings? Check here for more possibilities: http://stackoverflow.com/questions/613149/svn-could-not-read-status-line-connection-was-closed-by-server http://stackoverflow.com/questions/732681/tortoisesvn-couldnt-read-status-line-in-vm http://stackoverflow.com/questions/783186/what-does-the-subversion-error-could-not-read-status-line-mean Also, what version of svn are you running? Did you build it or install the binary? What platform? Are you using a 3rd party client or command line? On Thu, Oct 11, 2012 at 3:22 PM, Heiselt, Conan conan.heis...@gmail.comwrote: svn: OPTIONS of 'http://jquery-ui.googlecode.com/svn/trunk': Could not read status line -- Connect with us on twitter http://twitter.com/cardinalpath, google+https://plus.google.com/108076800625872227241/posts , facebook http://www.facebook.com/CardinalPath, or linkedinhttp://www.linkedin.com/company/cardinal-path . Catch our next training in Houston Oct 8 - 12 http://cpath.it/K2URLT, Berkeley Oct 22 - 26 http://cpath.it/IYY9oE, Seattle Oct 29 - Nov 2http://cpath.it/JqF1xQ , Phoenix Nov 12 - 16 http://cpath.it/IJMEhB or See Allhttp://cpath.it/Jkrs3s . This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: Put a tag in the wrong place
On Wed, Apr 25, 2012 at 8:22 AM, Andy Levy andy.l...@gmail.com wrote: On Wed, Apr 25, 2012 at 11:12, Geoffrey Myers li...@serioustechnology.com wrote: I created a tag in my branches directory, can I simply move it to the tags directory? My google foo was not successful. Yes. Subversion preserves history through copies moves. If it were me I would just create the tag again (with the correct path info this time) and svn delete the wrong one. -- This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: AuthzSVNAccessFile size issues
On Thu, Mar 22, 2012 at 9:11 AM, Joel Eidsath jeids...@gmail.com wrote: I was just handed a large SVN install with thousands of users and hundreds of individual repositories. It is experiencing serious performance issues. I believe that it mostly boils down to a 14MB AuthzSVNAccessFile. What can I do to speed this up? Is there a database solution to use instead of the flatfile? Can I implement caching somehow? I am willing to code something up if I have to. Thanks for any help! Please CC me on any replies. Joel Eidsath Joel, Copying Dave's reply from an earlier thread this week. Sounds like it would be really helpful for you: -- Forwarded message -- From: David Weintraub qazw...@gmail.com Date: Tue, Mar 20, 2012 at 6:44 PM Subject: Re: preventing commits (this is *not* a classic hook question) To: mich...@huettermann.net Cc: bob.arc...@amsi.com, lesmikes...@gmail.com, nka...@gmail.com, users@subversion.apache.org I have a pre-commit hook that stores its configuration inside your repository. You'll need access to the Subversion server to set it up, but once it's setup, you can control access by checking out the control file from the repository, making your changes, and then checking it back in. This is a modification of a hook that I've been using for years. Originally, the control file was kept on the server -- usually inside the hooks directory. However, that meant logging onto the server, and that was getting too difficult to do all the time. Besides, this way, I can track who changed the control file and why. What prevents anyone from changing the control file? The control file is configured, so only the administrators can modify it. You can take a look at it at https://github.com/qazwart/SVN-Precommit-Kitchen-Sink-Hook. (Yes, a Subversion hook is stored in GitHub). -- This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Quirk with svn:ignore
I ran into an unexpected behavior with svn:ignore today and wanted to see if someone can verify whether this is a bug (in the current version) or just an aspect of how Subversion works. We're still on 1.6x. Given a tree with trunk + cache + htdocs + logs + system I have tried putting cd trunk svn propset svn:ignore logs/* . ...ignore everything in the *logs* directory, but the svn:ignore propset is on *trunk*. This doesn't work -- that is, log files are not ignored as expected, but shown as new files when running the project and svn status However, cd logs svn propset svn:ignore * . ...setting svn:ignore * on logs, works. For what it's worth, externals works fine this way, e.g. cd trunk svn propset svn:externals some/arbitrary/directory http://svn-server/repo/folder . // some/arbitrary/directory is created from the externally referenced svn-server/repo/folder as expected We were hoping to set all our externals and ignores on the trunk level rather than sprinkling them throughout our project, but it doesn't seem possible. -- This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: Quirk with svn:ignore
On Mon, Mar 19, 2012 at 9:32 AM, Giulio Troccoli giulio.trocc...@mediatelgroup.co.uk wrote: Do you mean that the files are shown with an A in the first column? No, they're shown as ? logs/error.log ? logs/access.log But they're not automagically ignored, even though they match logs/* which successfully is applied as an svn:ignore pattern on trunk. On Mon, Mar 19, 2012 at 9:35 AM, Mark Phippard markp...@gmail.com wrote: That is exactly how the feature is supposed to work. Described in book here: http://svnbook.red-bean.com/en/1.7/svn.advanced.props.special.ignore.html Mark, I believe you, however I don't see which part of the docs you link to addresses this case... This part: * Matches any string of characters, including the empty string indicates it should work regardless where it's used. And this part: [image: [Tip]] Even if svn:ignore is set, you may run into problems if you use shell wildcards in a command. Shell wildcards are expanded into an explicit list of targets before Subversion operates on them, so running *svn SUBCOMMAND ** is just like running *svn SUBCOMMAND file1 file2 file3* indicates that even cd logs svn propset svn:ignore * . should fail if there are no files inside of logs, correct? But it doesn't fail it works in that case. It seems to me that if my shell is indeed expanding asterisk character to a list of files to ignore, then ignore * on logs should fail similarly until explicit files are there to pass to svn:ignore command. I'm attempting to ignore all future files folders, *, inside a folder that is empty, before any files exist inside it. It's always worked for me just putting ignore * on logs folder directly, I just never tried putting it one level up before and was kind of confused as to why it didn't work. -- This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: Quirk with svn:ignore
Ahhh Rats. Thanks I missed that. On Mon, Mar 19, 2012 at 10:13 AM, Mark Phippard markp...@gmail.com wrote: in that same directory. -- This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: Quirk with svn:ignore
On Mon, Mar 19, 2012 at 10:16 AM, Giulio Troccoli giulio.trocc...@mediatelgroup.co.uk wrote: On 19/03/12 17:11, Geoff Hoffman wrote: On Mon, Mar 19, 2012 at 9:32 AM, Giulio Troccoli giulio.trocc...@mediatelgroup.co.uk wrote: Do you mean that the files are shown with an A in the first column? No, they're shown as ? logs/error.log ? logs/access.log But they're not automagically ignored, even though they match logs/* which successfully is applied as an svn:ignore pattern on trunk. Ok, have you tried ignoring just logs rather than all files, I mean svn ps svn:ignore logs ? As Andy said, the * is expanded by your shell, so basically you won't ignore future logs. G Yeah, Mark's right. svn:ignore is not designed to work anywhere other than the current directory. :-/ -- This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: Quirk with svn:ignore
On Mon, Mar 19, 2012 at 10:50 AM, Ryan Schmidt subversion-20...@ryandesign.com wrote: On Mar 19, 2012, at 12:16, Giulio Troccoli wrote: Ok, have you tried ignoring just logs rather than all files, I mean svn ps svn:ignore logs ? The logs directory has already been added and committed; telling Subversion to now ignore it will do nothing useful. Correct, Ryan. Mark nailed it. Subversion can only ignore patterns set on the current directory. Or, it doesn't traverse into subdirectories looking for files to ignore, even if you specify a pattern with a directory separator in it... even if it seems totally logical that it should, and even though it accepts an ignore pattern with a directory separator in it. -- This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: Feature request - SVN command to clean a working copy of all unversioned and ignored files and directories
On Fri, Mar 9, 2012 at 10:24 AM, Stefan Sperling s...@elego.de wrote: On Fri, Mar 09, 2012 at 01:56:34PM +, Simon Dean wrote: Hi Are there any plans to add a command to SVN that cleans a working copy or path of all unversioned and/or ignored files and directories? There is a related open feature request in our issue tracker: http://subversion.tigris.org/issues/show_bug.cgi?id=3549 As far as I know, nobody is currently working on this. You could add yourself to the Cc list there to be informed once the status of this issue changes. I would +1 this feature although what this thread has taught me is that my IDE (NetBeans) takes care of this automagically. I didn't realize it wasn't built into SVN. A couple of things I find interesting... the bug tracker you linked to is 3 years old and still on tigris.org. Assuming that is still the valid place for tracking subversion features bugs? Hypothetically speaking, how would svn revert --recursive *--force* PATH be different/better than svn cleanup *--remove-unversioned-files* PATH (a bit verbose IMO)? I guess it does make more sense for the proposed feature to be a switch on svn cleanup. Cool idea/feature though. Or, instead of waiting passively, you could try to compose a detailed design spec for this feature and send it for discussion to the dev@ list. Once this discussion reaches consensus on the proposed design you could implement it and send a patch. This is one of those features that shouldn't involve too much work, and where new contributors could get their feet wet with design and implementation work. And it is quite a popular feature request so anyone who designs and implements this will earn a good stash of community karma points. This is such great advice. If as many people would give to open source as take from it, imagine how much richer everything would be? I went over to http://subversion.apache.org/download/ and was surprised there doesn't seem to be an svn checkout option, even read only? -- This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: Feature request - SVN command to clean a working copy of all unversioned and ignored files and directories
On Fri, Mar 9, 2012 at 11:34 AM, Stefan Sperling s...@elego.de wrote: On Fri, Mar 09, 2012 at 10:45:13AM -0700, Geoff Hoffman wrote: A couple of things I find interesting... the bug tracker you linked to is 3 years old and still on tigris.org. Assuming that is still the valid place for tracking subversion features bugs? The issue tracker has not been migrated to apache.org yet. See http://subversion.apache.org/reporting-issues.html#queries The bug is 3 years old because someone had the same feature idea 3 years ago, filed an issue, and nothing has happened since. Hypothetically speaking, how would svn revert --recursive *--force* PATH be different/better than svn cleanup *--remove-unversioned-files* PATH (a bit verbose IMO)? I guess it does make more sense for the proposed feature to be a switch on svn cleanup. svn revert deletes some unversioned files in certain circumstances. This was recently discussed here: http://thread.gmane.org/gmane.comp.version-control.subversion.devel/134154 In my opinion removing unversioned data is not the job of 'svn revert'. It is supposed to roll back the working copy into the state that it was in after the last checkout or update. In other words, it destroys changes made to *versioned* files and directories. Anyway, which subcommand this feature belongs in is a question that should be answered by a concrete design proposal. It doesn't really matter all that much. This is such great advice. If as many people would give to open source as take from it, imagine how much richer everything would be? Yes, and the world would be full of flying pigs, too! I went over to http://subversion.apache.org/download/ and was surprised there doesn't seem to be an svn checkout option, even read only? See http://subversion.apache.org/source-code.html (linked from the very bottom of the download page -- perhaps not as easy to find as it should be). Very helpful, as usual. Thanks Stefan. -- This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
What's the process to svnsync a larger repository
I'm learning some gotchas with svnsync this week. As per my typical method of learning I try 3 wrong ways before finally realizing the right way to do most things. We have about a 1GB svn repo on Ubuntu at -r 3738, and I'm trying to get it mirrored on Win 7 running VisualSVN. I created the mirror repository fine, ran svnsync init and svnsync sync on it, then as it started going from -r 1, -r 2, -r 3..., I realized it would take a week or more to fetch all nearly 4K commits. So I stopped it, deleted it, started over and did an svnadmin dump -- svnadmin load from the dump -- which ran/imported much faster, but now when I try to initialize the sync, I get svnsync: Cannot initialize a repository with content in it D'OH! I forgot to svnsync init after creating the empty mirror repo. Whoops. So, my question is, before I whack a perfectly fine almost mirrored repository, can I svn propset -r 0 all the stuff needed by svnsync manually, to start syncing at -r 3738? Or can I set up the repo again (svnadmin create immediately followed by svnsync init) and then svnadmin load (since load from a dump is so much faster)? It would seem odd that the only way to mirror a repo is to replay everything from -r 0. Thanks for your guidance! Geoff -- This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: What's the process to svnsync a larger repository
Yeah I was just reading this: By default, the aforementioned basic requirements of a mirror are that it allows revision property modifications and that it contains no version history. However, as of Subversion 1.7, you may now optionally disable the verification that the target repository is empty using the --allow-non-empty option. While the use of this option should not become habitual (as it bypasses a valuable safeguard mechanism), it does aid in one very common use-case: initializing a copy of a repository as a mirror of the original. This is especially handy when setting up new mirrors of repositories which contain a large amount of version history. Rather than initialize a brand new repository as a mirror and then syncronize all of the history into it, administrators will find it *significantly* faster to first make a copy of the mature repository (perhaps using *svnadmin hotcopy*) and then use *svnsync initialize --allow-non-empty* to initialize that copy as a mirror which is now already up-to-date with the original. Now here's the interesting part. I'm running svn 1.6 on the source repo, 1.7 on the mirror repo... (I think) Geoff Hoffman Solutions Architect LAMP Engineer _ Twitter: @m2guru http://www.twitter.com/m2guru | @cardinalpathhttp://www.twitter.com/cardinalpath LinkedIn: www.linkedin.com/in/geoffreydhoffman Phone: 480.285.1622 x313 Mobile: 480.231.8323 _ www.cardinalpath.comhttp://www.cardinalpath.com/?utm_source=signatureutm_medium=CPemailutm_campaign=dEckman training.cardinalpath.comhttp://training.cardinalpath.com/?utm_source=signatureutm_medium=CPemailutm_campaign=dEckman *PublicInsite, VKI Studios, and WebShare have merged to form Cardinal Path* On Fri, Mar 2, 2012 at 8:45 AM, Mark Phippard markp...@gmail.com wrote: On Fri, Mar 2, 2012 at 10:41 AM, Geoff Hoffman ghoff...@cardinalpath.com wrote: I'm learning some gotchas with svnsync this week. As per my typical method of learning I try 3 wrong ways before finally realizing the right way to do most things. We have about a 1GB svn repo on Ubuntu at -r 3738, and I'm trying to get it mirrored on Win 7 running VisualSVN. I created the mirror repository fine, ran svnsync init and svnsync sync on it, then as it started going from -r 1, -r 2, -r 3..., I realized it would take a week or more to fetch all nearly 4K commits. So I stopped it, deleted it, started over and did an svnadmin dump -- svnadmin load from the dump -- which ran/imported much faster, but now when I try to initialize the sync, I get svnsync: Cannot initialize a repository with content in it D'OH! I forgot to svnsync init after creating the empty mirror repo. Whoops. So, my question is, before I whack a perfectly fine almost mirrored repository, can I svn propset -r 0 all the stuff needed by svnsync manually, to start syncing at -r 3738? Or can I set up the repo again (svnadmin create immediately followed by svnsync init) and then svnadmin load (since load from a dump is so much faster)? It would seem odd that the only way to mirror a repo is to replay everything from -r 0. This is, in fact, a limitation of svnsync. You can manually setup the properties on r0 as one option, or if you have svnsync from 1.7 installed, you can use the new --allow-non-empty option on the init command and it essentially will do the same thing for you. -- Thanks Mark Phippard http://markphip.blogspot.com/ -- This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: What's the process to svnsync a larger repository
Sweet - if that works it'll save a lot of time. Can someone paste an svn proplist --revprop -r 0 from a mirror repo so I can see all the stuff to set? On Fri, Mar 2, 2012 at 8:47 AM, Philip Martin philip.mar...@wandisco.comwrote: Geoff Hoffman ghoff...@cardinalpath.com writes: So, my question is, before I whack a perfectly fine almost mirrored repository, can I svn propset -r 0 all the stuff needed by svnsync manually, to start syncing at -r 3738? Yes. You need --revprop with the propset. -- Philip -- This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: What's the process to svnsync a larger repository
On Fri, Mar 2, 2012 at 8:47 AM, Philip Martin philip.mar...@wandisco.comwrote: Geoff Hoffman ghoff...@cardinalpath.com writes: So, my question is, before I whack a perfectly fine almost mirrored repository, can I svn propset -r 0 all the stuff needed by svnsync manually, to start syncing at -r 3738? Yes. You need --revprop with the propset. -- Philip I'm going to try setting svn:sync-* props by hand first... From this post http://journal.paul.querna.org/articles/2006/09/14/using-svnsync/ I guess I need to set four properties by hand... $ svn proplist --revprop -r 0 ${TOREPO} svn:sync-from-uuid svn:sync-last-merged-rev svn:date svn:sync-from-url I retrieved the uuid from the source repo like so # svn info http://localhost/svn/source-repo -r 3738 URL: http://localhost/svn/source-repo Repository Root: http://localhost/svn/source-repo Repository UUID: 9c96f4c0-7d9a-42f6-b8c8-54e79b961fad Revision: 3738 Okay, the sync-from-url is easy, last-merged-rev is 3738... what format is the svn:date in? Anyone know? -- This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: What's the process to svnsync a larger repository
On Fri, Mar 2, 2012 at 9:13 AM, Les Mikesell lesmikes...@gmail.com wrote: On Fri, Mar 2, 2012 at 9:41 AM, Geoff Hoffman ghoff...@cardinalpath.com wrote: I'm learning some gotchas with svnsync this week. As per my typical method of learning I try 3 wrong ways before finally realizing the right way to do most things. We have about a 1GB svn repo on Ubuntu at -r 3738, and I'm trying to get it mirrored on Win 7 running VisualSVN. I created the mirror repository fine, ran svnsync init and svnsync sync on it, then as it started going from -r 1, -r 2, -r 3..., I realized it would take a week or more to fetch all nearly 4K commits. Slow is one thing - but that sounds unreasonable. Is there some network issue involved? Maybe you can svnsync on a nearby machine, then copy or move the resulting repo once it is caught up. -- Les Mikesell lesmikes...@gmail.com The speed issue is that I'm storing the mirror repo on a slow computer, on a USB Drobo that is in turn being backed up to an online backup service. Good news- Thanks guys, looks like I got it syncing forward from -r 3738! Here's cmd output from Windows box -- hopefully it helps someone in the future. X:\Repositoriessvn propset --revprop -r0 svn:sync-last-merged-rev 3738 http://mirror-server/svn/mirror-repo property 'svn:sync-last-merged-rev' set on repository revision 0 X:\Repositoriessvnsync sync http://mirror-server/svn/mirror-repo svnsync: Destination repository has not been initialized X:\Repositoriessvn propset --revprop -r0 svn:sync-from-uuid 9c96f4c0-7d9a-42f6- b8c8-54e79b961fad http://mirror-server/svn/mirror-repo property 'svn:sync-from-uuid' set on repository revision 0 X:\Repositoriessvn propset --revprop -r0 svn:sync-from-url http://source-server/svn/source-repo http://mirror-server/svn/mirror-repo property 'svn:sync-from-url' set on repository revision 0 X:\Repositoriessvnsync sync http://mirrorr-server/svn/mirror-repo Transmitting file data . Committed revision 3739. Copied properties for revision 3739. -- This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: What's the process to svnsync a larger repository
On Fri, Mar 2, 2012 at 9:25 AM, Les Mikesell lesmikes...@gmail.com wrote: On Fri, Mar 2, 2012 at 10:20 AM, Geoff Hoffman ghoff...@cardinalpath.com wrote: I created the mirror repository fine, ran svnsync init and svnsync sync on it, then as it started going from -r 1, -r 2, -r 3..., I realized it would take a week or more to fetch all nearly 4K commits. Slow is one thing - but that sounds unreasonable. Is there some network issue involved? Maybe you can svnsync on a nearby machine, then copy or move the resulting repo once it is caught up. The speed issue is that I'm storing the mirror repo on a slow computer, on a USB Drobo that is in turn being backed up to an online backup service. But you should be able to copy a whole repo, maintaining state as long as the target is reasonably similar. I see you have gotten it to work another way, but you should have been able to do the initial catch-up sync on something faster, copy that repository where you want it, then resume the syncs to keep it updated. This is pretty much exactly what I did, Les. My other question from my initial post is, should I be doing it in exactly this order: // source-server 1. svnadmin dump source-repo source.dump 2. tgz it and scp it to mirror-server // mirror-server 3. svnadmin create mirror-repo 4. svnsync init here !! * // this is what I didn't do before* 5. svnadmin load ? or do you have to just let it sync from -r 0 With 1.6x and before, it may be just as easy to issue 3 propsets as above. I think I'll write a blog post on this. There doesn't seem to be a single concise procedure outlined anywhere on the net. Although, it's nice to learn that svn 1.7+ added the --allow-non-empty option. -- This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: Automatic tagging
Tagging is simply an svn copy operation. svn copy is scriptable. Does that help at all? On Thu, Feb 23, 2012 at 10:07 AM, List Man list@bluejeantime.comwrote: Is there a way to tag a project based on some requirements? I am trying to script it and I am coming up empty. I am tired of manually tagging for each production deployment. My research did not help enough. TIA, LS/ -- This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: switch to ignore files that have not been checked in?
On Wed, Jan 11, 2012 at 6:45 PM, Andy Levy andy.l...@gmail.com wrote: On Wed, Jan 11, 2012 at 18:49, Steve Kelem st...@kelem.net wrote: I'm trying to add properties to a bunch of files that have a common file extension, but are not the only files in the directory/directories. I would like to run something like: svn propset svn:needs-lock '*' *.png *.jpg *.vsd The problem is that I have a number of temporary files in the working directory that match the pattern but are not and should not be checked in. The problem with using the convenience of shell patterns is that subversion aborts as soon as it processes a file that is not already checked in. It also aborts even if a file or directory has the svn:ignore property set. I don't know of an easy way to match all the files that match a shell pattern and are also already checked in. (Which would be a clunky workaround for not having the following:) I'd like to use a switch such as: svn --ignore-non-checked-in-files propset svn:needs-lock '*' *.png *.jpg *.vsd Does such a switch already exist? Such a switch would tell subversion commands to silently ignore files and directories that have not been checked in. The opposite already exists. If I run svn add *.png, the svn add command runs, but complains harmlessly if a file has already been checked in. svn add does not halt if it encounters a file that has already been checked in. Try the --force switch. If I'm reading your post/question correctly you may need to (via your own bash script) grep/sed/awk the output of svn status (for M's) and only svn propset the ones matching your pattern.
Re: Create a new working copy by cloning a subtree of an existing working copy?
On Tue, Dec 20, 2011 at 7:44 AM, Kuno Meyer kuno.me...@gmx.ch wrote: With SVN 1.7, is there a way to create a new working copy by cloning a subtree of an existing working copy? For example: - Already checked out: wc1/ wc1/.svn wc1/src wc1/data wc1/data/bin1 - Desired: a new working copy of just the data/ subtree: wc2/ wc2/.svn wc2/bin1 A reason of doing this could be to improve performance. Thanks, Kuno I believe if you simply copy the desired folder to a new location on your hard drive (nothing to do with SVN) you'll have what you want.
Re: Create a new working copy by cloning a subtree of an existing working copy?
On Tue, Dec 20, 2011 at 9:01 AM, Cooke, Mark mark.co...@siemens.com wrote: -Original Message- From: Geoff Hoffman [mailto:ghoff...@cardinalpath.com] Sent: 20 December 2011 15:59 To: Kuno Meyer Cc: users@subversion.apache.org Subject: Re: Create a new working copy by cloning a subtree of an existing working copy? On Tue, Dec 20, 2011 at 7:44 AM, Kuno Meyer kuno.me...@gmx.ch wrote: With SVN 1.7, is there a way to create a new working copy by cloning a subtree of an existing working copy? For example: - Already checked out: wc1/ wc1/.svn wc1/src wc1/data wc1/data/bin1 - Desired: a new working copy of just the data/ subtree: wc2/ wc2/.svn wc2/bin1 A reason of doing this could be to improve performance. Thanks, Kuno I believe if you simply copy the desired folder to a new location on your hard drive (nothing to do with SVN) you'll have what you want. That used to work pre 1.7 (as an unintended side-effect of the older working copy structure) but the new working copy structure (that moves all .svn data into the root directory) stops that from working... That's now like exporting the sub-folder. ~ mark c Wow, good to know. Thanks Mark.
Re: small feature request: when checkout/update print out svn:external addresses
On Fri, Dec 9, 2011 at 5:24 AM, Stefan Sperling s...@elego.de wrote: On Fri, Dec 09, 2011 at 07:10:41AM +, Cooke, Mark wrote: I don't use the command line much but could you not plit it over three lines? {{{ Fetching external item: from : '...' into : '...' }}} I like this idea. Me too!
Re: Difference between 'svn update' and 'svn checkout'
Wellington, are you by any chance trying to update your development server working copy with your post-commit hook? I'd recommend svn update or svn update --force over checkout simply due to the fact that it only brings changed files, not the whole repository (save network bandwidth, time, etc.) If the dev server wc is on the same server as your svn it should be as simple as cd /var/www/path/to/wc svn update . That said, I've never fiddled with hook scripts; only read about them. I'd love to see how you did this since I'd use it too... I just haven't gotten around to it.
Re: 1st checkout of my life = network connection closed unexpectedly
svn://my address at dyndns:3690/svn_eclipse What is the IP of the NAS on your LAN? it has to work at svn:// 192.168.1.105/ first, before you can get to it from the net via your DynDNS url. Once you verified that you can connect from a PC on your LAN... check your internet device eg cable/DSL router (login as admin @ 192.168.1.1)? You may need to create a 'Service' for 'SVN'=3960-3960, often under 'Gaming'. (example IPs)
Re: 1st checkout of my life = network connection closed unexpectedly
On Thu, Nov 10, 2011 at 11:56 PM, lolveley lolve...@laposte.net wrote: hello, here is the result of telnet : [olivier@centos ~]$ telnet 192.168.1.66 3690 Trying 192.168.1.66... Connected to 192.168.1.66. Escape character is '^]'. Connection closed by foreign host. I can't figure out if it's a good message or not. for svnserve I didn't found the log file.Must I activate it?how? thanks That is a typical message from telnet; I only used svn:// protocol once or twice so I'm not much help there... To make sure, did you create a repository (svn_eclipse?) and loaded something into it (SMS)? Can you ssh onto the NAS and run # svn ls svn://localhost/svn_eclipse/**SMS ? It should give you some output about the contents of SMS.
Re: GnomeKeyring: not entering passwords
On Thu, Nov 3, 2011 at 11:54 AM, Mark Phippard markp...@gmail.com wrote: On Thu, Nov 3, 2011 at 2:38 PM, rupert.thurner rupert.thur...@gmail.comwrote: while looking for a possibility to help a user of subversion so he does not need to type the server password all the time, i got hinted to GnomeKeyring and seahorse. subversion offers to be compile with -- with-gnome-keyring option. I had never heard of seahorse. Looking at it, it seems to me like it is a GUI for using GNOME keyring to manage things like your SSH keys etc. I do not think that is what you need. GNOME keyring already provides a GUI for managing your keyring and this is tied to your login session. What we did for our CollabNet binaries was write a small command line tool that uses the GNOME keyring API but gives you a simple command line interface. I do not know why GNOME does not provide one. I would be happy to share the source code if you want it. With this tool you can use the command line tool to create a keyring as well as unlock it. The latter is what you would want to do when you login (after starting the keyring-daemon). There have been several discussions about this in the past. If you haven't already, definitely search the archives. http://svn.haxx.se/users/
Re: Where/How to get a Test Subversion Server
On Sat, Oct 29, 2011 at 10:52 AM, Stefan Sperling s...@elego.de wrote: There is no need to set up a server to try out Subversion. On Sat, Oct 29, 2011 at 11:03 AM, Les Mikesell lesmikes...@gmail.com wrote: Pretty much everything you can do with subversion will work with a local repository and file:/// references. Do your initial testing/learning that way Sort of off topic of this thread, but even though I've used SVN for years, the idea of running it locally without a server never occurred to me. I thought 'distributed repositories' was Git's only/main benefit over SVN, but if you have a local repository, I'm guessing you can work/commit locally, then svn switch to your remote/work repository to commit to the shared/compay repo? Is that right?
Re: First Hands-on Subversion—Where/How?
On Fri, Oct 28, 2011 at 11:00 AM, Pietro Moras studio...@hotmail.comwrote: Dear Subversion cognoscenti, Seriously intentioned to explore what Subversion is all about, armed with good will and a good reference book (“Version Control with Subversion”, by Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato), I got immediately lost stuck at the very first command: $ svn help ?] That said, where/how on earth could I get such Subversion grass-roots commands working? Is there any practical way, any practical tool, any practical good soul/good organisation where to find a test client-server setup where to (seriously) “play” with Subversion VCS? I'd be happy to begin even with a tiny a client-server set-up onto a machine of mine, would such a tool available; even no idea whether such a naïve idea of mine is feasible or not. Gratefully yours, - P.M. Ref.: dr. Pietro Moras Email studio...@hotmail.com Greetings Pietro, Start here http://svnbook.red-bean.com/ Then I would recommend a Google search like *install subversion {platform_or_distro_you_use}* -- for example here's a good quick overview at Ubuntu https://help.ubuntu.com/community/Subversion Remember, `Subversion` is both a client software and a server software, so it doesn't do you much good to learn `svn ___` (client) unless you have already used svnadmin to create a repository... (server). You can do this all locally, or on a VM (I would recommend go this route, eg virtualbox, if you're on Windows). Post back here with more specific questions as you go.
Re: First Hands-on Subversion—Where/How?
On Fri, Oct 28, 2011 at 3:52 PM, Pietro Moras studio...@hotmail.com wrote: more specific questions My pleasure, dear Geoff, Here you have some very Specific Questions. SQ1] How to get what I presume is a nice Subversion prompt: $ There is no prompt, other than terminal. Read the redbook please... or # svn --help CollabNet ( http://www.collab.net/downloads/subversion/ ) makes the most well known Windows ports of the software, with regular Windows installers for the software. Look for Subversion Edge: A certified software stack containing the latest versions of Subversion, Apache, and ViewVC: That's the fastest way to get started on Windows, IMO. Used to be free, don't know if it is anymore. OR -- The other thing you might want to do is sign up for a free trial at SpringLoops.com or Beanstalkapp.com -- there you can have the Subversion Server part all figured out for you, so you can play with the client only. Configuring the server is somewhat non-trivial for a beginner especially. on one of my standard Windows machines, so to test the wonderful Subversion commands so eloquently described by the mentioned self-declared Official Guide and Reference Manual, so practically useless at the very beginning of a learning process; that is, exactly when you need most practical and effective information and support? SQ2] Why should I go scrabbling and begging via Google for practical, operative info, I'd reasonably expected to find right away at page 1 on the mentioned book, or at the page 1 on the Subversion web site? Because lots of people have posted lots of info and tutorials on the topic. SQ3] Am I the first Subversion potential user starting from scratch? Everybody else knowing how to set-up a Subversion environment even before beginning to use it? Nope, they all went to Google and the Redbean book. Of course thank you for pointing me to the right direction. Of course. All the best. Yours, - P.M. You're welcome -
Re: How to recover deleted directory in repository?
On Sun, Oct 9, 2011 at 1:00 AM, Ryan Schmidt subversion-20...@ryandesign.com wrote: On Oct 9, 2011, at 00:45, Geoff Hoffman wrote: On Sat, Oct 8, 2011 at 8:38 PM, Xiang Liu wrote: I have removed a directory by mistake. svn del https://pl3.projectlocker.com/gnwd/notes/svn/a_dir So, How can I recover it? What I would do is pick a new location on your machine and export the parent directory of where your directory used to be (the svn dir above?) and force the revision number of the repository to be what it was, when a_dir used to exist. If your repo is at -r 10 now but the folder existed at -r 9, do something like: # cd /other/dir # svn export https://pl3.projectlocker.com/gnwd/notes/svn -r 9 svn Exported revision 9 now you will have a new svn folder at /other/dir/svn, you can then copy the a_dir inside there back to your working copy and commit it back to the repository cp svn/a_dir /path/to/workingcopy/gnwd/notes/svn/ now if you cd to your working copy dir and do a svn status, you can see these a_dir files are just a new unversioned directory # cd /path/to/workingcopy/gnwd/notes/svn # svn add a_dir A foo.c A bar.c etc # svn commit -m Restored a_dir Committed revision 11. If you do it that way, it will appear to Subversion (and yourself later, when you review the history) as though you created the directory an all its contents in revision 11. It will be completely disconnected from its previous history in the repository. svn log on this new directory will only go back to revision 11. svn blame will show it was created in revision 11. This is probably not what you want. You probably want to bring the directory back from the past, linked with all its prior history. To do that, instead copy it from its prior repository location with svn cp: cd /path/to/workingcopy/gnwd/notes/svn svn cp https://pl3.projectlocker.com/gnwd/notes/svn/a_dir@9 . # test, test, test svn ci -m resurrecting a_dir from revision 9 Ryan, your way is better. I thought that would create commit conflicts though. It doesn't?
Re: How to recover deleted directory in repository?
On Sat, Oct 8, 2011 at 8:38 PM, Xiang Liu lx...@yahoo.com.cn wrote: Hi, everybody I have removed a directory by mistake. svn del https://pl3.projectlocker.com/gnwd/notes/svn/a_dir So, How can I recover it? Thanks. xiang Xiang- What I would do is pick a new location on your machine and export the parent directory of where your directory used to be (the svn dir above?) and force the revision number of the repository to be what it was, when a_dir used to exist. If your repo is at -r 10 now but the folder existed at -r 9, do something like: # cd /other/dir # svn export https://pl3.projectlocker.com/gnwd/notes/svn -r 9 svn Exported revision 9 now you will have a new svn folder at /other/dir/svn, you can then copy the a_dir inside there back to your working copy and commit it back to the repository cp svn/a_dir /path/to/workingcopy/gnwd/notes/svn/ now if you cd to your working copy dir and do a svn status, you can see these a_dir files are just a new unversioned directory # cd /path/to/workingcopy/gnwd/notes/svn # svn add a_dir A foo.c A bar.c etc # svn commit -m Restored a_dir Committed revision 11. Hope that helps -
Re: Email notification on commit
On Tue, Oct 4, 2011 at 3:50 PM, Olga Kramer olgakra...@gmail.com wrote: Hi, Can someone point me to some detailed instructions on how to setup subversion to send email every-time one of my 3 users commits a file? I am running subversion on ubuntu v11.04. Thanks Olga Hi Olga, Maybe you already realize this but what you need is called a post-commit hook. Here's an example: http://mikewest.org/2006/06/subversion-post-commit-hooks-101
Re: Full text search engines for SVN?
On Mon, Sep 26, 2011 at 6:46 PM, Joshua J. Kugler jos...@azariah.comwrote: Does anyone have any full-text search engines they'd recommend for Subversion? I've found a couple geared specifically for subversion: http://www.supose.org/wiki/supose and http://svn-search.sourceforge.net/ But they both appear to be rather abandoned. And they require Tomcat (or similar) for their web front end. There is also OpenGrok, which looks fantastic, but is missing *the* feature I want from svn-search: it restricts results to the code the user can actually access. Suggestions? j -- Joshua J. Kugler - Fairbanks, Alaska Azariah Enterprises - Programming and Website Design jos...@azariah.com - Jabber: pedah...@gmail.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A This was recently asked...http://svn.haxx.se/users/archive-2011-09/0247.shtml
Re: Full text search engines for SVN?
On Mon, Sep 26, 2011 at 7:40 PM, Geoff Hoffman ghoff...@cardinalpath.comwrote: On Mon, Sep 26, 2011 at 6:46 PM, Joshua J. Kugler jos...@azariah.comwrote: Does anyone have any full-text search engines they'd recommend for Subversion? I've found a couple geared specifically for subversion: http://www.supose.org/wiki/supose and http://svn-search.sourceforge.net/ But they both appear to be rather abandoned. And they require Tomcat (or similar) for their web front end. There is also OpenGrok, which looks fantastic, but is missing *the* feature I want from svn-search: it restricts results to the code the user can actually access. Suggestions? j -- Joshua J. Kugler - Fairbanks, Alaska Azariah Enterprises - Programming and Website Design jos...@azariah.com - Jabber: pedah...@gmail.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A This was recently asked...http://svn.haxx.se/users/archive-2011-09/0247.shtml And answered...http://www.google.com/custom?domains=svn.haxx.seq=Svn+Searchersa=Searchsitesearch=svn.haxx.seclient=pub-9313125053076989forid=1channel=8989477434ie=ISO-8859-1oe=ISO-8859-1cof=GALT%3A%230066CC%3BGL%3A1%3BDIV%3A%2399%3BVLC%3A336633%3BAH%3Acenter%3BBGC%3AFF%3BLBGC%3AFF9900%3BALC%3A0066CC%3BLC%3A0066CC%3BT%3A00%3BGFNT%3A66%3BGIMP%3A66%3BFORID%3A1%3Bhl=en Hope it helps you!
Re: SVN
Read this http://svnbook.red-bean.com/ On Thu, Sep 22, 2011 at 5:37 AM, Sukumar Gorai sukumar.go...@bluehorse.inwrote: Why we need SVN setup? And if is important then how to install? Please explain and how to use SVN? -- Regards, Sukumar Gorai Jr. Software Developer Bluehorse Software email-sukumar.go...@bluehorse.in email-sawkat.a...@bluehorse.in Mob-+91-8296015120 +91-9647555891
Re: How to make password to store in Encrypted format
On Tue, Sep 20, 2011 at 7:03 AM, Bob Archer bob.arc...@amsi.com wrote: How to make password to store in Encrypted format When I checkout a code i got the following message. I was searching in the net, I couldn't locate a proper document to avoid/configure svn password locally encrypted. Any help in this regard is highly appreciated. Thanks, Wang,bin --- ATTENTION! Your password for authentication realm: http://someservername:3690 Test Project SVN can only be stored to disk unencrypted! You are advised to configure your system so that Subversion can store passwords encrypted, if possible. See the documentation for details. You can avoid future appearances of this warning by setting the value of the 'store-plaintext-passwords' option to either 'yes' or 'no' in '/home/AdmUsr/.subversion/servers'. --- Did you See the documentation for details.??? For other Unix-like operating systems, no single standard “keychain” service exists. However, the Subversion client knows how to store passwords securely using the “GNOME Keyring” and “KDE Wallet” services. Also, before storing unencrypted passwords in the ~/.subversion/auth/ caching area, the Subversion client will ask the user for permission to do so. Note that the auth/ caching area is still permission-protected so that only the user (owner) can read data from it, not the world at large. The operating system's own file permissions protect the passwords from other non-administrative users on the same system, provided they have no direct physical access to the storage media of the home directory, or backups thereof. http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.serverconfig.netmodel.creds BOb Wang, For the record we're running Ubuntu Server 10.04LTS and it has no desktop GUI and I was not able to figure out how to use either gnome keyring or kde wallet services to store passwords encrypted. After about 8 to 12 hours of researching these methods and trying a variety of different things, I gave up and was never able to store encrypted passwords; we all have IDEs that store/send the password with each command and our SVN server is behind our Firewall on our LAN, so it isn't that big of a deal for us. They call it a security improvement for SVN 1.6 however it has resulted in our case as no security (for users SSH'd into the svn server) because implementing it a) is too cumbersome b) is beyond my skillset, or c) appears to rely on a desktop UI There appears to be some command-line ways of getting this functionality, and here some posts about it... http://stackoverflow.com/questions/3824513/svn-encrypted-password-store http://blogs.collab.net/subversion/2009/07/subversion-16-security-improvements/ http://subversion.open.collab.net/ds/viewMessage.do?dsMessageId=325647dsForumId=3 Probably the best bet is outlined here http://superuser.com/questions/186575/whats-the-best-way-to-store-an-encrypted-svn-password-on-ubuntu-server or here http://blesseddlo.wordpress.com/2010/09/13/subversion-passwords-encrypted-with-gnome-keyring/ but I wasn't able to get it working. Sorry; wish I had a better reply for you. Good luck - Here is another thread that looks helpful http://subversion.open.collab.net/ds/viewMessage.do?dsForumId=3dsMessageId=393815
Re: Ignore development changes.
The way we do it is: svn:ignore filename.ext filename.local.ext filename.stage.ext filename.prod.ext On local make a symlink to local version: ln -s filename.local.ext filename.ext On staging make a symlink to stage version: ln -s filename.stage.ext filename.ext On prod, make a symlink to prod version: ln -s filename.prod.ext filename.ext Our build scripts do the 2nd and 3rd automagically at deploy. HTH - On Mon, Sep 19, 2011 at 3:29 PM, Gavin Baumanis gav...@thespidernet.comwrote: Hi Everyone, I am just after some advice on how other people solve the following issue. I have a committed file. When it is deployed, it needs to be in a state (lets call it state 1) While testing code locally, it needs to be in some other state (state 2) Short of altering the code to read like; if on dev server have state 1 else have state 2 fi How can I have a local change, but have that change temporarily ignored? My initial thought is to use the svn:ignore But that brings about the issue of, out of mind out sight... and if I ever need to do real changes to that file, they won't be picked up in svn status. The answer is quite likely not even a SVN once - but perhaps a procedure / system one. I am open to any and all suggestions of how people might solve this issue for themselves already. And as always - thanks for any ideas you might have. Gavin Beau Baumanis
Changes are getting clobbered when working on remote svn files
We have a mixed development environment (Mac, Win, Linux). We have an SVN 1.6 repo on the LAN (Ubuntu server 10.04 LTS). We have a development server on the LAN (Ubuntu server 10.04 LTS). (I don't think any of the hardware or software matters in this case, but here it is anyway) Most of us are running fully-local checkout working copies, editing hosts file, NameVirtualHost on, using Netbeans, Textmate (Mac), Notepad++ on Win. One of our developers A is storing his working copy checked out onto the dev server and uses netbeans FTP to work on the files. What we found is that he is somehow able to overwrite newer files in the repository if he edits the same file. In other words, if developer B changes file x/y.php at -r 400 and dev A has checked out and is working on file x/y.php at -r 395 then when dev A commits x/y.php at -r 405 it does not include B's changes from -r 400. We are guessing that either: - he didn't svn up on the dev server; (claims he always does, of course) - he didn't 'refresh folder' to grab the latest stuff from his checkout/update - he has a local cached copy he downloaded from the dev server to edit - and somehow his IDE (NetBeans 6.9) is not realizing that the remote files have changed. or some combination thereof. One would assume that remote server development and version control would have been sorted out long ago and developer A should be getting a conflict on commit, or a merge event at commit time, but this isn't the case. What we now believe is that: When saving to a remote project, FTP is overwriting the file, even if it has been svn updated manually, and upon commit, it just sees the ftp-overwritten file as the newest regardless of the change at -r 400. I thought I would send this to the list to see if others have experienced similar issues; and as a warning to look out for this scenario. Cheers - Geoff
Re: Changes are getting clobbered when working on remote svn files
On Thu, Sep 1, 2011 at 12:24 PM, Konstantin Kolinko knst.koli...@gmail.comwrote: 2011/9/1 Geoff Hoffman ghoff...@cardinalpath.com: We have a mixed development environment (Mac, Win, Linux). We have an SVN 1.6 repo on the LAN (Ubuntu server 10.04 LTS). We have a development server on the LAN (Ubuntu server 10.04 LTS). (I don't think any of the hardware or software matters in this case, but here it is anyway) Most of us are running fully-local checkout working copies, editing hosts file, NameVirtualHost on, using Netbeans, Textmate (Mac), Notepad++ on Win. One of our developers A is storing his working copy checked out onto the dev server and uses netbeans FTP to work on the files. What we found is that he is somehow able to overwrite newer files in the repository if he edits the same file. In other words, if developer B changes file x/y.php at -r 400 and dev A has checked out and is working on file x/y.php at -r 395 then when dev A commits x/y.php at -r 405 it does not include B's changes from -r 400. We are guessing that either: - he didn't svn up on the dev server; (claims he always does, of course) If you had access logs enabled on your server, you could verify it. - he didn't 'refresh folder' to grab the latest stuff from his checkout/update - he has a local cached copy he downloaded from the dev server to edit - and somehow his IDE (NetBeans 6.9) is not realizing that the remote files have changed. or some combination thereof. One would assume that remote server development and version control would have been sorted out long ago and developer A should be getting a conflict on commit, or a merge event at commit time, but this isn't the case. What we now believe is that: When saving to a remote project, FTP is overwriting the file, even if it has been svn updated manually, That is very likely to happen. If you just transfer a file it will likely to overwrite remote one, regardless of what changes have been there. Yes it's almost certainly a problem with either FTP or the IDEs implementation of that, not SVN. Why your developer is editing the file remotely if you have svn? Check it out locally, edit locally, commit locally and then go to remote server and svn up there. It's due to - he has PHP 5.2x on his local and doesn't want to upgrade it (for supporting another older PHP4x site with certain config) and we have PHP 5.3x with some required other extensions on the dev server - so that's the reason for doing it this way in only his case. BTW, you may ask on NetBeans forums, how the tool behaves. I think I will - I had thought of that, it maybe a bug in NetBeans (or a feature improvement request) although another developer here tried something similar with Coda and the same thing happens. and upon commit, it just sees the ftp-overwritten file as the newest regardless of the change at -r 400. I thought I would send this to the list to see if others have experienced similar issues; and as a warning to look out for this scenario. Best regards, Konstantin Kolinko
Re: Changes are getting clobbered when working on remote svn files
On Thu, Sep 1, 2011 at 1:38 PM, Ryan Schmidt subversion-20...@ryandesign.com wrote: On Sep 1, 2011, at 13:52, Geoff Hoffman wrote: I thought I would send this to the list to see if others have experienced similar issues; and as a warning to look out for this scenario. What this should serve as is a reminder to all developers to use svn diff (or GUI equivalent) every time before you commit, to make sure the changes you're about to commit are actually the ones you intended to make. I'm almost certain your developer is overwriting a newer file with an older file via his FTP client or IDE, and is not noticing because he's not checking the diff. The trouble here is that, the IDE is pushing a new version back to the remote server where svn is running, which is where the changes are are being lost. I think a solution isn't possible. What needs to happen is that when you save a local version, the IDE should issue svn up on the remote server to check for conflicts but it can't because it has only an FTP connection available to it. Even if he logs in via SSH to the server and issues svn up on the remote files (getting -r 400 of x/y.php correctly on the remote box), the IDE with his changes to -r395 isn't smart enough to know that the file has changed remotely (although it should, IMO, download a tmp copy to check before ftp sync). There is most certainly a method to operate in this fashion safely, however it requires more manual steps to be followed meticulously. It's probably safe to say that creating and working on a remote project is best suited for a single developer (with svn running locally on the downloaded project files) versus running svn on the remote machine. We also had the idea to mount the project via Go - Connect to Server... and use svn locally on /Volumes/devserver/project but this is untested.
Re: Subversion on Drupal
On Thu, Aug 11, 2011 at 7:56 PM, Andy Canfield andy.canfi...@pimco.mobiwrote: My goal in learning Subversion was to put our web site under version control. Now I have my doubts as to whether Subversion can handle it. The web site uses Drupal. And Drupal has the characteristic that much of the site is contained in a MySQL database. For example, if I install a module and set it up, the module is a disk file, but the configuration of that module is in the database. If I make a change, part of the change may be in a PHP code file on disk, part may be in the database. The database contains both user data and configuration data, intermingled. I could get Subversion to work. I would have a pre-commit script to back up the database to a disk file in the working copy. I would have a post-checkout script to reload the database from the disk file. Along with svn commit and svn checkout, this would give us the ability to roll back to any earlier version. What I can not imagine is how to get more than one person to be able to work on the site. Yes, Subversion would be able to merge changes to the disk files. But I don't see how Subversion can handle merging changes to the database. The MySQL database is text; perhaps someone here as experience with that. Can MySQL backup files be merged? You'll need to analyze your app closely do it right, but it's absolutely possible. It's a daunting task for Drupal, WordPress, Joomla or any other CMS-driven site and everyone who manages these type of sites deals with the issue differently. Subversion can handle whatever you svn commit. That's not the problem at all. The filesystem files that make up your Drupal install are easy to manage. You'll need to use svn:ignore on the uploads directory, cache, logs, etc., but that's the easy part. The tricky part is managing database schema under version control, and there are myriad ways to output your db schema to a text file or files, try phpMyAdmin for starters. You have to plan your version control system to account for and differentiate between dynamic/user-generated content in the database that it needs to ignore, versus that which plays a critical role in the ui such as dropdown items in forms. You don't want your client's website content in your version control system if you can avoid it, and with one well-written backup script you can achieve it. It goes without saying that you'll need at least one VM or additional hosting account, virtual host on your server or other technique to develop and/or stage your planned changes, too.
Re: best practice: accessing svn data without co
On Tue, Aug 9, 2011 at 11:27 AM, Jan Ciesko (GMAIL) jan.cie...@gmail.comwrote: Dear SVN users I would like to ask the following: is there a way to access svn data on the svn server without checking data out? I would need to create temporal tar'ed archive of a versioned directory that is then attached to a website. Both web- and svn-server are running on the same system. Thanks a lot for help. Best regards, Jan. Jan, Are you looking for svn export?
Re: Do svn:externals changes need to be committed to work?
Hey André, On Mon, Aug 1, 2011 at 6:54 PM, André Hänsel an...@webkr.de wrote: I am trying to add an svn:externals definition to a working copy. I set the property on a directory and ran svn update on that directory, but nothing is fetched. One of my favorite topics. svn:externals is tricky to understand and use at first but very powerful and worth learning. The syntax is svn propset svn:externals 'A B' C Where: A is the name of the folder you want your external reference checked out into (created); B is the URL to the external repository dir you want to reference in the current working dir; C is the path to the local working dir folder on which you want to set the svn:externals property I think you created the folder first - let your externals definition create the folder 'A'. An example (from [2]) svn propset svn:externals 'akismet http://plugins.svn.wordpress.org/akismet/trunk' . Note the dot at the end. In this example, the svn:externals property is being set on the current folder (probably htdocs/wp-plugins - just a hunch) What most examples don't show you is to cd into the directory you want to set the property on first then call it '.' (no quotes, dot = current dir) Also the SVN Book[1] says because this property is multi-line, better off using svn editor (vi) versus trying it all on the command line as it is extra tricky to do this way. You can see why this is important; if you wanted to load all the wp-plugins from their source repos you would need multiple svn:externals set on the wp-plugins dir, one for akismet, another for w3 total cache, and so on. It is *very* easy to accidentally erase all of the previously set externals definitions if you try this on the command line. Due to this I strongly recommend to use your IDE to load the existing property value, edit it as desired, then save/set/apply/update. I found this article: http://blogs.gnome.org/johannes/2008/02/20/svnexternals-for-noobs/ However, from other documentation it's unclear to me if a commit is really necessary for svn:external to work. Of course, I don't want to commit an untested external definition. I am using TortoiseSVN 1.6.15 built with Subversion 1.6.16. The order is, you apply the property with propset (you have just modified only the property of the directory, nothing else.) Svn status shows you '.' is modified. or 'wp-plugins' is modified. Next, do an svn update. Your content from external repo defined, comes streaming down, and `akismet` folder is created in htdocs/wp-plugins/akismet. Svn status still shows you only '.' is modified. or 'wp-plugins' is modified. Now, commit - only the dir props are commited If your external code is also your own code (your own shared library in another repo you control, for example) be very careful when changing stuff in [working copy] and [external code] in same commit. Most IDEs will let you do this, but warn 'You're about to commit to multiple repositories...' This may be exactly what you want, but often it is not. I recommend reading these [1] http://svnbook.red-bean.com/en/1.5/svn.advanced.externals.html [2] http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/ HTH -
Re: Logging Subversion client HTTP requests
On Sat, Jul 30, 2011 at 3:56 PM, Manuel Lemos mle...@acm.org wrote: I have already a pure PHP implementation Manuel, didn't you also write whole Mailer library for PHPClasses.org and start that site? When do you sleep? You're speaking to svn server directly from PHP, with stream context or exec( ) bridge somehow? I'm curious now.
Re: Logging Subversion client HTTP requests
On Sat, Jul 30, 2011 at 6:20 PM, Manuel Lemos mle...@acm.org wrote: Hello, on 07/30/2011 09:16 PM Geoff Hoffman said the following: I have already a pure PHP implementation Manuel, didn't you also write whole Mailer library for PHPClasses.org and start that site? When do you sleep? hahah good question. When you work full time on these stuff you do it for pleasure and too bad sleep does not allow you to do more in less time! :-) You're speaking to svn server directly from PHP, with stream context or exec( ) bridge somehow? I'm curious now. Actually I am using a long standing HTTP client which uses fsockopen by default but it can optionally switch to Curl for SSL requests. http://www.phpclasses.org/**httpclienthttp://www.phpclasses.org/httpclient Either way there is at least one SubVersion host on SSL (BeanstalkApp) which is returning error 400 all the time. https://sschlapkohl.svn.**beanstalkapp.com/htmlform/**trunk/https://sschlapkohl.svn.beanstalkapp.com/htmlform/trunk/ Anyway, I just realized if I use file_get_contents (with default stream context) which just sends a simple GET request with one Host: header, it works. So there is something specific to that Web server that is balking all requests with status 400. I suspect that it is not even related with SubVersion because even GET requests fail. Just let me know if you have any idea. Does httpclient work if you switch it to the cURL option? You may need to extend the class to provide https specific curl options [1]. [1] http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/
Re: disable security hole in svn+ssh?
On Thu, Jul 28, 2011 at 7:29 AM, Andy Canfield andy.canfi...@pimco.mobiwrote: snip Hold it right there. You're providing password based repository access via HTTP, not HTTPS? Please rethink this unless you *want* the passwords for this repository to be quite insecure and sniffable, especially if you're using normal user login passwords. If HTTP sends passwords in as plain text then yes, HTTPS is better. But I can't get HTTPS to work at all. I get the impression from googling that HTTPS requires a certificate, and I don't have a certificate. If I could generate my own certificate, we could tell our developers Accept this certificate the first time you see it, and after that it will work every time. /snip snip So there are actually four protocols that a workstation can use to access a Subversion repository: http, https, svn:, and svn+ssh. Assuming that I pick one, how do I turn the others off? If James Bond can access via https, how can we prevent him from using http and blowing the security? iIf James Bond has an ssh login account on the server, but should not be using Subversion at all, how do we prevent him from using svn+ssh:? How do we prevent him from logging in and using file:? How do we prevent him from logging in and running svnadmin? /snip Wow Andy, you have really put SVN security through the ringer and bring up some really good points. We're hosting svn behind our firewall on http and so our users have to have a VPN to connect. This of course requires a certain type of security appliance (several hundred bucks at a minimum.) Some of our users have ssh login on the same box running svn but I never thought to secure svnadmin or prevent svn+ssh so I never really thought about it at the level you are doing. You can chroot users [2] into their home dir if you go with svn+ssh... Matt's suggestion to generate ssh keys for everyone is a good idea also (as well as making it simpler to connect in a development workflow) I would think https would be your best bet; you can make a self signed certificate[1] but even an actual SSL isn't that hard to install and only $20/yr from GoDaddy, for example. You can then detect http protocol with a rewrite rule and redirect to https using mod_rewrite in either the vhost container or .htaccess file. Have you thought of getting some paid help from, e.g., CollabNet [3]? Maybe well worth it in your case. (Case STUDY more like it!) [1] https://help.ubuntu.com/8.04/serverguide/C/certificates-and-security.html [2] https://help.ubuntu.com/community/BasicChroot [3] http://www.open.collab.net/consulting/
Re: How to clean the working dir from .svn folders ?
*From:* Geoff Hoffman ghoff...@cardinalpath.com *Sent:* Tuesday, July 26, 2011 4:05 PM *To:* users@subversion.apache.org *Subject:* Re: How to clean the working dir from .svn folders ? I believe you can use a bash script similar to the following, but you may need to set a flag from PHP so that cron running as root or admin has permission to delete them. Hope it helps- #!/bin/sh echo recursively removing .svn folders from pwd rm -rf `find . -type d -name .svn` On Tue, Jul 26, 2011 at 7:32 AM, Damien Mistic mistic100.fore...@hotmail.fr wrote: ‘rm’ is a not a Windows function, as I said I must run on all platforms, that’s why it’s better if subversion can do it itself [image: Sourire] Damien. Ah - I thought someone mentioned cygwin ... sorry. Could you create a PHP script specifically for this? There are lots of recursive directory walk scripts online. I'm sure you have a reason why svn export won't work but are you certain? That's what it's for. You can't export as 'original-dir-export' next to your original-dir, delete the original-dir, rename the exported back to same as original-dir? wlEmoticon-smile[1].png Description: Binary data
Re: How to clean the working dir from .svn folders ?
*From:* Geoff Hoffman ghoff...@cardinalpath.com *Sent:* Tuesday, July 26, 2011 4:05 PM *To:* users@subversion.apache.org *Subject:* Re: How to clean the working dir from .svn folders ? I believe you can use a bash script similar to the following, but you may need to set a flag from PHP so that cron running as root or admin has permission to delete them. Hope it helps- #!/bin/sh echo recursively removing .svn folders from pwd rm -rf `find . -type d -name .svn` On Tue, Jul 26, 2011 at 7:32 AM, Damien Mistic mistic100.fore...@hotmail.fr wrote: ‘rm’ is a not a Windows function, as I said I must run on all platforms, that’s why it’s better if subversion can do it itself [image: Sourire] Damien. Ah - I thought someone mentioned cygwin ... sorry. Could you create a PHP script specifically for this? There are lots of recursive directory walk scripts online. I'm sure you have a reason why svn export won't work but are you certain? That's what it's for. You can't export as 'original-dir-export' next to your original-dir, delete the original-dir, rename the exported back to same as original-dir? On Tue, Jul 26, 2011 at 8:04 AM, Damien Mistic mistic100.fore...@hotmail.fr wrote: Dir you read my first mail ? I repost it here : Hi all, so my problem is clear : I've a working dir and I want to clean it up from all .svn folders, how to ? Knowing that I'm working un CLI within exec() function of PHP. Unfortunately I can't delete manually files and folders : Warning: unlink(svn/.svn/all-wcprops) [function.unlink]: Permission denied in C:\wamp\www\lang_editor\include\functions.inc.php on line 325 And the 'export' function is not what I want because my aim is to delete the folder, not really get a clean copy. If there is no way I think we must add a new function to SVN, such as 'svn unlink' or 'svn dissociate' Regards, Damien. Yes, I read it, but I don't understand *why* export-and-rename won't work as the end result would be indistinguishable from what you're saying you want. You may be able to run PHP script with admin user rights on the command line but it's different across platforms how to do this. Sorry I'm not more help. wlEmoticon-smile[1].png Description: Binary data
Re: Question about commit/udpate inside externals
On Tue, Jul 26, 2011 at 8:08 AM, Thomas Clement tclement...@gmail.comwrote: Hello list, I have a repository which contains an external to another repository with a fixed revision number. Something like: -rxxx svn+ssh://... I noticed I can make modifications inside this external and commit the modifications. At which point the external is actually above its fixed revision number (xxx+1 for example). svn status does not mention this particular state and svn up does not bring the external back to its fixed revision number. What bothers my is that doing a checkout of the repository will get me to a different state but doing svn status and svn up on my working copy does not alert me of that. How can I check if my externals are above their fixed revision number? Maybe it is just a bad idea to edit and commit inside externals? Regards, Thomas Subversion will let you do this, because for others it may be desired. As with most things, it depends on your use case. We had a similar one as yours. You may want to set a tag for your externals, then yes, don't work on it (don't commit to it). Have your external directory to also have trunk, tags, branches. Work on the trunk in a separate area. Tag it. Set your working copies to reference this tag. It's an easy thing to mess up. Most IDE's will alert you upon commit that you are committing to multiple branches...
Re: How to clean the working dir from .svn folders ?
On Tue, Jul 26, 2011 at 9:27 AM, Damien Mistic mistic100.fore...@hotmail.fr wrote: And I maintain the final aim is absolutely not the same as ‘export’ does. If you say so. I'm not sure how that could be possible given my understanding of the svn export command. Anyway, glad you got it sorted out!
Re: svn update via HTTPS works 95% of the time, then randomly shanks, issuer not trusted
On Tue, Jul 26, 2011 at 1:20 PM, Dan Yost yod...@gmail.com wrote: On Tue, Jul 26, 2011 at 3:11 PM, Geoff Hoffman ghoff...@cardinalpath.com wrote: Long shot here... this is probably off base, as I am not that experienced with lower-level SSL problems, but are you by chance using an issuer that provides an intermediary certificate? For example, to install an SSL cert from GoDaddy, you have to also include the gd_bundle.crt. The Wikipedia article below makes me wonder if there is just some network hiccups sometimes, trying to validate your certificate chain authority. From http://en.wikipedia.org/wiki/Intermediate_certificate_authorities If the certificate was not issued by a trusted CA, the connecting device (e.g., a web browser) will then check to see if the issuing CA of the certificate was issued by a trusted CA, and so on until either a trusted CA is found (at which point a trusted, secure connection will be established) or no trusted CA can be found (at which point the device will usually display an error). Yes, and indeed this is a GoDaddy cert, with the bundle installed to keep the chain intact, so thus it does work that 95% of the time. I was thinking that the chain is all presented from the server to client in one fell swoop, with no need to go fetch anything else out there (not that you're suggesting that is what it needs to do--go outside to fetch something). But indeed, I suppose it could complicate the handshake in such a way as to cause this intermittent failure--would really like to be able to watch that happen via some kind of verbose log. Dan If this *might* be the problem, I'm guessing that browsers do a better job of trying again a few times than the svn client might. If you can simulate what your workflow is doing in Firefox with the LiveHeaders plugin, you can distill it down to a list of FQDNs that are required, then tracert them, ping them, etc., to see if you have any dropped packets. Also IPs are a straighter path than DNS names. It may not be easy for you to change everything around, but if you switched it all to IP-based you could rule out DNS being a problem.
Re: Subversion access control
On Thu, Jul 21, 2011 at 11:19 PM, Andy Canfield andy.canfi...@pimco.mobiwrote: I notice that you don't have any entries that read ... = r; everyone who can read can write also. No need? Yeah, I just don't have a use case for that. The RSS feed of a repo commits from websvn is much more useful than read-only access to the server (basically websvn provides read-only access in a browser, all nice and pretty.) I'm glad you got it working! It's worth it in the end. The insurance policy that an SCM system provides is priceless.
Re: Subversion access control
On Wed, Jul 20, 2011 at 9:14 PM, Andy Canfield andy.canfi...@pimco.mobiwrote: ** Thank you very much. On 07/20/2011 12:19 PM, Nico Kadel-Garcia wrote: On Tue, Jul 19, 2011 at 11:14 PM, Andy Canfieldandy.canfi...@pimco.mobi andy.canfi...@pimco.mobi wrote: One thing has hit my mind today that I don't think you realize ... I have never, in my entire life, seen a working Subversion system. Apparently Subversion, as distributed, doesn't work - the access authentications are deliberately turned off. I'm afraid it depends on your access requirements. Seriously. Which access technology are you using? svn+ssh (which I tend to recommend), or Apache (using https://), or svn directorly (svn://) Start with that and we'll walk you through it. OK, here goes. I would like to use http/https. I am not supposed to be working on the server, but on my notebook workstation. And svn or svn+ssh require port 3690 to be forwarded by the router, and we don't own the router. So I would prefer http and/or https. But on the actual server https is screwed up because mod_dev_svn.so is a year earlier than Apache, and apparently there is a version mismatch. When svn is enabled apache is dead. I have put in a request for my friend to re-install, but that could take a week. So for the interim I have installed mod_dav etc. on my notebook computer. FYI it is running Ubuntu Linux 1.04. This is for testing. Directory /etc/apache2/modes-enabled contains the file dav.load with this contents: *LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so* That same directoy also contains the file dav_syn.load with these contents: *# Depends: dav LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so* That same directory also contains the file dav_svn.conf which I altered; this is the altered contents: *# dav_svn.conf - Example Subversion/Apache configuration # # For details and further options see the Apache user manual and # the Subversion book. # # NOTE: for a setup with multiple vhosts, you will want to do this # configuration in /etc/apache2/sites-available/*, not here. # Location URL ... /Location # URL controls how the repository appears to the outside world. # In this example clients access the repository as http://hostname/svn/ # Note, a literal /svn should NOT exist in your document root. Location /svn # Uncomment this to enable the repository DAV svn # Set this to the path to your repository #SVNPath /var/lib/svn # Alternatively, use SVNParentPath if you have multiple repositories under # under a single directory (/var/lib/svn/repo1, /var/lib/svn/repo2, ...). # You need either SVNPath and SVNParentPath, but not both. #SVNParentPath /var/lib/svn SVNParentPath /data/svn # Access control is done at 3 levels: (1) Apache authentication, via # any of several methods. A Basic Auth section is commented out # below. (2) Apache Limit and LimitExcept, also commented out # below. (3) mod_authz_svn is a svn-specific authorization module # which offers fine-grained read/write access control for paths # within a repository. (The first two layers are coarse-grained; you # can only enable/disable access to an entire repository.) Note that # mod_authz_svn is noticeably slower than the other two layers, so if # you don't need the fine-grained control, don't configure it. # Basic Authentication is repository-wide. It is not secure unless # you are using https. See the 'htpasswd' command to create and # manage the password file - and the documentation for the # 'auth_basic' and 'authn_file' modules, which you will need for this # (enable them with 'a2enmod'). #AuthType Basic #AuthName Subversion Repository #AuthUserFile /etc/apache2/dav_svn.passwd AuthType Basic AuthName Lenny Subversion Repository AuthUserFile /etc/apache2/dav_svn.passwd # To enable authorization via mod_authz_svn #AuthzSVNAccessFile /etc/apache2/dav_svn.authz # The following three lines allow anonymous read, but make # committers authenticate themselves. It requires the 'authz_user' # module (enable it with 'a2enmod'). #LimitExcept GET PROPFIND OPTIONS REPORT #Require valid-user #/LimitExcept * * Require valid-user* * /Location * By the way, all three of the above files in /etc/apache2/mods-enabled are actually symbolic links to the same file name in ../mods-available. I used sudo htpasswd to create the /etc/apache2/dav_svn.passwd file: *andy:4izmp7W8TSqww* Also I created my subversion directory like this:\ *sudo bash mkdir /data/svn chmod a+w /data/svn* *ls /data/svn **drwxrwxrwx 2 root root 4096 2011-07-21 10:53 /data/svn* Now I point my browser to http://localhost/svn and I get a prompt for a user name and password. If I type in my valid user name andy and
Re: Subversion access control
On Wed, Jul 20, 2011 at 9:14 PM, Andy Canfield andy.canfi...@pimco.mobiwrote: ** Thank you very much. On 07/20/2011 12:19 PM, Nico Kadel-Garcia wrote: On Tue, Jul 19, 2011 at 11:14 PM, Andy Canfieldandy.canfi...@pimco.mobi andy.canfi...@pimco.mobi wrote: One thing has hit my mind today that I don't think you realize ... I have never, in my entire life, seen a working Subversion system. Apparently Subversion, as distributed, doesn't work - the access authentications are deliberately turned off. I'm afraid it depends on your access requirements. Seriously. Which access technology are you using? svn+ssh (which I tend to recommend), or Apache (using https://), or svn directorly (svn://) Start with that and we'll walk you through it. OK, here goes. I would like to use http/https. I am not supposed to be working on the server, but on my notebook workstation. And svn or svn+ssh require port 3690 to be forwarded by the router, and we don't own the router. So I would prefer http and/or https. But on the actual server https is screwed up because mod_dev_svn.so is a year earlier than Apache, and apparently there is a version mismatch. When svn is enabled apache is dead. I have put in a request for my friend to re-install, but that could take a week. So for the interim I have installed mod_dav etc. on my notebook computer. FYI it is running Ubuntu Linux 1.04. This is for testing. Directory /etc/apache2/modes-enabled contains the file dav.load with this contents: *LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so* That same directoy also contains the file dav_syn.load with these contents: *# Depends: dav LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so * That same directory also contains the file dav_svn.conf which I altered; this is the altered contents: *# dav_svn.conf - Example Subversion/Apache configuration # # For details and further options see the Apache user manual and # the Subversion book. # # NOTE: for a setup with multiple vhosts, you will want to do this # configuration in /etc/apache2/sites-available/*, not here. # Location URL ... /Location # URL controls how the repository appears to the outside world. # In this example clients access the repository as http://hostname/svn/ # Note, a literal /svn should NOT exist in your document root. Location /svn # Uncomment this to enable the repository DAV svn # Set this to the path to your repository #SVNPath /var/lib/svn # Alternatively, use SVNParentPath if you have multiple repositories under # under a single directory (/var/lib/svn/repo1, /var/lib/svn/repo2, ...). # You need either SVNPath and SVNParentPath, but not both. #SVNParentPath /var/lib/svn SVNParentPath /data/svn # Access control is done at 3 levels: (1) Apache authentication, via # any of several methods. A Basic Auth section is commented out # below. (2) Apache Limit and LimitExcept, also commented out # below. (3) mod_authz_svn is a svn-specific authorization module # which offers fine-grained read/write access control for paths # within a repository. (The first two layers are coarse-grained; you # can only enable/disable access to an entire repository.) Note that # mod_authz_svn is noticeably slower than the other two layers, so if # you don't need the fine-grained control, don't configure it. # Basic Authentication is repository-wide. It is not secure unless # you are using https. See the 'htpasswd' command to create and # manage the password file - and the documentation for the # 'auth_basic' and 'authn_file' modules, which you will need for this # (enable them with 'a2enmod'). #AuthType Basic #AuthName Subversion Repository #AuthUserFile /etc/apache2/dav_svn.passwd AuthType Basic AuthName Lenny Subversion Repository AuthUserFile /etc/apache2/dav_svn.passwd # To enable authorization via mod_authz_svn #AuthzSVNAccessFile /etc/apache2/dav_svn.authz # The following three lines allow anonymous read, but make # committers authenticate themselves. It requires the 'authz_user' # module (enable it with 'a2enmod'). #LimitExcept GET PROPFIND OPTIONS REPORT #Require valid-user #/LimitExcept * * Require valid-user* * /Location * By the way, all three of the above files in /etc/apache2/mods-enabled are actually symbolic links to the same file name in ../mods-available. I used sudo htpasswd to create the /etc/apache2/dav_svn.passwd file: *andy:4izmp7W8TSqww* Also I created my subversion directory like this:\ *sudo bash mkdir /data/svn chmod a+w /data/svn* *ls /data/svn **drwxrwxrwx 2 root root 4096 2011-07-21 10:53 /data/svn* Now I point my browser to http://localhost/svn and I get a prompt for a user name and password. If I type in my valid user
Re: Subversion access control / Linux users etc.
On Thu, Jul 21, 2011 at 4:54 AM, Andy Canfield andy.canfi...@pimco.mobiwrote: ** More user/command interaction - The commands to create the Subversion Repository Parent directory were *sudo bash mkdir /data/svn chmod a+w /data/svn* This created this directory: *drwxrwxrwx 4 root 4096 2011-07-21 17:36 /data/svn/* I ran this command as user root: *svnadmin create /data/svn/sample* and what I get is *drwxr-xr-x 6 root 4096 2011-07-21 11:08 /data/svn/sample/* I ran this command as user andy: *svnadmin create /data/svn/example* and what I got is *drwxr-xr-x 6 andy 4096 2011-07-21 17:36 /data/svn/example/* It concerns me that apache is running as user 'www-data' and niether of these repositories are owned by, or even writable by, www-data. So I did these commands: *sudo bash su www-data svnadmin create geronimo* The output of the last command was as follows: *svnadmin: Repository creation failed svnadmin: Could not create top-level directory svnadmin: Can't create directory 'geronimo': Permission denied* That surprises me; the /data/svn directory is writable by everyone. Ah well. The browser, when pointing to http://localhost/svn/RepoName, gives this answer *RepoName - Revision 0: / Powered by Subversion version 1.6.12 (r955767)*. This is true whether RepoName is 'sample' or 'example'. Of course, the only thing mod_dav_svn needs to do in this case is to read the repository, and all files and directories are readable by everyone, regardless of whether they are owned by root or andy. So the browser access mechanism has no commands to control a repository, only to describe it? Logically this might make sense; however I would expect that http://localhost/svn would be capable of listing the repositories and creating new repositories.. But when I point the browser to http://localhost/svn I get this response: *Forbidden You don't have permission to access /svn/ on this server. Apache/2.2.17 (Ubuntu) Server at localhost Port 80* When I look at /var/log/apache2/error.log I see these lines: *[Thu Jul 21 17:54:04 2011] [error] [client 127.0.0.1] Could not fetch resource information. [403, #0] [Thu Jul 21 17:54:04 2011] [error] [client 127.0.0.1] (2)No such file or directory: The URI does not contain the name of a repository. [403, #190001]* Ahah! So http://localhost/svn is NOT a valid Subversion URL. I was mistaken when I thought someone said that the Apache browser interface could give me a list of the repositories. PROBLEMS WITH THE 'SVN' COMMAND - As Linux user 'andy'. Here goes: *rm -rf .subversion ****svn info http://localhost/svn/sample --username='andy' --password=not-shown'* *Password for 'default' GNOME keyring: svn: OPTIONS of 'http://localhost/svn/sample': authorization failed: Could not authenticate to server: rejected Basic challenge ( http://localhost) *The fact is that, as far as I know, I DONT HAVE ANY %$#@! GNOME KEYRING! So when it asked for the Password for 'default' GNOME keyring I just pressed Enter. Then authenticiation failed. OK, so I have completely removed the gnome-keyring package. I also had to wipe out the ~/.gnome2/keywrings directory. Now to try again. Wait. Wait some more. Go down to 7/11; buy a hot dog and some potato chips. Come back home. It's been 20-30 minutes. Command still hasn't completed. Nothing in /var/log/apache2/error.log. Just a dead svn program. Had to kill -9. When it comes to plants, some people have a green thumb; I have a brown thumb. Looks like when it comes to Subversion I have a black thumb. I feel for you, Andy. I had all these same problems you're having. The whole gnome-keyring thing is a bad decision IMO, or at least, to use only gnome-keyring or kwallet. Why they didn't leave the default password storage options from 1.4x is a mystery. You are definitely not the first person to have confusion and issues over this. From what I read they changed the behavior between Subversion server 1.4 to 1.5/1.6 to use this new/different authentication scheme. I never fixed that on my server, either, on my server. I'm running Ubuntu Server 10.04 LTS and there is no desktop so there is no gnome keyring. I just keep saying 'no' when it asks to store plaintext passwords, and have to enter my password every command I do. This is okay for me because 95% of the commands I run are not on the server but from a remote client, and my IDE, both of which store my password for me. http://blogs.collab.net/subversion/2009/07/subversion-16-security-improvements/ If *you are not* concerned about the security issues surrounding storing plaintext passwords, then you can enable that option in the [global] section of your /etc/subversion/servers file: store-plaintext-passwords = yes If *you are* concerned about security issues like this, you can try gnome-keyring or kwallet.
Re: Subversion access control
Andy, I thought you were off Apache and onto svnserve. Anyway, I sent you this info last week - maybe you missed it. It is pasted again below. I will grant to you that it is tricky to set up. The david winter blog post below spells it out perfectly... for a single repo setup, multiple users. For multi-user, multi-repo setup see my pasted config files below. One thing to note that is confusing is that if your repos are at /subversion/repos/repo1 your Location /svn stays the same. The /svn bit there is what appears in the URL address bar, its not a filesystem path. I have 10 repositories, project1 through project10, physically located on Ubuntu filesystem at /svn/project1 /svn/project2 ... /svn/project10 Here is my /etc/apache2/mods-available/dav_svn.conf (the comments come with the file. This was installed using apt-get on Ubuntu 10.04 LTS.) Location /svn # Uncomment this to enable the repository DAV svn # Set this to the path to your repository #SVNPath /svn # Alternatively, use SVNParentPath if you have multiple repositories under # under a single directory (/var/lib/svn/repo1, /var/lib/svn/repo2, ...). # You need either SVNPath and SVNParentPath, but not both. SVNParentPath /svn SVNListParentPath on # From http://www.redmine.org/projects/redmine/wiki/Repositories_access_control_with_apache_mod_dav_svn_and_mod_perl #Order deny,allow Deny from all Satisfy any # Access control is done at 3 levels: (1) Apache authentication, via # any of several methods. A Basic Auth section is commented out # below. (2) Apache Limit and LimitExcept, also commented out # below. (3) mod_authz_svn is a svn-specific authorization module # which offers fine-grained read/write access control for paths # within a repository. (The first two layers are coarse-grained; you # can only enable/disable access to an entire repository.) Note that # mod_authz_svn is noticeably slower than the other two layers, so if # you don't need the fine-grained control, don't configure it. # Basic Authentication is repository-wide. It is not secure unless # you are using https. See the 'htpasswd' command to create and # manage the password file - and the documentation for the # 'auth_basic' and 'authn_file' modules, which you will need for this # (enable them with 'a2enmod'). AuthType Basic AuthName Subversion Repository AuthUserFile /etc/apache2/dav_svn.passwd # To enable authorization via mod_authz_svn AuthzSVNAccessFile /etc/apache2/dav_svn.authz # The following three lines allow anonymous read, but make # committers authenticate themselves. It requires the 'authz_user' # module (enable it with 'a2enmod'). #LimitExcept GET PROPFIND OPTIONS REPORT Require valid-user #/LimitExcept /Location Now, here is my /etc/apache2/dav_svn.authz file. [groups] group1 = usera, userb, userc, userd, usere group2 = userc, userb group3 = userf, userg group4 = usera, userb, userc, userd, usere, userf group5 = userh [/] @group1 = rw @group2 = @group3 = @group4 = @group5 = [project1:/] @group1 = rw [project2:/] @group1 = rw userg = rw userf = rw [project4:/] @group1 = rw [project5:/] @group11 = rw [project6:/] @group1 = rw @group5 = rw [project7:/] @group1 = rw [project8:/] @group1 = rw [project9:/] @group1 = rw [project10:/] @group1 = rw @group4 = rw There is no need to send you the dav_svn.passwd - it merely lists usera through userh with their hashed password. You use the htpasswd program to set your users up. Here is the email I sent before... I read (skimmed) all your posts, and I'm a little confused but I think I know where you're going. I'm not sure if you're using Apache to serve your repositories. If you are, you should check out this: http://davidwinter.me/articles/2006/03/03/access-control-for-subversion-with-apache2-and-authz/ and this https://help.ubuntu.com/community/Subversion I recently followed the blog above and got everything setup how I think you want it. You can control user access to multiple repos in three ways, the blog explains it all, except one thing. I found that this is for folder-level control on one repository: [/] @team = r bob = rw [/wowapp/trunk] @team = r @devteam = rw brenda = rw In my authz control file, multiple repositories are done like this (note the repo name and colon): [repoA:/] @team = r bob = rw [repoB:/] @team = r @devteam = rw brenda = rw I also put websvn on it, and use the configuration option $config-useAuthenticationFile('/path/to/your/authz/file'); which I found on this stackoverflow QAhttp://serverfault.com/questions/13853/how-do-i-restrict-repository-access-via-websvn . http://serverfault.com/questions/13853/how-do-i-restrict-repository-access-via-websvn
Re: Subversion: via Apache
Test your config with -t
Re: Subversion: list of respositories
On Sat, Jul 16, 2011 at 11:06 PM, Andy Canfield andy.canfi...@pimco.mobiwrote: ** How do you get a list of repositories from svnserver? The only way I can figure out is: *ssh usern...@example.com sudo bash ls -ld /var/svn/** And, of course, this makes an assumption about where on the server the repositories are located. There 'ought' to be an easier way. Andy, I read (skimmed) all your posts, and I'm a little confused but I think I know where you're going. I'm not sure if you're using Apache to serve your repositories. If you are, you should check out this: http://davidwinter.me/articles/2006/03/03/access-control-for-subversion-with-apache2-and-authz/ and this https://help.ubuntu.com/community/Subversion I recently followed the blog above and got everything setup how I think you want it. You can control user access to multiple repos in three ways, the blog explains it all, except one thing. I found that this is for folder-level control on one repository: [/] @team = r bob = rw [/wowapp/trunk] @team = r @devteam = rw brenda = rw In my authz control file, multiple repositories are done like this (note the repo name and colon): [repoA:/] @team = r bob = rw [repoB:/] @team = r @devteam = rw brenda = rw I also put websvn on it, and use the configuration option $config-useAuthenticationFile('/path/to/your/authz/file'); which I found on this stackoverflow QAhttp://serverfault.com/questions/13853/how-do-i-restrict-repository-access-via-websvn . http://serverfault.com/questions/13853/how-do-i-restrict-repository-access-via-websvn
Re: Doing svn checkouts on top of svn checkouts?????
This is a feature, yes. Subversion does allow your working copy to point to 1 svn path. Sounds a lot like when you use svn:externals. This may be the more standard way of achieving what you're talking about. If you change code in [yourstuff] and [stuff pointing back to external's home] then when you commit (in NetBeans anyway) it will show you a warning about committing to multiple branches. You can also svn update a specific file/dir to a specific (older, non-HEAD) revision, though I've rarely if ever done this. HTH- On Mon, Jul 11, 2011 at 5:08 PM, Nico Kadel-Garcia nka...@gmail.com wrote: I just ran into a fascinating configuration where someone is doing Subversion checkouts on top of existing Subversion checkouts. I'd never even *THOUGHT* of pulling such a stunt, but it's apparently workable. I'm concerned, though, that any change in the source of the Subversion checkout to a branch or tag will simply break things, or any reloaction of the source repository component will also break things. I'm also concerned that, should someone mix and match components inside the working copy manually, things will break in fascinating fashion, or that locally modified components will only be updated, not actually replaced. Has anyone been using this feature? It seems to work to do an svn checkout on top of an existing working copy of the same URL or earlier releases, but I've not tried rolling back the revision number or other games. I could spend a bunch of time checkout out border cases, but would welcome insights.
Re: Doing svn checkouts on top of svn checkouts?????
Oh, I completely agree -- in the vast majority of cases you definitely want to avoid doing it. I'm just explaining why it doesn't throw errors at you. Cheers - (This list is reply-above isn't it?) On Mon, Jul 11, 2011 at 7:00 PM, Nico Kadel-Garcia nka...@gmail.com wrote: On Mon, Jul 11, 2011 at 9:20 PM, Geoff Hoffman ghoff...@cardinalpath.com wrote: This is a feature, yes. Subversion does allow your working copy to point to 1 svn path. Sounds a lot like when you use svn:externals. This may be the more standard way of achieving what you're talking about. If you change code in [yourstuff] and [stuff pointing back to external's home] then when you commit (in NetBeans anyway) it will show you a warning about committing to multiple branches. You can also svn update a specific file/dir to a specific (older, non-HEAD) revision, though I've rarely if ever done this. HTH- I've not seen it documented anywhere. Frankly, I think it's very dangerous due to potential conflicts with accidentally left behind material, especially if svn:ignore is used.
Is it possible to svnsync across platform OS and SVN versions?
Do two SVN servers need to be running identical release versions in order to use svnsync on them? What about the OS? I built an SVN server on Ubuntu server 10.04 LTS, --version says 1.6.6 (r40053) Now my guys want me to mirror it read-only onto a Windows 7 box and since most of the binaries I find to download are for 1.6.17, I figured I'd check with you guys first if this will (should) work. Is there an SVN 1.6.6 binary for Windows 7 64-bit anywhere that you know of? Thanks - Geoff
Re: Trials with memcached
Tony - Strange results to be sure. You probably thought of all this, but... Did you check Memcached is working correctly without Subversion? Did you check the results of checking out or updating the 2nd or 3rd time? In other words, it may take longer the first time because every object in the repo has to be checked for existence/expiry in the cache. Did you check that you gave Memcached enough memory to fit the entire 250mb repo (comfortably) in RAM? If not then memcached itself tries to use swap space? 32-bit or 64-bit VM? Did you try it on physical hardware? On Thu, Jul 7, 2011 at 4:59 PM, Daniel Shahaf d...@daniel.shahaf.namewrote: This doesn't address memcached directly, but there has been a /lot/ of work on server-side optimization and caching in 1.7 (also for non-memcached-backed caches). http://subversion.apache.org/docs/release-notes/1.7#server-performance-tuning You might want to take 1.7.0-alpha3 for a spin... Tony Butt wrote on Wed, Jul 06, 2011 at 15:20:27 +1000: We are running subversion 1.6.17 on a vmware hosted server. We recently reconfigured the server to give 4 virtual CPUs (up from 1), and a significant amount of memory. In order to spruce up our performance a little, I looked into the use of memcached with subversion again, found the correct config parameter, and set it up. Our server is running Ubuntu 10.04, Apache 2.2. Access mechanism is http (of course). The client used is running Ubuntu 11.04, and svn commandline (1.6.17 also) The results were interesting, to say the least. Checkout of a tree, about 250M in size: Without memcached, 1 1/2 to 2 minutes, varies with server load With memcached, 12 minutes (!) Update of the same tree, Without memcached, 9 seconds With memcached, 14 seconds - repeated several times, similar results. I am not sure what anyone else's experience is, but we will not be enabling memcached for subversion any time soon. -- Tony Butt t...@cea.com.au CEA Technologies
Re: svn merge - get the last revision of a file(s)
Rui - I'm not sure I understand what you're asking. Maybe an example would help.
Re: Branching Questions
3. What is the best way to lock the Trunk so only certain users can access it, using Hook Script or using admin tool? use Subversion's built-in path-based authorization or possibly some Apache configuration tweaks I just followed this guide yesterday, coincidentally, and it worked perfectly http://davidwinter.me/articles/2006/03/03/access-control-for-subversion-with-apache2-and-authz/
Re: Moving an existing Repository to a newly created repository
You should be able to use regular old mv on the command line for this. I just did this yesterday and was happily surprised that everything just worked. (Requires svn switch on the client side working copies.) On Fri, Jun 24, 2011 at 11:28 AM, Tech Geek techgeek12...@gmail.com wrote: All our SVN repositories are stored at /var/lib/svn. Let's say we have an existing repository called ProjectA i.e. /var/lib/svn/ProjectA. We created a brand new fresh repository called Projects like this /var/lib/svn/Projects. Now we would like to rename our existing repository ProjectA to simply A and then move it (maintaining all the revisions, prop-changes, etc.) under /var/lib/svn/Projects repository. So before: /var/lib/svn/ /var/lib/svn/ProjectA After: /var/lib/svn/ /var/lib/svn/Projects/A I tried using export/import command and also SVN move command from TSVN client but I am not able to figure out what's is the correct way to do this.
Re: Moving an existing Repository to a newly created repository
On Fri, Jun 24, 2011 at 2:28 PM, Tech Geek techgeek12...@gmail.com wrote: You should be able to use regular old mv on the command line for this. So, svadmin create /var/lib/svn/Projects # Create new repo Projects mv /var/lib/svn/ProjectA A # Rename ProjectA to A and then? how do I move repository A under Projects repository? Actually, trick question -- I was about to say svn copy -- but you can't use svn copy between two different repositories, instead: You use the *svnadmin dump* command to generate the dump data, and *svnadmin load* to populate a new repository with it (see the section called “Migrating a Repository”http://svnbook.red-bean.com/en/1.1/ch05s03.html#svn-ch-5-sect-3.5 ).
Re: branch question
Not in any general sense, no. On Thu, Jun 23, 2011 at 1:27 PM, Phil Pinkerton pcpinker...@gmail.comwrote: Any issues with creating a branch from a branch? no trunk and no merge back to first branch ? Phil
Re: branch question
What I mean by that is, it may have ramifications down the road for *your workflow* (I can't think of any obvious examples), but svn copy [from] [to] works on any path, local or remote, as you would expect. On Thu, Jun 23, 2011 at 1:57 PM, Geoff Hoffman ghoff...@cardinalpath.comwrote: Not in any general sense, no. On Thu, Jun 23, 2011 at 1:27 PM, Phil Pinkerton pcpinker...@gmail.comwrote: Any issues with creating a branch from a branch? no trunk and no merge back to first branch ? Phil
Re: How to setup SVN with HTTPS on Apache for Windows?
Get everything working as a regular http://server/svn/repo then get a cert or self sign (not related to svn) and move your vhost to port 443 (open that port on your firewall if applicable).
Re: xml-aware diff tools?
Try a visual diff tool such as Araxis Merge, Beyond Compare, etc.? On Mon, Jun 20, 2011 at 8:24 AM, Les Mikesell lesmikes...@gmail.com wrote: Are there any tools that would work with subversion to view xml file diffs in a more meaningful way than just the changed lines? -- Les Mikesell lesmikes...@gmail.com
Re: Evil UTF-8 Character in filename in repo causing issues on my wc
On Wed, Jun 15, 2011 at 11:19 PM, Markus Schaber m.scha...@3s-software.comwrote: Hi, Geoff, Von: Geoff Hoffman [mailto:ghoff...@cardinalpath.com] I have a file with some (I believe) Portuguese characters in the filename that someone managed to store in the repo without any problem, and I checked it out without issues, too. However, now on my working copy, it thinks that file is locally new. Maybe it helps if you use a repo browser to rename the file to an ASCII-Only name directly in the repository? That's all I ever really wanted to do, but I cannot, at least, I don't know how to type the characters in the filename of the file in svn without copy-paste from the svn ls terminal output on Mac OS X, which I think has already converted the filename it just printed, so I get a file not found error when I try to rename or delete it. It may have worked if I had ssh'd into the RHEL server, not sure. It's a bit unclear. I thought of some graphical repository browser (like the one built into TortoiseSVN for example, I guess such things also exist for MacOS), it lets you browse the repository and select the file to rename directly in the repository, without the need of a local checkout / working copy. Yeah, if I had more time I probably should fiddle with it. Our one guy here on Windows using Tortoise has no issues with the same file, so it is indeed a problem specific to Mac, as Stefan pointed out. Given that the issue presents itself in Terminal and NetBeans IDE, it's safe to say any other graphical SVN client on Mac would complain, too, but I didn't test it. IIRC the graphical clients are using the command line under the hood.
Re: Evil UTF-8 Character in filename in repo causing issues on my wc
On Thu, Jun 16, 2011 at 11:07 AM, B Smith-Mannschott bsmith.o...@gmail.comwrote: On Thu, Jun 16, 2011 at 18:24, Geoff Hoffman ghoff...@cardinalpath.com wrote: On Wed, Jun 15, 2011 at 11:19 PM, Markus Schaber m.scha...@3s-software.com wrote: Hi, Geoff, Von: Geoff Hoffman [mailto:ghoff...@cardinalpath.com] I have a file with some (I believe) Portuguese characters in the filename that someone managed to store in the repo without any problem, and I checked it out without issues, too. However, now on my working copy, it thinks that file is locally new. Maybe it helps if you use a repo browser to rename the file to an ASCII-Only name directly in the repository? That's all I ever really wanted to do, but I cannot, at least, I don't know how to type the characters in the filename of the file in svn without copy-paste from the svn ls terminal output on Mac OS X, which I think has already converted the filename it just printed, so I get a file not found error when I try to rename or delete it. It may have worked if I had ssh'd into the RHEL server, not sure. It's a bit unclear. I thought of some graphical repository browser (like the one built into TortoiseSVN for example, I guess such things also exist for MacOS), it lets you browse the repository and select the file to rename directly in the repository, without the need of a local checkout / working copy. Yeah, if I had more time I probably should fiddle with it. Our one guy here on Windows using Tortoise has no issues with the same file, so it is indeed a problem specific to Mac, as Stefan pointed out. Given that the issue presents itself in Terminal and NetBeans IDE, it's safe to say any other graphical SVN client on Mac would complain, too, but I didn't test it. IIRC the graphical clients are using the command line under the hood. On Thu, Jun 16, 2011 at 18:24, Geoff Hoffman ghoff...@cardinalpath.com wrote: On Wed, Jun 15, 2011 at 11:19 PM, Markus Schaber m.scha...@3s-software.com wrote: Hi, Geoff, Von: Geoff Hoffman [mailto:ghoff...@cardinalpath.com] I have a file with some (I believe) Portuguese characters in the filename that someone managed to store in the repo without any problem, and I checked it out without issues, too. However, now on my working copy, it thinks that file is locally new. Maybe it helps if you use a repo browser to rename the file to an ASCII-Only name directly in the repository? That's all I ever really wanted to do, but I cannot, at least, I don't know how to type the characters in the filename of the file in svn without copy-paste from the svn ls terminal output on Mac OS X, which I think has already converted the filename it just printed, so I get a file not found error when I try to rename or delete it. It may have worked if I had ssh'd into the RHEL server, not sure. It's a bit unclear. I thought of some graphical repository browser (like the one built into TortoiseSVN for example, I guess such things also exist for MacOS), it lets you browse the repository and select the file to rename directly in the repository, without the need of a local checkout / working copy. Yeah, if I had more time I probably should fiddle with it. Our one guy here on Windows using Tortoise has no issues with the same file, so it is indeed a problem specific to Mac, as Stefan pointed out. Given that the issue presents itself in Terminal and NetBeans IDE, it's safe to say any other graphical SVN client on Mac would complain, too, but I didn't test it. IIRC the graphical clients are using the command line under the hood. Yes, any graphical client working on a *working copy* on the mac would complain too. But, a hypothetical graphical repo browser that operates directly on the repository isn't effected by HFS+'s unicode normalization. // ben Ben, you're right. SVNx doesn't have a rename feature that I could find, but I tried in Versions (demo - w00t) and it worked. Transcript log for repository client [svn+ssh://geoff@mycompany /svn/repos/sites/client/trunk]. Subversion libraries version: 1.6.17 [Jun 16, 12:05:48] Renaming /branches/other/external_docs/Manual_Integração_A_T_2.0.pdf to Manual_Integracao_A_T_2.0.pdf... Committed revision 696 by user geoff. [Jun 16, 12:06:01] Finished operation.
Re: Problem Loading Huge Repository
On Thu, Jun 16, 2011 at 4:05 PM, Bruno Antunes b...@dei.uc.pt wrote: Hi, As part of the work of my PhD thesis I need to load the ASF Subversion repository into my own local repository in order to mine and extract information from the repository without overloading the ASF servers. I have downloaded the repository dump and started loading it into my own repository. But the repository is huge (~45GB), and loading it using 'svnadmin load' will take me days (~15). I tried 'svndumpfilter' to filter out some projects but I get the error 'svndumpfilter: Unsupported dumpfile version: 3'. I'm using 'svndumpfilter' version 1.6.12. Is there any way to overcome this error? Do you know any faster way to load the dump file or to filter out some projects/revisions so I can speed up the process? Thank you in advance. Best regards, Bruno Antunes Just a thought... Do you need the revision history or only the current (head) revision? Guessing if you do not need the revision history then it will be much smaller and faster to svn export their-stuff -r HEAD
Re: Problem Loading Huge Repository
Um... separate revision range at a time... -r 6000:HEAD ? only individual directories at a time... path/to/dir -r 6000:HEAD ? Or... This is a bit out there but you could spin up and install subversion on a 4XL amazon EC2 instance, import it on this very, very fast (virtual) machine, then the moment it is done, tar up the repository directory, download it and use that... with that said that will probably be fairly expensive to do but it will save you a lot of time. If money is no object get a maxed out quad G5 with 64GB of memory. The ASF will fit in ram. There's a financial solution to every problem. On Thu, Jun 16, 2011 at 5:08 PM, Bruno Antunes b...@dei.uc.pt wrote: On Jun 17, 2011, at 24:59 , Geoff Hoffman wrote: On Thu, Jun 16, 2011 at 4:05 PM, Bruno Antunes b...@dei.uc.pt wrote: Hi, As part of the work of my PhD thesis I need to load the ASF Subversion repository into my own local repository in order to mine and extract information from the repository without overloading the ASF servers. I have downloaded the repository dump and started loading it into my own repository. But the repository is huge (~45GB), and loading it using 'svnadmin load' will take me days (~15). I tried 'svndumpfilter' to filter out some projects but I get the error 'svndumpfilter: Unsupported dumpfile version: 3'. I'm using 'svndumpfilter' version 1.6.12. Is there any way to overcome this error? Do you know any faster way to load the dump file or to filter out some projects/revisions so I can speed up the process? Thank you in advance. Best regards, Bruno Antunes Just a thought... Do you need the revision history or only the current (head) revision? Guessing if you do not need the revision history then it will be much smaller and faster to svn export their-stuff -r HEAD I need the entire revision history, because I need to extract historical information from the repository. But I could use the revision history from specific projects only, I don't need the entire repository, which contains all the ASF projects. The problem is I can filter these projects in the dump file. Best regards, Bruno Antunes
Re: Evil UTF-8 Character in filename in repo causing issues on my wc
On Tue, Jun 14, 2011 at 11:36 PM, Markus Schaber m.scha...@3s-software.comwrote: Hi, Geoff, Von: Geoff Hoffman [mailto:ghoff...@cardinalpath.com] I have a file with some (I believe) Portuguese characters in the filename that someone managed to store in the repo without any problem, and I checked it out without issues, too. However, now on my working copy, it thinks that file is locally new. Maybe it helps if you use a repo browser to rename the file to an ASCII-Only name directly in the repository? Regards, Markus Schaber That's all I ever really wanted to do, but I cannot, at least, I don't know how to type the characters in the filename of the file in svn without copy-paste from the svn ls terminal output on Mac OS X, which I think has already converted the filename it just printed, so I get a file not found error when I try to rename or delete it. It may have worked if I had ssh'd into the RHEL server, not sure. It's a bit unclear. I was able to simply export the files, rename the files to ascii filenames outside of SVN, trash the containing folder from the rep, recreate it, check it out empty, add the ascii named files, and re-commit.
Re: For Siebel
On Wed, Jun 15, 2011 at 3:06 PM, Mudumbai, Venkat venkat.mudum...@mercer.com wrote: Hi, We are planning to user SUBVERSION TortoiseSVN for our Siebel Tools as a source control tools. Siebel development using tools, as it is a a object based environment, where in we checkout and check in the several objects like applets,buscomps,picklist,links etc. okay... In my previous project we used VSS as the version control tools. In this when we check in a sif of the object checked in is created in the VSS Server. I don't know what a sif is but SVN will store text and/or binary files under version control without any problems. Siebel itself has a lock on the object created when an object is checkout. All we want is to know if the copy of the sif's whenever they are checked can be stored in Subversion, with details like who has checkedin, when it was cecked in. Yes, that is exactly what it does. Here's some sample log output, gotten via command line: svn log --verbose svn+ssh://path-to-server/svn/repos/sites/client r279 | fredjones | 2011-04-26 17:10:40 -0700 (Tue, 26 Apr 2011) | 1 line Changed paths: M /sites/client/www/.htaccess M /sites/client/www/application/frontend/controllers/main.php M /sites/client/www/application/frontend/views/footer.php M /sites/client/www/application/frontend/views/header.php A /sites/client/www/application/frontend/views/menu.php D /sites/client/www/application/frontend/views/promotions.php Changed the .htaccess file and made the template modular. With this, you can see on Apr 26, fredjones modified 4 files, added one, and deleted one Also want to know how many versions of an object can be stored. Limited only by hard drive space where your repo is stored. Siebel is not a typical programming language. There's no such thing as a typical programming language. My question is : Can we use this SUBVERSION as a version control tools for our siebel tools. Please let me know as soon as possible as we are planning to install this s/w and do the set up as soon as possible. I don't see why not. Regarding this part: Siebel itself has a lock on the object created when an object is checkout. The only thing is if you need Subversion to *not let Developer B checkout file X if Developer A already has it checked out*... I'm not sure it will do that. SVNt, by default, does not prevent checkout by Developer B. It expects you to instead merge manually, and expects you (the svn repository administrator, lead developer, etc) will do that part. If both Developer B and A checkout file X and they both modify it, the person who checks in first, gets their code into the repo without issue. The second developer probably will get a commit failure, with a message that his working copy is not up to date. He then has to merge his changes into the version in the repository, which is newer than what he checked out (because it was modified by the other developer's commit). It's not terribly difficult to manage merged code, but it is not a check-in-check-out system it is a version control system. I hope that helps - good luck.
Re: Questions
Why remove the Id keyword? Just delete the file (not svn delete, OS level delete) then svn up. On Mon, Jun 13, 2011 at 11:08 PM, Lorenz loren...@yahoo.com wrote: Richard Cavell wrote: [...] How do I get my $Id$ back? if there are no local changes to the file, you can just remove the svn:keywords property, delete the file and then perform an update on the wc. That will give you the state of the $Id$ keyword as it was initialy committed. -- Lorenz -- Geoff Hoffman Solutions Architect LAMP Engineer Website: www.cardinalpath.com Email: ghoff...@cardinalpath.com Office: (480) 285-1622 x313 Mobile: (480) 231-8323
Re: More questions
It's only a bad idea to use svn:externals if you don't know what they're for and don't want to invest the time to learn. If you do not want multiple copies of code, for instance, a library shared by more than one app, then it is not only smart, it's the best (only) way to do it. If you only are going to ever put 1 application in your SVN repository you don't need them. If you never are going to share code between 1 application in SVN, you don't need them. My $0.02. I have some great examples for you. I do websites using a couple different frameworks. Both frameworks have CMS's built for the back end. Both backends use TinyMCE or CKEditor. All my apps also send email. Therefore I have 1 repo with CKEditor, 1 repo with TinyMCE, and 1 repo with SwiftMailer. All the web apps in their own repos reference these libraries via svn:externals, and it works great. On Tue, Jun 14, 2011 at 12:34 PM, Stefan Hett ste...@egosoft.com wrote: Hi, More noob questions about svn... 1. Is using externals a good idea? I've been told that it's generally a bad idea, and it feels to me like a bad idea, since it obfuscates what's going on in the repo. Is it often done for professional projects? It depends on the use-case. There are situations where using externals are beneficial, but there are also several caveats related to externals. One real-life example we in our company had trouble with was with a 1.6 repository where we wanted to replace externals with a real copy of the source (i.e. remove the external property and copy the real source to the folder). That lead to tree conflicts when merging/updating WCs/branches and took a lot more time than anticipated. That was especially a PITA since these externals weren't actually necessary in the first place. You might wanna check-out the issues related to externals which might give you a rough feeling of known bugs (search for external in the summary and optionally limit the search to issues for 1.6.x) http://subversion.tigris.org/issues/query.cgi Several of the known issues with externals have been dealt with in the upcoming 1.7 release, so things will improve with the next version beyond what has already been solved in the 1.6-branch. Another caveat of externals is that they are generally slower when doing an update, since each external has to be checked individually to verify wheter it's up-to-date in the WC. I tend to live with a rule of thumb here: Use externals where necessary, avoid them where possible. Regards, Stefan
Evil UTF-8 Character in filename in repo causing issues on my wc
I have a file with some (I believe) Portuguese characters in the filename that someone managed to store in the repo without any problem, and I checked it out without issues, too. However, now on my working copy, it thinks that file is locally new. I did an svn copy ok, but I can't seem to delete the evil one. Thinking I can probably whack the directory completely and rebuild it, but thought I'd mention it because I'm not sure if its a bug or a misconfigured SVN server / client. Netbeans is barfing on another one in a different directory: Can't convert string from native encoding to 'UTF-8': Brazil Air Plus XML Vers?\139o 2.0 .pdf Even Terminal is having trouble: MacbookPro:ClearSale geoffh$ ls -la total 2160 drwxr-xr-x 8 geoffh staff 272 Jun 14 16:09 . drwxr-xr-x 6 geoffh staff 204 Jun 13 21:26 .. drwxr-xr-x 7 geoffh staff 238 Jun 14 16:09 .svn -rw-r--r-- 1 geoffh staff 705463 Jun 13 21:26 Integration_Manual_2.3.pdf -rw-r--r-- 1 geoffh staff 127377 Jun 14 16:09 Manual_Integração_A_T-ClearSale_2.0.pdf MacbookPro:ClearSale geoffh$ svn delete --force Manual_Integração_A_T-ClearSale_2.0.pdf MacbookPro:ClearSale geoffh$ svn status ! Manual_Integração_A_T-ClearSale_2.0.pdf MacbookPro:ClearSale geoffh$ ls -la total 1904 drwxr-xr-x 7 geoffh staff 238 Jun 14 16:11 . drwxr-xr-x 6 geoffh staff 204 Jun 13 21:26 .. drwxr-xr-x 7 geoffh staff 238 Jun 14 16:11 .svn -rw-r--r-- 1 geoffh staff 705463 Jun 13 21:26 Integration_Manual_2.3.pdf -rw-r--r-- 1 geoffh staff 127377 Jun 14 16:04 Manual_Integracao_A_T-ClearSale_2.0.pdf MacbookPro:ClearSale geoffh$ svn status ! Manual_Integração_A_T-ClearSale_2.0.pdf MacbookPro:ClearSale geoffh$ svn commit . -m Fixing evil PDF MacbookPro:ClearSale geoffh$ svn status ! Manual_Integração_A_T-ClearSale_2.0.pdf MacbookPro:ClearSale geoffh$ Now in NetBeans I get: /Users/geoffh/Sites/zupper.ghoffman/external_docs/ClearSale/Manual_Integrac?a?o_A_T-ClearSale_2.0.pdf: (Not a versioned resource) A problem occurred; see other errors for details If I svn up it restores the evil file: MacbookPro:ClearSale geoffh$ svn up Restored 'Manual_Integração_A_T-ClearSale_2.0.pdf' At revision 681. Basically I can't delete or svn delete the offending file and successfully commit. Running Subversion 1.6.11 on RHEL 5.6
Re: Subversion 1.6 on Ubuntu Server 11.x
On Sat, Jun 11, 2011 at 8:27 AM, Nico Kadel-Garcia nka...@gmail.com wrote: On Fri, Jun 10, 2011 at 6:26 PM, Geoff Hoffman ghoff...@cardinalpath.com wrote: I posted about this on the Ubuntu forums but thus far nobody has replied. When SSH'd into the box and using svn operations, I'm getting the dastardly warning about my password is going to get stored to disk unencrypted. I read about Subversion 1.6 security changes. I read about Subversion 1.6 on Ubuntu Server over at superuser.com. I read about gnome-keyring over at stackoverflow. I've been doing a lot of reading on it. I have done the following: * installed gnome-keyring *edited my ~/.subversion/config to turn password-stores = gnome-keyring edited my ~/.subversion/servers to store-passwords = yes store-plaintext-passwords = no Thing is, I'm not using any GUI so it's still not working. Should I try encfs ? I read another post about a tool from CollabNet called keyring_tool but I don't have it on this system. Where do I get that? I've never run into these issues before (new distro, new svn version). Any additional insight would be very much appreciated. I have *never* gotten the gnome keyrings working well with Subversion. I'm afraid there are a lot of subtly distinct implementations of the necessary toolchain out therem abd the lot of them tend to be pretty fragile. Hmm. Frankly, I find it more effective, and safer, to use SSH keys and a key agent as necessary, with a key specifically dedicated to the SVN access. This can be mandated with SVN_SSH='ssh -l username -i keyname' to avoid using other keys. I don't mind doing this, but is this something that goes in .bash_profile? And would I then use svn+ssh://localhost/svn/repo/etc instead of http://localhost/svn/repo/etc? The stored SSH public keys on the remote server can even be set to restrict access to only svnserve tunneling, even to read-only access. Coupled with the kind of single svn user account setup described in passing in the Red Book, it's a better security model than giving all SVN clients shell access to the server.
Subversion 1.6 on Ubuntu Server 11.x
I posted about this on the Ubuntu forums but thus far nobody has replied. When SSH'd into the box and using svn operations, I'm getting the dastardly warning about my password is going to get stored to disk unencrypted. I read about Subversion 1.6 security changeshttp://blogs.collab.net/subversion/2009/07/subversion-16-security-improvements/ . I read about Subversion 1.6 on Ubuntu Server over at superuser.comhttp://superuser.com/questions/186575/whats-the-best-way-to-store-an-encrypted-svn-password-on-ubuntu-server . I read about gnome-keyring over at stackoverflowhttp://stackoverflow.com/questions/3824513/svn-encrypted-password-store . I've been doing a lot of reading on it. I have done the following: * installed gnome-keyring *edited my ~/.subversion/config to turn password-stores = gnome-keyring edited my ~/.subversion/servers to store-passwords = yes store-plaintext-passwords = no Thing is, I'm not using any GUI so it's still not working. Should I try encfs ? I read another post about a tool from CollabNet called keyring_tool but I don't have it on this system. Where do I get that? I've never run into these issues before (new distro, new svn version). Any additional insight would be very much appreciated.
Re: can I checkout only a revision files ?
On Wed, Oct 20, 2010 at 09:17, Andrea Antonio Maleci a.mal...@iwbank.it wrote: Is it possible to checkout only files (not patch, but entire files) from a specific revision ? From: Andy Levy [mailto:andy.l...@gmail.com] Yes, use the --revision option for svn co. Andrea Antonio Maleci a.mal...@iwbank.it wrote: It retrieves entire repository at specified revision, not only the modified one... Right, As others have said, you cannot 'svn co' files, you can only checkout directories. The ability to export files exists, but to export only modified files is not built in, either. I've been trying to learn Bash scripting better and wrote the following. If you're on Windows, install Cygwin. It may not be exactly what you want, because it exports the files instead of checking them out. You have to do something like... svn log --verbose -r 2345 | grep M files.txt ...then something like... (vi svncomod.sh) #!/bin/bash FILE=$1 REPO=$2 while read line do for ARG in $line; do F=${ARG} if [ $F != M ] then echo ${REPO}${F} svn export ${REPO}${F} fi done done ${FILE} ... then... chmod +x svncomod.sh ...and finally... svncomod.sh files.txt http://path-to/repo
svn:externals and local directories
Hi SVN, We're stuck for the time being with server 1.4.2 but have updated our svn client(s) on Windows PCs (most of use Cygwin, CollabNet command line client and Tortoise) periodically over the last year or two. About 7 or 8 months ago, we began using svn:externals heavily. At the time, I could've sworn we got errors when trying to tell an external to stream in to a subdirectory that didn't exist, e.g. our svn:externals on /app/trunk looks like this, for an arbitrary web app: modules/foo http://server/repo/path/to/foo/tags/01 modules/bar http://server/repo/path/to/bar/tags/02 modules/baz http://server/repo/path/to/baz/tags/03 In order for this to work, we had to create an empty `modules` folder under /app/trunk otherwise checking out would fail for foo, bar and baz externals. Well, we recently hired some new people and started seeing modules folders disappearing from the repository. Nobody's complaining about breakage... and so we did some tests and realized that the client can create folders at arbitrary depths when building the path necessary for an external. Can someone confirm this was changed recently for svn client? Otherwise I think I'm losing my mind because I swear this was not possible before. I tried to find the release notes for the different versions on the collabnet site but was unsuccessful. One other question about svn:externals. If you change or delete the local paths you're pointing your externals to, it leaves stray folders from before in the wc. Is this a bug or the intended behavior? Manually deleting these folders (not svn delete) works fine, but is there any more automated, foolproof way to check to see whether a certain tree in a wc has no reason for being there? (eg the external that created it it is no longer there?) specifically: svn propset svn:externals modules/foo http://server/repo/path/to/foo/tags/03 svn up svn propset svn:externals modules/bar http://server/repo/path/to/bar/tags/02 svn up svn ls modules/foo modules/bar Why does foo stick around? Thanks, Geoff
Re: Managing modifications to an open source product
Dan, This isn't that much help but are you aware that svn export is exactly the same as svn checkout run a script to delete all the .svn folders ...? The problem with stripping .svn from vendor checkout is then you cannot update it; you're forced to export the whole tree every time. The method of having a working copy somewhere pointing to the vendor files, that you can svn update whenever you like, and then diff the changes into your tree is the easiest way to accomplish what you want, I think. What I would recommend is that you have two branches for this (plus trunk of your code): [your stuff] = trunk-working-copy [their stuff] = from-vendor-svn [intermediate] = svn copy [your stuff -r HEAD] Then at any time you can: svn up [their stuff] svn copy [your stuff] = [intermediate] (so you can do your diff/merge to an intermediate branch) test on [intermediate] if it passes merge it to trunk, delete [intermediate] Bear in mind, not sure what OS you're on, but e.g. on Windows using Araxis merge, merging two or three trees is far (several orders of magnitude) simpler than using svn diff. HTH, Geoff
Subversion Metadata Database Schema
I was wondering if anyone knows of a database schema that exists, preferably for MySQL, which would support all or most of subversion repository metadata? Specifically I was thinking of the current difficulty we have in knowing things like: - how many commits has user U done over the past month - what trees did user U work on last week - which trees have a deploy tag - which trees are tagged with svn:external to path x/y - what files changed inside a subtree from -r A:B The only way I know of to get this information is svn log --verbose | grep some-keyword, however walking a large repository tree takes a lot of time and this requires advanced SVN knowledge. I was thinking of making a cron script, or a post-commit hook, which would add svn metadata to a mysql db so we can make searches against the svn metadata database instantaneous, and create a search UI for non-technical people to perform searches without command line svn experience. I figured a project like this would exist, but I searched both tigris.org projects and the archives and came up empty handed. TIA, Geoff
Re: Two trunks in one repository?
We have hundreds of trees, each with their own trunk/ branches/ tags/ in one SVN repo. Works great. You may want to look at svn:externals. It may require re-thinking how you're using SVN a bit, but the payoff can be big. Basically you branch or tag anything shared, and load it into ProjectD using cd ProjectD svn propset svn:externals local/path path/to/trunk_branch_or_tag When you change files under path/to/trunk_branch_or_tag and svn up ProjectD, changes come streaming in. HTH, Geoff - Original Message - From: Tech Geek techgeek12...@gmail.com To: Subversion Users users@subversion.apache.org Sent: Thursday, September 9, 2010 10:38:51 AM Subject: Two trunks in one repository? So the concepts of trunks, branches, tags are transparent to SVN. We are in a situation where we might need to have two trunks in one SVN repository. The reason is that we have a family of projects - say ProjectA, ProjectB, ProjectC and so on, each one has it's own repository and have just one trunk (normal setup) since the each of these project has just one part. But now let's say we have a ProjectD which has two sub-systems - PartA and PartB whose code is 95% different. So we are thinking to have two trunks inside the ProjectD repository. We would prefer not to create an individual repository for PartA and PartB because we have decided to categorize each of the repository based on the family of Projects - ProjectA, ProjectB, ProjectC, ProjectD. Just wanted to know to get some thoughts from the experts on this mailing list regarding this setup. Any gotachs I need to watch out for? Thanks!
Re: Two trunks in one repository?
SVN won't care, but our IDE may not like it like that. The only reason I brought up svn:externals before is if PartA and PartB are already in SVN as their own repos (or trees under one repo) then ProjectD doesn't want a copy of those projects code, but rather a reference to them. Thus, on ProjectD you'd have svn propset svn:externals PartA ProjectA/tags/tagA1 PartB ProjectB/tags/tagB1 When you commit and update this, new folders appear (PartA and PartB) from svn checkout of tagA1 and tagB1 respectively. Update those tags or change externals to new tag, and your ProjectD gets the update at next svn up. - Original Message - From: Tech Geek techgeek12...@gmail.com To: Erik Andersson kir...@gmail.com Cc: Geoff Hoffman geoff.hoff...@jawa.com, users@subversion.apache.org Sent: Thursday, September 9, 2010 1:23:27 PM Subject: Re: Two trunks in one repository? I am thinking something like this: ProjectD ProjectD/PartA/trunk ProjectD/PartA/tags ProjectD/PartA/branches ProjectD/PartB/trunk ProjectD/PartB/tags ProjectD/PartB/branches Beleive me or not in our scenario the code of Part A and Part B never gets merged at any point. The only common part is that at the end of each release of Part A and Part B their output file is concetenated into a one single file which is then programmed on a hardware part by an external tool. So for a scenario like that I would like to keep it very simple. Any feedback or comments regarding the above structure? Thanks!