Running gPodder from Subversion

To run gPodder from its Subversion repository, you have to check out a working copy from the repository, and then run make test to start gPodder from the current diretory.

Step 1: Dependencies

To get gPodder-SVN working, you need to install the Subversion client. In Debian, you can install this by running (as root or with sudo):

aptitude install subversion

For other distributions, the package should be named equally (look for "svn" or "subversion" or "sversion").

You will also need to install the dependencies listed on this page to get gPodder running.

Step 2: Check out a working copy

  1. Open up a X terminal (gnome-terminal, etc..)
  2. Change to your Desktop folder or some other folder where you usually keep source packages of software: cd ~/Desktop
  3. Check out a working copy from gPodder's subversion repository. We are using trunk here as this is the current mainline of development. If you are told to do so, check out another branch by replacing the URL with the one you are told:

    svn co http://svn.berlios.de/svnroot/repos/gpodder/trunk gpodder

  4. After the check out, you should now have a gpodder folder with the source in it. Change into it: cd gpodder

  5. You can now run gPodder from this working copy without interference from your locally-installed distribution package (you don't need to uninstall it, gPodder will only use the gPodder package from the working copy) with using make test. This will also enable debugging mode, so you will see debugging output in your terminal window.
  6. To test the CLI modes, run bin/gpodder --local --help in the SVN checkout folder. The --local switch turns on running from inside the working copy.

Step 3: Updating from the repository

Every now and then, changes will be committed into the repository. You can update you local working copy to the latest revision by running svn up in your working copy. If you have local changes you want to dismiss and update to a fresh copy of our subversion repository, run the following commands one after the other:

svn revert -R .
svn up

How do I create a patch?

Alright, so you have work SVN working copy checked out as described above and made some changes. Entering svn st should give you a list of files that have changed ("M") or that SVN doesn't yet know about ("?", for newly added files). If you have added a file, use svn add path/to/file.py to add the file. Then, run svn st again and see if everything is included. make clean can help you to get rid of temporary files.

If you think you have added all necessary files, enter svn diff to get a list of changes. You can redirect the output to a patch file, like so:

svn diff >gpodder_rXXX_my-changes.patch

XXX is the revision number that you are working on, which you can display with the command svnversion. It's not really mandatory to name the file like this, but it helps other recognize for which program (gpodder) the patch is, and against which revision (rXXX) and what the patch does (my-changes). You can review this file with a text editor of your choice, and if you like the changes, send it to the mailing list. If the file is bigger than 10kB, please "gzip" it first:

gzip gpodder_rXXX_my-changes.patch

If the file is too big, the mailing list software will complain and your message will not be posted to the list. If your patch is not trivial, and might need discussion, it would be a good idea to file the patch as a bug report on our bug tracker. You can then send a mail to the mailing list containing a link to the bug page. You can (and should) attach your patch to the bug. Thanks!

changed April 23, 2008