Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

...