MATE Desktop uses git as its version control system, and GitHub for repositories hosting. The best places to ask for development help are on IRC #mate channel (irc.freenode.net) and in the mate-dev mailing list.
To get code of a MATE package, you can use the
git clone command (change mate-terminal with the package you
want to get the code):
git clone git://github.com/mate-desktop/mate-terminal.git
To make your fork of a MATE project in GitHub, follow this tutorial.
Here is an example workflow how to use
git and MATE. This applies mostly for people that do not commit directly to the official MATE repos. A general rule is, as branches are cheap to create and cheap to merge, to do your work in a separate branch than the
git clone https://github.com/<your-github-user>/<mate-package>.git. You can get the link from the right side of the github web page of your fork.
git remote add upstream https://github.com/mate-desktop/<mate package>.git.
git branch myubercoolfeature. Git branch takes an optional commit SHA as a starting point for the new branch. If no commit SHA is given it will branch from the most recent commit in the branch your on.
git push origin.
If you have lots of small commits that belong together use
git rebase to squash them together into one commit.
Also pull from upstream once in a while to keep up with changes done in the upstream repository with:
git pull upstream <branch>. Be careful which upstream branch your working branch is based on. If you based your branch on the upstream 1.6 branch do NOT pull from master by mistake as you will have a fun time fixing the results of that.
We have a git web interface to browse through MATE source code: http://git.mate-desktop.org/.
This is a list of useful links.
When you are first starting, patches are the best way to send your code contributions to the MATE project. You can fork a project in GitHub and make a pull request to include your patch.
Before you send the patch, please be sure to respect those points:
The best way to propose a patch is to send it with a pull request. Read this tutorial to learn how to send a pull request.