diff --git a/doc/developer.xml b/doc/developer.xml
index 3b6d0a086..e9022172c 100644
--- a/doc/developer.xml
+++ b/doc/developer.xml
@@ -68,12 +68,28 @@ foo(const char *abc, int xyz)
Hacking The Source
+
+ MPD sources are managed in a git repository on git.musicpd.org.
+
+
Always write your code against the latest git:
git clone git://git.musicpd.org/master/mpd.git
+
+ If you already have a clone, update it:
+
+
+ git pull --rebase git://git.musicpd.org/master/mpd.git master
+
+
+ You can do without "--rebase", but we recommend that you rebase
+ your repository on the "master" repository all the time.
+
+
Configure with the options . Enable as many plugins as possible,
@@ -83,8 +99,55 @@ foo(const char *abc, int xyz)
Don't mix several changes in one single patch. Create a
separate patch for every change. Tools like
- stgit help you with that.
+ stgit help you with that. This way,
+ we can review your patches more easily, and we can pick the
+ patches we like most first.
+
+
+
+ Basic stgit usage
+
+
+ stgit allows you to create a set of patches and refine all of
+ them: you can go back to any patch at any time, and re-edit it
+ (both the code and the commit message). You can reorder
+ patches and insert new patches at any position. It encourages
+ creating separate patches for tiny changes.
+
+
+
+ stgit needs to be initialized on a git repository: stg init
+
+
+
+ Before you edit the code, create a patch: stg new
+ my-patch-name (stgit now asks you for the commit message).
+
+
+
+ Now edit the code. Once you're finished, you have to "refresh"
+ the patch, i.e. your edits are incorporated into the patch you
+ have created: stg refresh
+
+
+
+ You may now continue editing the same patch, and refresh it as
+ often as you like. Create more patches, edit and refresh them.
+
+
+
+ To view the list of patches, type stg series. To go back to a
+ specific patch, type stg goto my-patch-name; now you can
+ re-edit it (don't forget stg refresh when you're finished with
+ that patch).
+
+
+
+ When the whole patch series is finished, convert stgit patches
+ to git commits: stg commit
+
+