The Archiveopteryx source code is maintained in a Git repository. You can get a complete copy of the Archiveopteryx repository by running:
git clone git://git.aox.org/aox.git
If you use github or
gitorious you can also use
the aox
repositories there
(aox at github,
aox at gitorious).
Whatever method you choose, git clone will create a directory called aox containing the source code, almost as if you had downloaded Archiveopteryx. There are some minor differences: aox show build may report a misleading version number, and there is no Makefile. You build with Jam.
In the top-level directory you will find a text file called
notes,
which is used to track bugs, coordinate development, keep track of
ideas and so on. Call it a bug tracker and wiki implemented using the
sophisticated format ascii text
.
When you compile, you'll get source code documentation in
the doc/html and doc/man directories. If you set $MANPATH appopriately,
man imaps
will deliver the documentation for the
IMAP class. We use a shell function to get
access these manpages:
m() { man 3oryx $* }
When you clone the repository the master
branch is
checked out by default. This contains the latest stable release, plus
any patches that will be included in the next stable release. It should
be safe to run this version.
Other stable branches are rel/2.x
and
rel/3.0.x
, representing the 2.x and 3.0.x release series
respectively. These branches also contain the latest release plus any
changes queued up for the next release. It should be quite safe to run
the latest version from either branch.
There may be other branches; use them only if you know what they're for.
You can check out the rel/3.0.x
branch with
git checkout -b rel/3.0.x origin/rel/3.0.x
This creates a local branch named rel/3.0.x
that tracks
the remote branch of the same name from the origin (i.e.
git.aox.org/aox.git). You can keep running git pull
to
fetch new changes.
There's also a tag for each release, e.g. v3.0.4
for
Archiveopteryx 3.0.4. To see a list of tags, use
git tag -l
You can also check out any given release into a new branch by doing
git checkout -b rel/3.0.4 v3.0.4
If you want to change the Archiveopteryx source, you should definitely read the git tutorial. Once you've made the changes, you can use git-format-patch and git-send-email to send the diffs to us (at info@aox.org).
If you'd like to chat to Abhijit and Arnt, they're both on jabber most of the time. Their jabber addresses are the same as their email addresses. Abhijit is also on various IRC networks, where his nick is crab.
If you don't like email, you can also push your code to a repository you clone from github/aox or gitorious/aox. As you please. But you have to talk to us — github is no substitute for human communication.
You need git version 1.5.4 or later to use this repository effectively.
$ git --version git version 1.5.4.5
At the time of writing, Debian includes packages only for the older 1.4.x. Use the packages from backports instead.
Github and Gitorious provide commit feeds (at github, at gitorious) and lists, graphs and more.
Ohloh provides some analysis and a committer list.
Don't trust these analysises too much. Ohloh names the GPL as the only license, which isn't exactly correct (we use the BSD license and one of us dislikes the GPL strongly). Both Ohloh and Github thinks most of the code is C, and only a little is C++. A more correct description is that one subdirectory contains C (the embedded copy of cryptlib), and all of our code is written in C++.
If you have any questions, please write to info@aox.org.
Last modified: 2010-05-02
Location: aox.org/git-repository