summaryrefslogtreecommitdiff
path: root/HACKING
diff options
context:
space:
mode:
authorCallum McKenzie <callum@spooky-possum.org>2009-05-29 10:46:13 +1200
committerCallum McKenzie <callum@spooky-possum.org>2009-05-29 10:48:50 +1200
commitfb2454e1aae19b5afb45c649d90e377fb0900adb (patch)
treeb8344b3ac32bd88eb31e68c48c54b1003dd602a6 /HACKING
parent464aa3b5861666d42ae094210436b003b369c4a3 (diff)
Autogenerate the ChangeLogs
We no longer keep explicit ChangeLogs. Instead they get generated at make dist time from the git logs. Automake recipe stolen from gnome- games. Commit message guidelines stolen from GTK+.
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING144
1 files changed, 94 insertions, 50 deletions
diff --git a/HACKING b/HACKING
index 92a7899f9..c9cd71545 100644
--- a/HACKING
+++ b/HACKING
@@ -1,15 +1,16 @@
-If you are the maintainer of an applet, feel free to commit - unless we're
-very close to a release. In that case, contact us.
-
-If you just want to hack, let us know. Most of the applets are unmaintained,
-but you should try to contact the maintainer (or past maintainer) before
-working on them, to avoid duplicate work and stepping on any toes. If unsure,
-ask us about it.
-
-The list of official maintainers is in the MAINTAINERS file. If you're a
-MAINTAINER and you're not listed, contact one of the overall maintainers to get
-yourself added. If you want to get bug reports for GNOME-Applets you can add
-yourself to listen to the gnome-applets-maint@bugzilla.gnome.org alias in your
+If you are the maintainer of an applet, feel free to commit - unless
+we're very close to a release. In that case, contact us.
+
+If you just want to hack, let us know. Most of the applets are
+unmaintained, but you should try to contact the maintainer (or past
+maintainer) before working on them, to avoid duplicate work and
+stepping on any toes. If unsure, ask us about it.
+
+The list of official maintainers is in the MAINTAINERS file. If you're
+a MAINTAINER and you're not listed, contact one of the overall
+maintainers to get yourself added. If you want to get bug reports for
+GNOME-Applets you can add yourself to listen to the
+gnome-applets-maint@bugzilla.gnome.org alias in your
preferences. Filter on X-Bugzilla-Component: if required.
Release planning for GNOME Applets is online at
@@ -19,54 +20,97 @@ We share a mailing list with GNOME Utilities, you can subscribe to
Please attach your patches to a bug in http://bugzilla.gnome.org, either by
filing new bugs or attaching it to an old one.
-Patches should be generated with `diff -uprN` (you can add "diff -up" to your
-~/.cvsrc).
+Patches should be generated with `diff -uprN`.
+
+If you are committing directly into the git repository, then follow
+these guidelines for the commit message (see also ChangeLog.README):
+
+The expected format for git commit messages is as follows:
+
+=== 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
+ should start with a capital letter unless it starts with a lowercase
+ symbol or identifier. Don't use a trailing period either. Don't exceed
+ 72 characters.
+
+ - 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>" and --signoff.
+
+ - If the checkin is related to a bug, reference the bug number.
+
+ - Checkin comments MUST use the UTF-8 encoding.
+
+ - Avoid meaningless checkin comments such as "forgotten file" !
+
+ If you forget to check in some changes that belonged in the same
+ commit (e.g. you accidentally omitted a file), you must copy the
+ checkin comment from the previous, incomplete checkin, and
+ additionally reference that commit's svn revision number.
Some tips for hacking/debugging the applets:
-1) The Panel Applet Writer's Reference Manual, including the PanelApplet
- library documentation, can be found at
+1) The Panel Applet Writer's Reference Manual, including the
+ PanelApplet library documentation, can be found at
http://developer.gnome.org/doc/API/2.0/panel-applet/libpanel-applet.html,
or in gnome-panel/doc/reference/panel-applet (source). It is not
- completely up to date, but it covers the basics of writing an applet.
+ completely up to date, but it covers the basics of writing an
+ applet.
-2) Look at the other applet implementations. One of the simpler applets is
- the fish applet, which lives in gnome-panel/applets/fish.
+2) Look at the other applet implementations. One of the simpler
+ applets is the fish applet, which lives in
+ gnome-panel/applets/fish.
-3) Read the article about debugging GNOME Applets at
+3) Read the article about debugging GNOME Applets at
http://www.davyd.id.au/articles/debugging-gnome-applets.shtml.
- This article also contains a list of common considerations when developing
- applets. Please, please read this article, it covers everything you're
- likely to need to know. If you find anything is missing, then contact
- the maintainers.
+ This article also contains a list of common considerations when
+ developing applets. Please, please read this article, it covers
+ everything you're likely to need to know. If you find anything is
+ missing, then contact the maintainers.
4) Be weary of static, global variables if you plan to allow the user
- to be able to add multiple instances of the applet. Each instance will
- share the static varible. This is described in the debugging article, under
- "Other considerations".
-
-5) You'd probably want to run the applets from CVS, without nescessarily doing
- the same with all of GNOME. To do this, install the applets from CVS to a
- different prefix than the rest of GNOME, and change your bonobo servers
- directory to $prefix/lib/bonobo/servers. You'll find the config file by
- running "bonobo-activation-sysconf --config-file-path". Add the directory to
- as an <item> at the top of <searchpath>. Log out, run bonobo-slay and make
- sure no bonobo processes are running. When you log in again, your applets
- should be running from the new prefix.
- Running single applets from CVS is described further in Davyd's debugging
- article.
-
-6) Please make use of the global defines already provided for you, rather
- then defining your own in your Makefile.am. Some useful global defines are
- GNOME_ICONDIR, GNOME_PIXMAPSDIR, GNOME_LOCALEDIR, GNOME_GLADEDIR, DATADIR,
- SYSCONFDIR, LIBDIR and VERSION.
-
-7) Attempt to use the Nautilus/GNOME-VFS coding style in GNOME-Applets. Code
- should be neatly tabbed, with 8 character tabs, and fit on an 80 character
- wide terminal. Ideally
- functions (will_be_called (LIKE, THIS));
- opening braces will be on a new line and variables will be declared at the
- top of the block without assignment, C89 style.
+ to be able to add multiple instances of the applet. Each instance
+ will share the static varible. This is described in the debugging
+ article, under "Other considerations".
+
+5) You'd probably want to run the applets from git, without
+ nescessarily doing the same with all of GNOME. To do this, install
+ the applets from git to a different prefix than the rest of GNOME,
+ and change your bonobo servers directory to
+ $prefix/lib/bonobo/servers. You'll find the config file by running
+ "bonobo-activation-sysconf --config-file-path". Add the directory
+ to as an <item> at the top of <searchpath>. Log out, run
+ bonobo-slay and make sure no bonobo processes are running. When you
+ log in again, your applets should be running from the new prefix.
+ Running single applets from CVS is described further in Davyd's
+ debugging article.
+
+6) Please make use of the global defines already provided for you,
+ rather then defining your own in your Makefile.am. Some useful
+ global defines are GNOME_ICONDIR, GNOME_PIXMAPSDIR,
+ GNOME_LOCALEDIR, GNOME_GLADEDIR, DATADIR, SYSCONFDIR, LIBDIR and
+ VERSION.
+
+7) Attempt to use the Nautilus/GNOME-VFS coding style in
+ GNOME-Applets. Code should be neatly tabbed, with 8 character tabs,
+ and fit on an 80 character wide terminal. Ideally functions
+ (will_be_called (LIKE, THIS)); opening braces will be on a new line
+ and variables will be declared at the top of the block without
+ assignment, C89 style.
Davyd Madeley <davyd@madeley.id.au>
Kevin Vandersloot <kfv101 at psu dot edu>