5059
Comment: badly worded, but hopefully clears that bit up (i was confused)
|
5101
an indicator of svn checkout size
|
Deletions are marked like this. | Additions are marked like this. |
Line 61: | Line 61: |
Then run "mr checkout", which will checkout the svn repository into ~/src/packages/games. | Then run "mr checkout", which will checkout the svn repository into ~/src/packages/games. The checkout will be approximately 120MB. |
Contents
The Debian Games Team currently uses either git or svn to help in maintaining packages. This page will help you get started in using either git or svn repositories.
Scheme
Most of the packages are independent from each other. In svn, a [trunk,tags,branches}/<package> scheme is used with only the debian directory stored. The .orig.tar.gz files in such a case are stored in /var/lib/gforge/chroot/home/groups/pkg-games/htdocs/tarballs in the alioth servers. They can be accessed online at http://pkg-games.alioth.debian.org/tarballs. In git, each package has it's own repository. The contents of the orig tarball are stored directly within each package's repository, inside the 'upstream' branch. The pristine-tar program can be used to regenerate an orig tarball from the upstream branch.
Setting up
The first thing to do is get an account on alioth.debian.org. Visit the following link.
The next step is to join the team. Visit the Alioth page for the team and click on "request to join".
Next, you will need an ssh key for each computer you plan on working on packages with. If you don't have a key on a particular system, create one.
$ ssh-keygen
This should have created an RSA key for SSH protocol 2 by default. Upload the contents of your public keys (~/.ssh/id_rsa.pub) to your account in Alioth. To do this, copy the contents of each public key for your machines and paste them at the following link.
Next, create an SSH configuration file (~/.ssh/config) for your user profile to work with the alioth servers. Here's how to do the following in a terminal session.
$ cat >>~/.ssh/config <<EOF Host svn.debian.org User <username> Host git.debian.org User <username> Host alioth.debian.org User <username> EOF
Now you should be able to logon from each of your machines by doing the following.
$ ssh svn.debian.org $ ssh git.debian.org $ ssh alioth.debian.org
Note: There's usually a one hour delay when uploading your ssh public keys. During this delay, you can still login with your password.
mr
The mr command can be used to checkout, update, and commit to multiple repositories. In the pkg-games svn repository, is a packages/trunk/mrconfig/.mrconfig file that configures mr for all the repositories used by the games team.
New git repositories should be added to this .mrconfig file.
To use it, install the mr package, and create a ~/.mrconfig file letting mr know about the pkg-games svn repository. In this example, it will be checked out to ~/src/packages/games, but you can modify to suit. If you already have a pkg-games svn checkout, you can change the directory to point to that. Note that the last field on the 'checkout' line ('games' in this instance) should match the last field of the configuration path ('src/packages/games').
[src/packages/games] chain = true checkout = svn co svn+ssh://svn.debian.org/svn/pkg-games/packages/trunk games
Then run "mr checkout", which will checkout the svn repository into ~/src/packages/games. The checkout will be approximately 120MB.
A second "mr checkout" (necessary because of bug #447553) will checkout the additional git repositories, into subdirectories of ~/src/packages/games/.
Now you can use mr to act on all configured repositories at once.
Update all repositories:
% mr update
Get status of all checkouts:
% mr status
List all repositories that mr knows about:
% mr list
Or even commit changes in each repository:
% mr commit
If you've added a new git repository in ~/src/packages/games/<foo> and are in that directory, you can have mr automatically add it to the pkg-games .mrconfig file by running "mr register". (Don't forget to commit the file.)
Git
See Games/VCS/git.
SVN
See Games/VCS/svn.
General Rules
If a package you're working on is for a particular version that has not been uploaded to the archive, you should either append ~unrelease0 at the end of the version, or use 'UNRELEASED' as the suite in the changelog.
- packages/ in the svn repo is for free games only. For games which should go to non-free, please use non-free/package/.
- the SVN properties of the debian/ directory should point to the location where the orig.tar.gz file(s) can be fetched.
See Also
?Alioth/Git
http://www.kernel.org/pub/software/scm/git/docs/ - git Documentation
?SmallSVNTutorial
?Alioth/Svn
http://svnbook.red-bean.com/ - Subversion Documentation
ssh_config man page - Manual on OpenSSH SSH client configuration files
http://git.or.cz/gitwiki/GitCheatSheet - Git Cheat