From 98addf1933cd24f546177dd4b158c770ea404df0 Mon Sep 17 00:00:00 2001 From: William Jon McCann Date: Wed, 7 Feb 2007 10:53:30 -0500 Subject: add more information Add more information that was stolen from the HAL HACKING file. The parts on how to use git are particularly useful. --- HACKING | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 91 insertions(+), 3 deletions(-) (limited to 'HACKING') diff --git a/HACKING b/HACKING index 14e19f2..dbaa4d3 100644 --- a/HACKING +++ b/HACKING @@ -1,8 +1,96 @@ - +Making Changes +============== Please send all patches (in unified diff form) to the HAL mailing list: http://lists.freedesktop.org/mailman/listinfo/hal -All patches should be against the latest version, available at: -http://gitweb.freedesktop.org/?p=ConsoleKit.git +All patches should be against the latest version (see Source Code +Repository). + + +Source Code Repository +====================== + + - anonymous checkouts + + $ git clone git://git.freedesktop.org/git/hal.git + + - checkouts if you have an ssh account on fd.o (username@ is optional) + + $ git clone ssh://[username@]git.freedesktop.org/git/hal.git + + - commit to local repository + + $ git commit -a + + - push local repository to master repository at fd.o (remember most patches + requires review at the mailing list) + + $ git push + + - pull changes from master repository at fd.o + + $ git pull + + - diff of working tree versus local repository + + $ git diff + + - diff of local repository vs. master repository at fd.o + + synchronize with upstream repo: + $ git pull + + (possibly merge changes) + + generate the diff: + $ git diff origin HEAD + + - influential environment variables (set these in e.g. .bash_profile) + + export GIT_AUTHOR_NAME='Your Full Name' + export GIT_COMMITTER_NAME='Your Full Name' + export GIT_COMMITTER_EMAIL=youremail@domain.net + export GIT_AUTHOR_EMAIL=youremail@domain.net + + - see also + + http://www.kernel.org/pub/software/scm/git/docs/ + + +Committing Code +=============== + + - Commit messages should be of the form (the five lines between the + lines starting with ===) + +=== begin example commit === +short explanation of the commit + +Longer explanation explaining exactly what's changed, whether any +external or private interfaces changed, what bugs were fixed (with bug +tracker reference if applicable) and so forth. Be concise but not too brief. +=== end example commit === + + - Always add a brief description of the commit to the _first_ line of + the commit and terminate by two newlines (it will work without the + second newline, but that is not nice for the interfaces). + + - First line (the brief description) must only be one sentence and + must not start with a capital letter. Don't use a trailing period + either. + + - The main description (the body) is normal prose and should use normal + punctuation and capital letters where appropriate. Normally, for patches + sent to a mailing list it's copied from there. + + - When committing code on behalf of others use the --author option, e.g. + git commit -a --author "Joe Coder " + + +Coding Style +============ + + - Follow the coding style already used + - Write docs for all functions and structs and so on. We use gtkdoc format. -- cgit