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