Documentation Wiki rss-feed

First of all, please be aware that we can only accept patches from those who have signed our Contributors Agreement. Please see the main Developers page for details.

In order to submit patches for inclusion in the stock EigenD, please use

    git format-patch --binary

It's important that you make your patches against the most recent version of the relevant branch.

The master branch is slated to be EigenD 2.0, and will not be setup compatible with 1.X and the 1.4 branch will be our next unstable release.

Here's a sample session

    # fetch the repo
    git clone git://
    # create a branch for my work
    git checkout -b my-branch origin/1.4
    # make changes
    git add -A
    git commit -m 'fixes that horrible bug'
    # get my branch up to date
    git pull --rebase
    # clean up the patch if required.  This is an optional
    # step and allows you to merge work in progress commits.
    git rebase --interactive origin/1.4
    # now make a patch against vanilla 1.4
    git format-patch --binary origin/1.4
    # send the patch off
    # hopefully, get the patch back again from upstream
    # git pull --rebase

Here I've used rebase to merge in any upstream changes. This will incorporate the upstream changes into your branch before your local changes, and give you a chance to resolve any conflicts.

This is the pattern we generally use for bugfixing and feature addition.

If you want to create a branch to share with others, or you want to send us only part of your changes, then it all gets a bit more complicated. You will not want to do any rebasing (rebasing a shared branch is somewhat akin to sending your collaborators a letter bomb). We don't have much experience yet with this kind of workflow.

I think the best approach would be to check out a fresh copy of the vanilla branch, merge any changes you want to make (using git merge and/or git cherry-pick) and then use git format-patch as above. Then discard this working copy.