summaryrefslogtreecommitdiff
path: root/HACKING
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2009-07-14 17:40:43 +0200
committerMichael Biebl <biebl@debian.org>2009-07-14 17:40:43 +0200
commitb4c56fb4b5f0c496b544080c5dd38d3cf93c10e8 (patch)
treea042dc877254104c83167421a65a61bf7492885c /HACKING
downloadconsolekit-b4c56fb4b5f0c496b544080c5dd38d3cf93c10e8.tar.gz
Imported Upstream version 0.2.1upstream/0.2.1
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING96
1 files changed, 96 insertions, 0 deletions
diff --git a/HACKING b/HACKING
new file mode 100644
index 0000000..2e0ca32
--- /dev/null
+++ b/HACKING
@@ -0,0 +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 (see Source Code
+Repository).
+
+
+Source Code Repository
+======================
+
+ - anonymous checkouts
+
+ $ git clone git://git.freedesktop.org/git/ConsoleKit
+
+ - checkouts if you have an ssh account on fd.o (username@ is optional)
+
+ $ git clone ssh://[username@]git.freedesktop.org/git/ConsoleKit
+
+ - 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 <joe@coder.org>"
+
+
+Coding Style
+============
+
+ - Follow the coding style already used
+
+ - Write docs for all functions and structs and so on. We use gtkdoc format.