提交 da05322f 编写于 作者: A Andrea Bolognani

docs: Update hacking.rst

This organizes the existing contents into sections, tweaks some parts
a bit and adds links to the pages where the contents that were ripped
out of hacking.rst now live, either inline or in the catch-all "further
reading" section depending on what makes more sense.

The result is that it's now possible to consume this page, which is
the entry point for new contributors, in just a few minutes, and then
drill down further based on factors such as the familiarity with the
open source development model or mail-based workflows.
Signed-off-by: NAndrea Bolognani <abologna@redhat.com>
Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
上级 435eff14
====================== ============
Contributor guidelines Contributing
====================== ============
.. contents:: These are the basics steps you need to follow to contribute to
libvirt.
General tips for contributing patches
===================================== Repositories and external resources
===================================
#. Official upstream repository is kept in git
(``https://libvirt.org/git/libvirt.git``) and is browsable The official upstream repository is kept in git
along with other libvirt-related repositories (e.g. (``https://libvirt.org/git/libvirt.git``) and is browsable
libvirt-python) `online <https://libvirt.org/git/>`__. along with other libvirt-related repositories (e.g.
libvirt-python) `online <https://libvirt.org/git/>`__.
#. Patches to translations are maintained via the `zanata
project <https://fedora.zanata.org/>`__. If you want to fix a Patches to translations are maintained via the `zanata
translation in a .po file, join the appropriate language team. project <https://fedora.zanata.org/>`__. If you want to fix a
The libvirt release process automatically pulls the latest translation in a .po file, join the appropriate language team.
version of each translation file from zanata. The libvirt release process automatically pulls the latest
version of each translation file from zanata.
#. Contributors to libvirt projects **must** assert that they are
in compliance with the `Developer Certificate of Origin Preparing patches
1.1 <https://developercertificate.org/>`__. This is achieved by =================
adding a "Signed-off-by" line containing the contributor's name
and e-mail to every commit message. The presence of this line Make sure your patches apply against libvirt git. Developers
attests that the contributor has read the above lined DCO and only follow git and don't care much about released versions.
agrees with its statements.
Run the automated tests on your code before submitting any
#. Make sure your patches apply against libvirt GIT. Developers changes. That is:
only follow GIT and don't care much about released versions.
::
#. Run the automated tests on your code before submitting any
changes. That is: $ make check
$ make syntax-check
::
These tests help making sure that your changes don't introduce
make check regressions in libvirt, as well as validating that any new code
make syntax-check follows the project's `coding style <coding-style.html>`__.
#. Update tests and/or documentation, particularly if you are If you're going to submit multiple patches, the automated tests
adding a new feature or changing the output of a program. must pass **after each patch**, not just after the last one.
#. Don't forget to update the `release notes <news.html>`__ by Update tests and/or documentation, particularly if you are
changing ``docs/news.xml`` if your changes are significant. All adding a new feature or changing the output of a program, and
user-visible changes, such as adding new XML elements or fixing don't forget to update the `release notes <news.html>`__ if your
all but the most obscure bugs, must be (briefly) described in a changes are significant and user-visible.
release notes entry; changes that are only relevant to other
libvirt developers, such as code refactoring, don't belong in Submitting patches
the release notes. Note that ``docs/news.xml`` should be ==================
updated in its own commit not to get in the way of backports.
Libvirt uses a mailing list based development workflow.
While preparing your patches for submissions, make sure you
follow the `best practices <best-practices.html>`__ and, once
you're satisfied with the result, go ahead and
`submit your patches <submitting-patches.html>`__.
Developer Certificate of Origin
===============================
Contributors to libvirt projects **must** assert that they are
in compliance with the `Developer Certificate of Origin
1.1 <https://developercertificate.org/>`__. This is achieved by
adding a "Signed-off-by" line containing the contributor's name
and e-mail to every commit message. The presence of this line
attests that the contributor has read the above lined DCO and
agrees with its statements.
Further reading
===============
This page only covers the very basics, so it's recommended that
you also take a look at the following documents:
- `Programming languages <programming-languages.html>`__
- `Developer tooling <developer-tooling.html>`__
- `Advanced test suite usage <advanced-tests.html>`__
- `Adoption of GLib APIs <glib-adoption.html>`__
- `Committer guidelines <committer-guidelines.html>`__
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册