r11746 - /website/subversion.pod

rra at users.alioth.debian.org rra at users.alioth.debian.org
Thu Dec 27 00:27:52 UTC 2007


Author: rra
Date: Thu Dec 27 00:27:52 2007
New Revision: 11746

URL: http://svn.debian.org/wsvn/?sc=1&rev=11746
Log:
Mention ssh as a program that we use.

Move the reference to hints and tips to the top of importing source to
make it more apparent, and fix the cross-reference.

Remove all user@ qualifications from the Subversion URLs since they
don't work well with the new property-based svn-buildpackage
configuration.  Add a new section to Hints and Tips explaining how to
tell ssh what your username on svn.debian.org is.

Modified:
    website/subversion.pod

Modified: website/subversion.pod
URL: http://svn.debian.org/wsvn/website/subversion.pod?rev=11746&op=diff
==============================================================================
--- website/subversion.pod (original)
+++ website/subversion.pod Thu Dec 27 00:27:52 2007
@@ -58,6 +58,12 @@
 The tool you will mostly be using is B<svn>.  This is the tool similar to
 B<cvs> in that it is used to add files, remove files, move files, etc.  It is
 also used for check-out, export, and commit commands, amongst others.
+
+=item ssh
+
+The Perl Group Subversion repository is hosted by svn.debian.org, which only
+allows commit access via C<ssh>.  C<svn> will use C<ssh> to connect to
+svn.debian.org.
 
 =back
 
@@ -99,18 +105,20 @@
 
 =head1 3. Initial Upload
 
+You might want to upload your public DSA key to the SVN server before starting
+this procedure.  You may also need to do some C<ssh> setup if your local
+username is different than your svn.debian.org username.  See L</"8. Hints and
+Tricks">.
+
 The upload procedure is simple.  Once you have the source to the package
 (C<.orig.tar.gz>, C<.diff> and C<.dsc>), all you have to do is:
 
     svn-inject -l 2 \
         libfile-touch-perl_0.04-1.dsc \
-        svn+ssh://user@svn.debian.org/svn/pkg-perl/
+        svn+ssh://svn.debian.org/svn/pkg-perl/
 
 Other useful options might be "-c 0" (don't check out anything) and "-t
 trunk/tarballs" (put .orig.tar.gz in directory trunk/tarballs).
-
-You might want to upload your public DSA key to the SVN server before starting
-this procedure, see L</"7. Hints and Tricks">.
 
 svn-inject will now start doing the following:
 
@@ -133,8 +141,8 @@
 as long as "our" releases are tagged properly.
 
     svn copy \
-        svn+ssh://user@svn.debian.org/svn/pkg-perl/trunk/libfile-touch-perl/ \
-        svn+ssh://user@svn.debian.org/svn/pkg-perl/tags/libfile-touch-perl/0.04-1
+        svn+ssh://svn.debian.org/svn/pkg-perl/trunk/libfile-touch-perl/ \
+        svn+ssh://svn.debian.org/svn/pkg-perl/tags/libfile-touch-perl/0.04-1
 
 More about tagging later.
 
@@ -145,7 +153,7 @@
 If we wanted to check out a release for building, we would carry out the
 following command:
 
-    svn co svn+ssh://user@svn.debian.org/svn/pkg-perl/trunk/libcgi-safe-perl/ .
+    svn co svn+ssh://svn.debian.org/svn/pkg-perl/trunk/libcgi-safe-perl/ .
 
 This checks out the trunk into the current directory.  (Alternatively, you might
 choose to keep all of trunk/ checked out.)  Now, type:
@@ -192,14 +200,14 @@
 
 This is a little trickier than building the trunk.  First check out the tag:
 
-    svn co svn+ssh://user@svn.debian.org/svn/pkg-perl/tags/libcgi-safe-perl/0.04-1 \
+    svn co svn+ssh://svn.debian.org/svn/pkg-perl/tags/libcgi-safe-perl/0.04-1 \
         libcgi-safe-perl_0.04-1
 
 Now, if we want a full build, we need the sources.  Therefore, we have to sort
 of hack around some limitations of svn-buildpackage.  We need to add a line to
 C<libcgi-safe-perl_0.04-1/.svn/deb-layout>:
 
-    upsCurrentUrl=svn+ssh://user@svn.debian.org/svn/pkg-perl/branches/upstream/libnet-imap-simple-perl/0.93
+    upsCurrentUrl=svn+ssh://svn.debian.org/svn/pkg-perl/branches/upstream/libnet-imap-simple-perl/0.93
 
 This enables svn-buildpackage to find upstream sources correctly.
 
@@ -239,8 +247,8 @@
 In case you need or want to create a tag manually, it works like this:
 
     svn copy \
-        svn+ssh://user@svn.debian.org/svn/pkg-perl/trunk/libfile-touch-perl/ \
-        svn+ssh://user@svn.debian.org/svn/pkg-perl/tags/libfile-touch-perl/0.04-1
+        svn+ssh://svn.debian.org/svn/pkg-perl/trunk/libfile-touch-perl/ \
+        svn+ssh://svn.debian.org/svn/pkg-perl/tags/libfile-touch-perl/0.04-1
 
 You don't need a check-out of the SVN tree to do this.  It even works faster if
 you don't have one.  It can execute these commands over the network.
@@ -248,8 +256,8 @@
 You can tag an older revision by using the C<-r> switch:
 
     svn copy -r 53 \
-        svn+ssh://user@svn.debian.org/svn/pkg-perl/trunk/libfile-touch-perl/ \
-        svn+ssh://user@svn.debian.org/svn/pkg-perl/tags/libfile-touch-perl/tag_we_forgot
+        svn+ssh://svn.debian.org/svn/pkg-perl/trunk/libfile-touch-perl/ \
+        svn+ssh://svn.debian.org/svn/pkg-perl/tags/libfile-touch-perl/tag_we_forgot
 
 =head2 5.3 Working with tags
 
@@ -257,7 +265,7 @@
 the directory you copied earlier.
 
     svn export \
-        svn+ssh://user@svn.debian.org/svn/pkg-perl/tags/libfile-touch-perl/0.04-1 \
+        svn+ssh://svn.debian.org/svn/pkg-perl/tags/libfile-touch-perl/0.04-1 \
         libfile-touch_0.04-1
 
 Now, dpkg-buildpackage away!
@@ -357,6 +365,26 @@
 To avoid typing even the public key passphrase you may want to run SSH agent
 (see L<ssh-agent(1)>, included in the openssh-client package).
 
+=item What if your svn.debian.org username is different than your local username
+
+The URLs used above for C<svn> commands assume that your username on
+svn.debian.org is the same as your local username.  If this is not the case,
+you can put C<user@> in front of svn.debian.org in all of the URLs, but this
+will cause problems with the current C<svn-buildpackage>.  It uses properties
+stored in the repository to find URLs, and of course those properties don't
+have any specific usernames in them.
+
+You can solve this problem with your local C<ssh> configuration, however.
+Edit F<~/.ssh/config> (creating it if you don't already have it) and add a
+stanza for svn.debian.org like:
+
+    Host svn.debian.org
+        User <user>
+
+replacing <user> with your username on svn.debian.org.  This will tell C<ssh>
+to use that username by default when connecting to svn.debian.org unless
+another is specified, and will let you use C<svn> with the default URLs.
+
 =item How to not build directly under C<trunk/package/../build-area/>
 
 You might choose to check out all of C<trunk/>, this seems to be a common practice. 
@@ -397,6 +425,8 @@
 
 =item * Joey Hess
 
+=item * Russ Allbery <rra at debian.org>
+
 =back
 
 =head1 License




More information about the Pkg-perl-cvs-commits mailing list