summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md80
1 files changed, 80 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..bebc685
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,80 @@
+The mainline git tree for this code is at
+git://anongit.freedesktop.org/git/dbus/dbus-glib.
+
+= Creating changes =
+
+Be sure to match the existing code style (Emacs: "gnu").
+
+If you are making major changes which you wish to be incorporated upstream,
+please do as small commits to your local git tree, so there is a good
+history of your changes.
+
+When you consider changes ready for merging to mainline, use
+"git-format-patch" or otherwise generate unified diffs. Post those diffs
+to a new bug at http://bugs.freedesktop.org, project DBus, component GLib.
+
+For nontrivial changes *please* try to extend the test suite to cover it. The
+test infrastructure is in test/core/. If possible, use a GTester-style test
+like registrations.c; or if necessary, add things to the giant catch-all
+test, test-dbus-glib.c.
+
+Run "make check" to run the test suite.
+
+= dbus-gmain =
+
+dbus-gmain is maintained via `git subtree`. To update, assuming you have
+a checkout of the dbus-gmain branch of the dbus-glib repository in
+../dbus-gmain:
+
+ git subtree pull -P dbus-gmain ../dbus-gmain HEAD
+
+= Committing =
+
+If applying a patch from someone else that created them via
+"git-format-patch", you can use "git-am -s" to apply. Otherwise
+apply the patch and then use "git commit --author ..."
+
+Regardless:
+
+== Nontrivial changes ==
+Nontrivial patches should always go through Bugzilla for peer review, so
+you should have a bug number. The commit should be of the form:
+
+Bug XXXXXX: Single line summary here
+
+ * dbus/filename.c: Why I changed this.
+ * dbus/otherfile.c: Why I changed this.
+
+== Trivial changes ==
+
+Just use a single line summary, like:
+
+Fix typo in NEWS
+
+= Making a release =
+
+DBus-Glib now uses an even-stable odd-development release numbering
+system. The current number in configure.ac should be odd.
+
+To make a release (please replace use of 0.76 with the new version)
+
+* make
+* make distcheck
+* edit configure.ac, change version to even (e.g. 0.75 -> 0.76)
+* also in configure.ac, update LT_CURRENT, LT_REVISION and LT_AGE
+* edit NEWS, summarize notable changes since the last release
+* ./autogen.sh
+* make
+* make distcheck
+* sign the tarball (or use: make dbus-glib-0.76.tar.gz.asc)
+* make maintainer-upload-release
+* git commit -m "Release"
+* git tag -a dbus-glib_0.76
+* edit configure.ac, change version to odd (e.g. 0.76 -> 0.77)
+* git commit -m "Bump version for development"
+* Update the wiki: http://www.freedesktop.org/wiki/Software/DBusBindings
+* Announce the release on the mailing list, quoting the notable changes
+ from NEWS.
+
+NEWS is now maintained again (Simon finds it easier this way, and he
+does most of the releases).