diff options
author | Max Kellermann <max@duempel.org> | 2013-11-08 12:54:16 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-11-08 12:54:16 +0100 |
commit | d125567f4a74dec59867a07380c66c40151fa43b (patch) | |
tree | 75fc1b0d8f0253e0a9d3596f1f512254c7303d03 /doc/developer.xml | |
parent | 993eca9327b2f9985627f6f4e459f2d78b7799b3 (diff) | |
download | mpd-d125567f4a74dec59867a07380c66c40151fa43b.tar.gz mpd-d125567f4a74dec59867a07380c66c40151fa43b.tar.xz mpd-d125567f4a74dec59867a07380c66c40151fa43b.zip |
doc/developer: add text from the wiki
Diffstat (limited to '')
-rw-r--r-- | doc/developer.xml | 65 |
1 files changed, 64 insertions, 1 deletions
diff --git a/doc/developer.xml b/doc/developer.xml index 3b6d0a086..e9022172c 100644 --- a/doc/developer.xml +++ b/doc/developer.xml @@ -69,12 +69,28 @@ foo(const char *abc, int xyz) <title>Hacking The Source</title> <para> + MPD sources are managed in a git repository on <ulink + url="http://git.musicpd.org/">git.musicpd.org</ulink>. + </para> + + <para> Always write your code against the latest git: </para> <programlisting>git clone git://git.musicpd.org/master/mpd.git</programlisting> <para> + If you already have a clone, update it: + </para> + + <programlisting>git pull --rebase git://git.musicpd.org/master/mpd.git master</programlisting> + + <para> + You can do without "--rebase", but we recommend that you rebase + your repository on the "master" repository all the time. + </para> + + <para> Configure with the options <option>--enable-debug --enable-werror</option>. Enable as many plugins as possible, to be sure that you don't break any disabled code. @@ -83,8 +99,55 @@ foo(const char *abc, int xyz) <para> Don't mix several changes in one single patch. Create a separate patch for every change. Tools like - <application>stgit</application> help you with that. + <application>stgit</application> help you with that. This way, + we can review your patches more easily, and we can pick the + patches we like most first. </para> + + + <section> + <title> Basic stgit usage</title> + + <para> + 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. + </para> + + <para> + stgit needs to be initialized on a git repository: stg init + </para> + + <para> + Before you edit the code, create a patch: stg new + my-patch-name (stgit now asks you for the commit message). + </para> + + <para> + 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 + </para> + + <para> + You may now continue editing the same patch, and refresh it as + often as you like. Create more patches, edit and refresh them. + </para> + + <para> + 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). + </para> + + <para> + When the whole patch series is finished, convert stgit patches + to git commits: stg commit + </para> + </section> </chapter> <chapter> |