diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 000000000..6c014d063 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,11 @@ +**Please provide the following information** + +libtorrent version (or branch): + +platform/architecture: + +compiler and compiler version: + +please describe what symptom you see, what you would expect to see instead and +how to reproduce it. + diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst new file mode 100644 index 000000000..210554e2b --- /dev/null +++ b/CONTRIBUTING.rst @@ -0,0 +1,47 @@ +For general contribution guidelines, see `www.contribution-guide.org`__ + +.. __: http://www.contribution-guide.org/ + +bug reporting checklist +....................... + +Please keep in mind that there are at least 3 different ways of building +libtorrent (boost-build, autotools and cmake). There are also a number of build +time configuration options (``TORRENT_*`` macros). If it may be relevant, please +include how libtorrent was built in your bug report. + +boost-build is the authoritative build platform and autotools is the +authoritative package tool. If there's a problem with a build script, please +consider posting a pull request with a fix. + +Please be explicit about the behavior you see, ideally boil it down to its +essentials and provide example code, calling into libtorrent, reproducing the +problem. + +For bittorrent protocol level issues, please include session, torrent and peer +level logs. The logs are available as alerts in libtorrent 1.1 and later (and +have to be enabled). + +For tracker issues, please include a wireshark dump of the tracker announce +and response. It may be useful to also include session and torrent logs. + +pull request checklist +...................... + +When creating a pull request, please consider the following checklist: + +* make sure both travis-CI and appveyor builds are green. Note that on gcc and + clang warnings are treated as errors. Some tests may be flapping, if so, + please issue a rebuild of the specific build configuration. (I'm working on + making all tests deterministic) +* please make sure to add appropriate comments. For client-facing changes, + update the documentation comments in the public header (accepts restructured + text) +* If adding a client-facing feature, please add brief entry to ``ChangeLog`` +* Add a unit test (``tests``) or a regression test (``simulations``) to confirm + the new behavior or feature. Don't forget negative tests (failure cases) and + please pay as much care to tests as you would production code. +* if your patch adds a new .cpp file, please make sure it's added to the + appropriate ``Jamfile``, ``Makefile.am`` and ``CMakeList.txt``. If it's adding + a header file, make sure it's added to ``include/libtorrent/Makefile.am``. + diff --git a/README.rst b/README.rst index 90bad7ea5..6a4581ef6 100644 --- a/README.rst +++ b/README.rst @@ -37,23 +37,3 @@ options are available. For python bindings, see `the python docs`__. .. __: docs/building.rst .. __: docs/python_binding.rst -pull request checklist -...................... - -When creating a pull request, please consider the following checklist: - -* make sure both travis-CI and appveyor builds are green. Note that on gcc and - clang warnings are treated as errors. Some tests may be flapping, if so, - please issue a rebuild of the specific build configuration. (I'm working on - making all tests deterministic) -* If adding a user-facing feature, please add brief entry to ``ChangeLog`` -* Add a unit test to confirm the new behavior or feature. Don't forget negative - tests (i.e. failure cases) and please pay as much care to tests as you would - production code. -* rebase on top of master periodically -* if your patch is against the current stable release branch, please also - forward-port the patch to master (at the time of this writing, automatic - merge in git does not work, possibly because the branch was created in svn) -* if your patch adds a new .cpp file, please make sure it's added to the - appropriate ``Jamfile``, ``Makefile.am`` and ``CMakeList.txt``. If it's adding - a header file, make sure it's added to ``include/libtorrent/Makefile.am``.