Merge lp:~linuxjedi/drizzle/trunk-bug-724176 into lp:drizzle/7.0

Proposed by Andrew Hutchings
Status: Merged
Approved by: Brian Aker
Approved revision: 2200
Merged at revision: 2199
Proposed branch: lp:~linuxjedi/drizzle/trunk-bug-724176
Merge into: lp:drizzle/7.0
Diff against target: 469 lines (+399/-3)
8 files modified
docs/clients/drizzledump.rst (+2/-2)
docs/contributing/code.rst (+103/-0)
docs/contributing/documentation.rst (+242/-0)
docs/contributing/introduction.rst (+39/-0)
docs/include.am (+1/-0)
docs/index.rst (+9/-0)
docs/testing/test-run.rst (+2/-0)
docs/uuid_data_type.rst (+1/-1)
To merge this branch: bzr merge lp:~linuxjedi/drizzle/trunk-bug-724176
Reviewer Review Type Date Requested Status
Drizzle Developers Pending
Review via email: mp+51141@code.launchpad.net

Description of the change

Add basic contributing section to docs

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'docs/clients/drizzledump.rst'
2--- docs/clients/drizzledump.rst 2011-02-23 17:07:17 +0000
3+++ docs/clients/drizzledump.rst 2011-02-24 15:02:57 +0000
4@@ -6,9 +6,9 @@
5
6 :program:`drizzledump` [:ref:`OPTIONS <drizzledump-options-label>`] *database* [*tables*]
7
8-:program:`drizzledump` [:ref:`OPTIONS <drizzledump-options-label>`] :option:`--databases` *DB1* [*DB2* *DB3*...]
9+:program:`drizzledump` [:ref:`OPTIONS <drizzledump-options-label>`] :option:`--databases <drizzledump --databases>` *DB1* [*DB2* *DB3*...]
10
11-:program:`drizzledump` [:ref:`OPTIONS <drizzledump-options-label>`] :option:`--all-databases`
12+:program:`drizzledump` [:ref:`OPTIONS <drizzledump-options-label>`] :option:`--all-databases <drizzledump --all-databases>`
13
14 Description
15 -----------
16
17=== added directory 'docs/contributing'
18=== added file 'docs/contributing/code.rst'
19--- docs/contributing/code.rst 1970-01-01 00:00:00 +0000
20+++ docs/contributing/code.rst 2011-02-24 15:02:57 +0000
21@@ -0,0 +1,103 @@
22+.. _code-label:
23+
24+Contributing Code
25+=================
26+
27+SSH Keys
28+--------
29+
30+You will need to add a public SSH key to Launchpad to be able to push branches
31+up for merging. To do this:
32+
33+ #. Generate an SSH key (information on how to do this is in `Launchpad's help pages <https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair>`_)
34+ #. Go to `your SSH keys page <https://launchpad.net/people/+me/+editsshkeys>`_
35+ #. Paste your public key into the text box and click the *Import public key*
36+ button
37+
38+Getting the Code
39+----------------
40+
41+You will need to prepare a directory for working with Drizzle, the following
42+example will assume you want to do this in ~/repos/drizzle:
43+
44+.. code-block:: bash
45+
46+ mkdir ~/repos
47+ cd ~/repos
48+ bzr init-repo drizzle
49+
50+At this stage you now have an initialized a directory for bzr to use. Revision
51+data will be stored here to save it having to be downloaded/stored for every
52+branch.
53+
54+.. code-block:: bash
55+
56+ cd drizzle
57+ bzr branch lp:drizzle trunk
58+
59+This will take a little while, it is getting all the revisions since the
60+beginning of the repository. This should only ever need to be done once though.
61+
62+.. code-block:: bash
63+
64+ bzr branch trunk drizzle-bug-NNNNNN
65+ cd drizzle-bug-NNNNNN
66+
67+This creates a branch from trunk for you to work on.
68+
69+Committing Work
70+---------------
71+
72+All commits need to have a proper description of the changes made. This is so
73+that future developers can dig through the bzr log to find out why a certain
74+change happened.
75+
76+When committing a bug fix please use:
77+
78+.. code-block:: bash
79+
80+ bzr commit --fixes lp:NNNNNN
81+
82+This will automatically attach the branch to the bug report when the branch is
83+pushed up.
84+
85+Coding Standards
86+----------------
87+
88+Our coding standards can be found inside the
89+`Drizzle wiki <http://wiki.drizzle.org/Coding_Standards>`_.
90+
91+Test Cases
92+----------
93+
94+Where possible SQL test cases should be created for your code. Our test cases
95+for bug fixes should be in the ``tests/suite/regression`` directory. For more
96+information about creating test cases please see the :ref:`test run <test-run-label>`
97+section of our documentation.
98+
99+Pushing Work
100+------------
101+
102+When you want to push your branch to Launchpad for others to see or for merging
103+you can use:
104+
105+.. code-block:: bash
106+
107+ bzr push lp:~username/drizzle/trunk-bug-NNNNNN
108+
109+This will create the branch on Launchpad which you will be able to see on the
110+`code page <https://code.launchpad.net/drizzle>`_. If you make some more commits you simply need to do just ``bzr push`` to get those revisions on Launchpad
111+too.
112+
113+Merge Proposals
114+---------------
115+
116+Once your work is done and ready for review you can go to the
117+`code page <https://code.launchpad.net/drizzle>`_, click on your branch and you
118+will see a link saying *Propose for merging*.
119+
120+In this screen simply fill in what this branch does and click the
121+*Propose Merge* button. Someone will review the branch, usually within a day or
122+two and if approved it will go though our rigourous testing process which can
123+take several hours. If it needs more work feedback will always be given to
124+explain why.
125
126=== added file 'docs/contributing/documentation.rst'
127--- docs/contributing/documentation.rst 1970-01-01 00:00:00 +0000
128+++ docs/contributing/documentation.rst 2011-02-24 15:02:57 +0000
129@@ -0,0 +1,242 @@
130+.. _documentation-label:
131+
132+Contributing Documentation
133+==========================
134+
135+Our documentation is written using `Sphinx Documentation Generator <http://sphinx.pocoo.org/>`_ which uses the `reStructuredText <http://docutils.sf.net/rst.html>`_ format.
136+
137+All our documentation is stored in the main source reporistory in the docs/
138+directory, and every merge into trunk triggers a rebuild of our `documentation site <http://docs.drizzle.org/>`_.
139+
140+Requirements
141+------------
142+
143+We require a minimum of python-sphinx 0.6 to compile the documentation but not
144+all of it will build correctly in that version. For correct documentation
145+version 1.0 is required.
146+
147+When building the documentation warnings become errors, so the documentation
148+needs to be warning free in 1.0.
149+
150+Documentation Files
151+-------------------
152+
153+The documentation files have the .rst extension and are stored in the ``docs/``
154+directory.
155+
156+Contents
157+^^^^^^^^
158+
159+To add a new document to the contents you will need to add it to a relevent
160+section in the ``docs/index.rst`` file.
161+
162+Plugins
163+^^^^^^^
164+
165+To document plugins you need to create a ``docs/`` subdirectory in your plugin
166+directory containing an index.rst file. This will be automatically added during
167+the ``config/autorun.sh`` phase.
168+
169+Documentation Format
170+--------------------
171+
172+The documentation is in the reStructured text format which is a wiki-like markup
173+laungauge ideal for documentation.
174+
175+Headings
176+^^^^^^^^
177+
178+Headings take the form of just the text with a diffent style of underline to
179+signify the level, for example:
180+
181+.. code-block:: rest
182+
183+ Heading Level 1
184+ ===============
185+
186+ Heading Level 2
187+ ---------------
188+
189+ Heading Level 3
190+ ^^^^^^^^^^^^^^^
191+
192+Tables
193+^^^^^^
194+
195+There are two ways of generating a table, the first is basically drawing the
196+entire table in ascii art as follows:
197+
198+.. code-block:: rest
199+
200+ +----+--------+-----+
201+ | ID | name | age |
202+ +====+========+=====+
203+ | 1 | Fred | 23 |
204+ +----+--------+-----+
205+ | 2 | Joe | 48 |
206+ +----+--------+-----+
207+ | 3 | Sophie | 32 |
208+ +----+--------+-----+
209+
210+Which generates:
211+
212++----+--------+-----+
213+| ID | name | age |
214++====+========+=====+
215+| 1 | Fred | 23 |
216++----+--------+-----+
217+| 2 | Joe | 48 |
218++----+--------+-----+
219+| 3 | Sophie | 32 |
220++----+--------+-----+
221+
222+As an alternative there is a simplified form as follows:
223+
224+.. code-block:: rest
225+
226+ ----- ----- ------
227+ A B Result
228+ ===== ===== ======
229+ False False False
230+ False True True
231+ True False True
232+ True True False
233+ ===== ===== =====
234+
235+Gives this table:
236+
237+===== ===== ======
238+ A B Result
239+===== ===== ======
240+False False False
241+False True True
242+True False True
243+True True False
244+===== ===== ======
245+
246+In this form there must be more than one row to the table and the first column
247+can only have a single line.
248+
249+Syntax Highlighting
250+^^^^^^^^^^^^^^^^^^^
251+
252+Sphinx supports syntax highlighting using the `Pygments <http://pygments.org/>`_
253+engine. For example, with the *mysql* syntax highlighter you can do the
254+following:
255+
256+.. code-block:: rest
257+
258+ .. code-block:: mysql
259+
260+ SELECT * FROM t1 WHERE a=1;
261+
262+Which will generate:
263+
264+.. code-block:: mysql
265+
266+ SELECT * FROM t1 WHERE a=1;
267+
268+You can also add line numbers as follows:
269+
270+.. code-block:: rest
271+
272+ .. code-block:: c
273+ :linenos:
274+
275+ #include <stdio.h>
276+
277+ main()
278+ {
279+ printf("hello world");
280+ }
281+
282+Which will generate:
283+
284+.. code-block:: c
285+ :linenos:
286+
287+ #include <stdio.h>
288+
289+ main()
290+ {
291+ printf("hello world");
292+ }
293+
294+.. seealso::
295+
296+ `Pygments Demo <http://pygments.org/demo/>`_ - A demo of the available syntax
297+ highlighting types.
298+
299+Footnotes
300+^^^^^^^^^
301+
302+Footnotes in their most simple form can be generated using ``[1]_`` in the text
303+and then a section of the bottom of the page as follows [1]_:
304+
305+.. code-block:: rest
306+
307+ .. rubric:: Footnotes
308+
309+ .. [1] Like this
310+
311+Which generates:
312+
313+.. rubric:: Footnotes
314+
315+.. [1] Like this
316+
317+Notes, Warnings, Todo and See Also
318+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
319+
320+Notes, warnings and todos all take similar forms:
321+
322+.. code-block:: rest
323+
324+ .. note::
325+ This is a note
326+
327+ .. warning::
328+ This is a warning
329+
330+ .. todo::
331+ This is a todo
332+
333+ .. seealso::
334+ This is a See Also
335+
336+Which generates:
337+
338+.. note::
339+ This is a note
340+
341+.. warning::
342+ This is a warning
343+
344+.. todo::
345+ This is a todo
346+
347+.. seealso::
348+ This is a See Also
349+
350+Summary
351+^^^^^^^
352+
353+.. seealso::
354+
355+ * `Sphinx documentation <http://sphinx.pocoo.org/contents.html>`_
356+ * `Openalea Sphinx Cheatsheet <http://openalea.gforge.inria.fr/doc/openalea/doc/_build/html/source/sphinx/rest_syntax.html>`_
357+
358+Building Documentation
359+----------------------
360+
361+The documentation is compiled from the ``.rst`` files during ``make``, but to
362+create HTML files from this you will need to run ``make html``.
363+
364+To see other possible formats run ``make sphinx-help``.
365+
366+Committing Documentation
367+------------------------
368+
369+Documentation needs to be committed and merged in exactly the same way as
370+regular development files. For more information on this please see the
371+:ref:`contributing code <code-label>` page.
372
373=== added file 'docs/contributing/introduction.rst'
374--- docs/contributing/introduction.rst 1970-01-01 00:00:00 +0000
375+++ docs/contributing/introduction.rst 2011-02-24 15:02:57 +0000
376@@ -0,0 +1,39 @@
377+Introduction
378+============
379+
380+Drizzle's development primarily happens on
381+`Launchpad <http://launchpad.net/drizzle>`_ which handles code hosting, bugs,
382+mailing lists and everything else needed for project management. You will need
383+a `Launchpad account <https://help.launchpad.net/YourAccount/NewAccount>`_
384+before making most kinds of contributions.
385+
386+One of Drizzle's aims is to have community contributions valued in the same way
387+as core developer contributions, and all code goes through exactly the same
388+approval and testing process no matter who it comes from (core developers or
389+general community).
390+
391+There are many ways to contribute to Drizzle, for example:
392+
393+ * `File a bug <https://bugs.launchpad.net/drizzle/+filebug>`_
394+ * `Write translations <https://translations.launchpad.net/drizzle>`_
395+ * :ref:`Write documentation <documentation-label>`
396+ * :ref:`Write code <code-label>`
397+
398+We recommend anyone new to Drizzle who wants to learn the code see the `Low
399+hanging fruit <https://bugs.launchpad.net/drizzle/+bugs?field.tag=low-hanging-fruit>`_ list of bugs on Launchpad for possible tasks to take on.
400+
401+Bazaar
402+------
403+
404+Launchpad uses `Bazaar <https://launchpad.net/bazaar>`_ for revision control of
405+the source repositories, you will need this insalled before contributing
406+documentation or code.
407+
408+Finding Help
409+------------
410+
411+If you have any questions please contact us at
412+`#drizzle <irc://irc.freenode.net/drizzle>`_
413+`Freenode <http://freenode.net/>`_ IRC channel or via. the
414+`Drizzle Discuss <https://launchpad.net/~drizzle-discuss>`_ mailing list.
415+
416
417=== modified file 'docs/include.am'
418--- docs/include.am 2011-02-19 18:28:30 +0000
419+++ docs/include.am 2011-02-24 15:02:57 +0000
420@@ -17,6 +17,7 @@
421 docs/_static/drizzle.ico \
422 ${top_srcdir}/docs/*.rst \
423 ${top_srcdir}/docs/clients/*.rst \
424+ ${top_srcdir}/docs/contributing/*.rst \
425 ${top_srcdir}/docs/libdrizzle/*.rst \
426 ${top_srcdir}/docs/installing/*.rst \
427 ${top_srcdir}/docs/testing/*.rst
428
429=== modified file 'docs/index.rst'
430--- docs/index.rst 2011-02-21 01:35:37 +0000
431+++ docs/index.rst 2011-02-24 15:02:57 +0000
432@@ -46,6 +46,15 @@
433 installing/ubuntu
434 installing/redhat
435
436+Contributing:
437+-------------
438+.. toctree::
439+ :maxdepth: 2
440+
441+ contributing/introduction
442+ contributing/code
443+ contributing/documentation
444+
445 SQL Language:
446 -------------
447 .. toctree::
448
449=== modified file 'docs/testing/test-run.rst'
450--- docs/testing/test-run.rst 2011-02-23 17:07:17 +0000
451+++ docs/testing/test-run.rst 2011-02-24 15:02:57 +0000
452@@ -1,3 +1,5 @@
453+.. _test-run-label:
454+
455 **********************************
456 test-run.pl - Drizzle testing tool
457 **********************************
458
459=== modified file 'docs/uuid_data_type.rst'
460--- docs/uuid_data_type.rst 2011-01-14 05:09:22 +0000
461+++ docs/uuid_data_type.rst 2011-02-24 15:02:57 +0000
462@@ -11,6 +11,6 @@
463
464 550e8400-e29b-41d4-a716-446655440000
465
466-UUIDs are documented as part of ISO/IEC 11578:1996 "Information technology – Open Systems Interconnection – Remote Procedure Call (RPC)" and more recently in ITU-T Rec. X.667 | ISO/IEC 9834-8:2005. The IETF published Standards Track RFC 4122 that is technically equivalent with ITU-T Rec. X.667 | ISO/IEC 9834-8.
467+UUIDs are documented as part of ISO/IEC 11578:1996 "Information technology – Open Systems Interconnection – Remote Procedure Call (RPC)" and more recently in ITU-T Rec. X.667 | ISO/IEC 9834-8:2005. The IETF published Standards Track :rfc:`4122` that is technically equivalent with ITU-T Rec. X.667 | ISO/IEC 9834-8.
468
469 Drizzle uses libuuid to generate UUID values.

Subscribers

People subscribed via source and target branches