...
repository | purpose |
---|---|
cheetah | A spike on a complete Mifos rewrite. Mostly incorporated into head. |
htmlcss | Static version of Mifos UI used during a Summer of Code 2010 CSS redesign project. |
marketplace | An old spike. |
1.4.x | "master" in this repository is an old (1.4.x) release maintenance branch. See head for code for 1.6.x and later releases. |
1.5.x | "master" in this repository is an old (1.5.x) release maintenance branch. See head for code for 1.6.x and later releases. |
5. Fork the repository
To obtain a personal copy of the source code, which you can immediately commit to, head to Github (http://www.github.com/) and create an account there. You can fork the main Mifos repository by:
No Format |
---|
git clone git@github.com:username/head.git |
Add the Mifos repository as the upstream repository (the repository the fork came from):
No Format |
---|
git remote add upstream git://github.com/mifos/head.git
|
If, whilst you've been inspecting the code or making changes, other commits have been made to the Mifos repository that you cloned, you can pull in upstream changes from the original repository with:
No Format |
---|
git fetch upstream
|
More help is available here: https://help.github.com/articles/fork-a-repo
6. Commit to a local repository
Add files to the git "index" so they will be committed with "git add". Optionally, instead of running "git add", include -a when running "git commit" to commit all local modifications except new files. Then, commit:
...
In Git, the first 80 characters of the first line are, by convention, a summary of the rest of the log message. See Commit Log Guide.
7. Push your changes to a remote repository
If the remote repository is called "origin", you might do:
No Format |
---|
git push origin master |
8. Update your master branch
No Format |
---|
git pull --rebase origin master |
Using rebase is recommended to keep the commit history graph clean. Specifically, trivial merges cause a great deal of clutter. We may eventually institute a server side hook to prevent trivial merges.
9. Creating a patch
Instead of forking the Mifos repository you want to contribute to, you can create a patch. Here are two suggestions.:
1) Create an emailable (or JIRA-attachable) patch from your last local commit:
...
Either way, send the output to the mifos-developer mailing list, and describe your patch following Commit Log Guide.
You can also action the pull request via the Github user interface - just update the Mifos bug ticket with a helpful notification. For example:
No Format |
---|
Submitted in github pull request #x (pending).
|
Branching basics
Please refer to Pro Git: Basic Branching and Merging.
...