From d125567f4a74dec59867a07380c66c40151fa43b Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 8 Nov 2013 12:54:16 +0100 Subject: doc/developer: add text from the wiki --- doc/developer.xml | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 64 insertions(+), 1 deletion(-) (limited to 'doc/developer.xml') 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 + +
-- cgit v1.2.3