summaryrefslogtreecommitdiff
path: root/HACKING.txt
blob: 125d30d3e82b38ae23180f0b47e3d2fc7c8e75ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Contributing to GTimeLog
========================

Contributions are welcome, and not just code patches.  I'd love to see

* user interface design sketches
* icons
* documentation
* translations (this would need some coding to enable translation first)
* installers for Mac OS X and Windows


Reporting bugs and wishes
-------------------------

Please `use Launchpad <https://bugs.launchpad.net/gtimelog/>`_ to
report bugs or feature requests.

If you don't want to create a Launchpad account for some reason, feel free to
send me an email at <marius@gedmin.as>.

Update 2011-09-21: Marius has handed over project management to Barry Warsaw,
so you can contact me directly if you want: <barry@python.org>.


Creating a patch
----------------

`Merge proposals <https://help.launchpad.net/Code/BugAndBlueprintLinks>`_ are
the preferred way to submit patches.  It's best if you submit a bug report,
branch lp:gtimelog, push your personal branch, link it to the bug report, and
submit a merge proposal.  The Launchpad help page above, and examples below,
can provide information on how to do that - it's not nearly as daunting as it
sounds. :)

You'll need the `Bazaar <http://bazaar.canonical.com/en/>`_ version control
system installed on your computer, as well as the usual stuff needed to run
GTimeLog (`Python <http://python.org/>`_, and `PyGtk <http://pygtk.org/>`_ or
the GTK and Pango gobject-introspection typelibs).

First, get a copy of the source code::

    $ bzr branch lp:gtimelog

You can run it without installing::

    $ cd gtimelog
    $ ./gtimelog

Change the code in ``src/gtimelog/*.py``, play around, run the test suite ::

    $ python setup.py test

When you're happy with the results, describe your change in ``NEWS.txt`` and
commit ::

    $ bzr commit

`Publish your branch <https://help.launchpad.net/Code/UploadingABranch>`_ on
Launchpad with ::

    $ bzr push lp:~you/gtimelog/branch-name

where `you` is your Launchpad user id, and `branch-name` can be anything you
want.

Create a merge proposal through the Launchpad web interface
(``https://code.launchpad.net/~userid/gtimelog/branch-name/+register-merge``),
or with ::

    $ bzr lp-submit

I'll see your merge proposal and will act on it as soon as possible.