Skip to content

Home News Screenshots Wiki Themes Bugtracker Members Logos Search
  You are not logged in Link icon Log in Link icon Join
You are here: Home » Links » PicoGUI Repository

Log in

PicoGUI Repository

PicoGUI's source code is now stored in a Subversion repository.

Currently the repository is hosted on navi.picogui.org . This is likely to change, so refer to this page first if you have trouble accessing it.

The repository is located at:

To check out a working copy of the source with Subversion, just run:

 svn co http://navi.picogui.org/svn/picogui/trunk/ picogui

The Subversion repository is structured differently from the old CVS repository:

  • All the existing code destined to be PicoGUI 1.x is in the pg1 directory.
  • Extra media files not needed to build or use PicoGUI are in media .
  • The work in progress on PicoGUI 2.0 is in pg2 .
  • The new build system that will power both pg1 and pg2 when it's done is in pgbuild .
  • Extra repository maintenance tools and stylesheets for picogui's XML files are in the tools directory.

If you only want to check out a subset of the repository, just use that subdirectory's URL in your checkout command. Take a look at svn help or the manpage for more details, but you'll find that most of the commands are similar to CVS.

Note that even though the new build system is in development, it isn't usable yet and the old auto* system is still in place.

Getting info on changes

  • ViewCVS lets you browse the repository and check diffs and log messages
  • The pgui-commits mailing list will send you an email with the log message and diff every time a revision is committed
  • The CIA bot in IRC keeps an eye on Subversion, reporting the first line of the log message for each committed revision
  • Snapshots of the repository in .tar.bz2 format are made every 4 hours

All the scripts used to perform these tasks are in the repository in the tools directory.

Commit access

Micah (micah at navi dot picogui dot org) is the repository admin. Ask him about getting commit access. Assuming he agrees, you can follow this procedure to set or change your password.

Get the htpasswd command if you don't already have it. It's part of apache. Run a command like:

 htpasswd pwfile <username>

Send Micah an email with the line contained in pwfile, and he can install it into the server's password file. Hopefully in the future there will be an automated way to do this.

Note that you don't need to provide your username and password for a checkout, as in CVS. Subversion will prompt you for a password when you commit.

Secure access over SSL

If you have commit access, it's recommended that you use SSL to prevent your password from being sent in plaintext.

If you haven't checked out your repository yet, you can just use the https URL:

 svn co https://navi.picogui.org/svn/picogui/trunk/ picogui

If you already have a working copy, don't worry! Subversion can quickly and easily switch it to the https server:

 svn switch https://navi.picogui.org/svn/picogui/trunk/

You'll probably notice you get a lot of annoying error messages of the form:

 Error validating server certificate: Unknown certificate issuer. Accept? (y/N)

This is because the SSL certificate for navi was created using Apache's "Snake Oil" certificate authority.

One way to get around this is to simply ignore the unknown issuer warnings. This is the easiest solution, but potentially leaves you open for a man-in-the-middle attack. You can do this by adding something like the following to your ~/.subversion/servers file:

 [groups]
 picogui = *.picogui.org

 [picogui]
 ssl-ignore-unknown-ca = true

A cleaner and a little more secure solution is to specifically allow keys signed by the "Snake Oil" CA. Download the certificate at http://navi.picogui.org/snakeoil-ca-rsa.crt and add something like the following to your ~/.subversion/servers file:

 [groups]
 picogui = *.picogui.org

 [picogui]
 ssl-authorities-file = /home/micah/.subversion/snakeoil-ca-rsa.crt

Now you should be able to make commits in peace.