Buildout + svn:externals for different users - how?
Hi, We are two people who work at the same project (with the same buildout). I have SVN write access to svn.zope.org, my colleague does not (which is o.k. as he does not need to). As I need to develop some SVN packages from svn.zope.org, I'd like to put them in my buildout/src tree and reference them via svn:externals. However, I need to specify the SVN via "svn+ssh://myusername@svn.zope.org/...". If I do so, my colleague cannot use the buildout. Modifying the .ssh/config with Host svn.zop.org USER does also not work as he has no user. What's a suitable solution to this? Maybe it's possible to create a dummy/guest user at svn.zope.org that has no write access? Best Regards, Hermann -- hermann@qwer.tk GPG key ID: 299893C7 (on keyservers) FP: 0124 2584 8809 EF2A DBF9 4902 64B4 D16B 2998 93C7
On Tue, Sep 16, 2008 at 7:03 AM, Hermann Himmelbauer <dusty@qwer.tk> wrote:
Hi, We are two people who work at the same project (with the same buildout). I have SVN write access to svn.zope.org, my colleague does not (which is o.k. as he does not need to).
As I need to develop some SVN packages from svn.zope.org, I'd like to put them in my buildout/src tree and reference them via svn:externals. However, I need to specify the SVN via "svn+ssh://myusername@svn.zope.org/...". If I do so, my colleague cannot use the buildout.
If you use "svn://svn.zope.org/..." as the target for the externals, then he will be able to check them out. However, you won't be able to make commits from those checkouts without using "svn switch --relocate" first to switch to the svn+ssh URL. That being said, externals are almost universally hated (for various and sundry reasons). You'd probably be better off using packaged versions (either releases or self-packaged). Also, setuptools has some capacity to install packages directly from Subversion that might help: http://peak.telecommunity.com/DevCenter/setuptools#managing-continuous-relea.... -- Benji York Senior Software Engineer Zope Corporation
On Tue, Sep 16, 2008 at 01:03:43PM +0200, Hermann Himmelbauer wrote:
We are two people who work at the same project (with the same buildout). I have SVN write access to svn.zope.org, my colleague does not (which is o.k. as he does not need to).
As I need to develop some SVN packages from svn.zope.org, I'd like to put them in my buildout/src tree and reference them via svn:externals. However, I need to specify the SVN via "svn+ssh://myusername@svn.zope.org/...". If I do so, my colleague cannot use the buildout.
Modifying the .ssh/config with Host svn.zop.org USER
does also not work as he has no user.
What's a suitable solution to this?
Use anonymous SVN in svn:externals (svn://svn.zope.org/...). Then, if you find that you need to modify something (usually when svn commit aborts with an error), do a quick svn switch to the svn+ssh URL, commit, then switch back. I have a couple of scripts for this: mg@platonas:~ $ cat bin/switch-to-readonly #!/bin/bash # Switch between svn://... and svn+ssh://... in subversion sandboxes [ -d .svn ] || { echo "This is not a subversion working directory." 1>&2 exit 1 } url=`svn info $1|grep URL|cut -d ' ' -f 2-` schema=${url%%://*} rest=${url#*://} [ "$schema" != "svn+ssh" ] && { echo "Repository URL doesn't begin with svn+ssh://" exit 1 } newurl=svn://$rest svn switch --relocate $url $newurl $1 mg@platonas:~ $ cat bin/switch-to-editable #!/bin/bash # Switch between svn://... and svn+ssh://... in subversion sandboxes [ -d .svn ] || { echo "This is not a subversion working directory." 1>&2 exit 1 } url=`svn info $1|grep URL|cut -d ' ' -f 2-` schema=${url%%://*} rest=${url#*://} [ "$schema" != "svn" -a "$schema" != "http" ] && { echo "Repository URL doesn't begin with svn:// or http://" exit 1 } svn switch --relocate $url svn+ssh://$rest $1 Marius Gedminas -- A programmer started to cuss Because getting to sleep was a fuss As he lay there in bed Looping 'round in his head was: while(!asleep()) sheep++;
I suggest using svn, rather that svn+ssh and then manually switching to svn+ssh in your own sandbox when you need to make a change. JIm On Sep 16, 2008, at 7:03 AM, Hermann Himmelbauer wrote:
Hi, We are two people who work at the same project (with the same buildout). I have SVN write access to svn.zope.org, my colleague does not (which is o.k. as he does not need to).
As I need to develop some SVN packages from svn.zope.org, I'd like to put them in my buildout/src tree and reference them via svn:externals. However, I need to specify the SVN via "svn+ssh://myusername@svn.zope.org/...". If I do so, my colleague cannot use the buildout.
Modifying the .ssh/config with Host svn.zop.org USER
does also not work as he has no user.
What's a suitable solution to this? Maybe it's possible to create a dummy/guest user at svn.zope.org that has no write access?
Best Regards, Hermann
-- hermann@qwer.tk GPG key ID: 299893C7 (on keyservers) FP: 0124 2584 8809 EF2A DBF9 4902 64B4 D16B 2998 93C7 _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
-- Jim Fulton Zope Corporation
participants (4)
-
Benji York -
Hermann Himmelbauer -
Jim Fulton -
Marius Gedminas