Hacking on Caja
-------------------

The Caja source tree is available from MATE git (git.gnome.org) and
in releases on the MATE FTP site
(http://ftp.gnome.org/pub/MATE/sources/caja/).

If you plan to hack on Caja, please make sure you work from the
Git version. The Git version can be checked from the MATE git server.
See http://live.gnome.org/Git for details on how to get started with
MATE Git. For details on how Caja uses git, see the README.commits
file.

If you want to contribute in development discussions, please send mail
to the caja mailing list: <caja-list@gnome.org>.  Archives and
subscription information are available at
http://mail.gnome.org/mailman/listinfo/caja-list


Submitting Patches
------------------

If you've been working on a change to Caja and want to propose it
for inclusion, you have to generate a patch and submit it for review
by the maintainers.

Patches should be made with 'git format-patch -M'
and should conform to Caja coding style as described in
docs/style-guide.html. We are pretty strict about coding style, so
please make sure you follow the style guide to avoid unnecessary
work on both sides when reviewing the patch.

The best way to submit a patch for review is to post it on the mailing
list. That way everyone sees it and can take part in the following
discussion about it. Sometimes people also attach patches to bugs in
bugzilla (http://bugzilla.gnome.org, product 'caja'). If you do
this, please send a mail to the list saying you did so, because it is
very easy for the bugzilla email to get lost in all the bugzilla
reports, and only the people CCd on the bug can partake in the
discussion. When attaching bugs to bugzilla from git the git-bz
command can be helpful, see:
http://blog.fishsoup.net/2008/11/16/git-bz-bugzilla-subcommand-for-git/

The Caja maintainers do their best to review patches and help
developers that want to work on something, however we are often
swamped in work and can miss an email or just forget to answer
it. Don't be afraid of reposting your patches after a while, or poking
us about the status of them.

Also, if you're planning to do large changes, please take them up for
discussion on the list first. If you get feedback early it is much
easier to integrate it into your work.

If your patch adds non-trivial strings, please ask for a string review
from the i18n team before committing the changes. Strings should avoid
contractions, and stay consistent with other strings already in Caja.
Please reuse strings within Caja where it makes sense to do so.
