summaryrefslogtreecommitdiff
path: root/HACKING
diff options
context:
space:
mode:
authorWilliam Jon McCann <mccann@jhu.edu>2007-02-07 10:53:30 -0500
committerWilliam Jon McCann <mccann@jhu.edu>2007-02-07 10:53:30 -0500
commit98addf1933cd24f546177dd4b158c770ea404df0 (patch)
treea85abb9d775d441b2a02064115f4f4e35ce144be /HACKING
parent7e4ffe9ca1d65afeb094ee1bb71b0a7751e09e1c (diff)
downloadConsoleKit2-98addf1933cd24f546177dd4b158c770ea404df0.tar.gz
add more information
Add more information that was stolen from the HAL HACKING file. The parts on how to use git are particularly useful.
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING94
1 files changed, 91 insertions, 3 deletions
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 <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.