diff --git a/README.rst b/README.rst
index 6f7c8d1..464e9af 100644
--- a/README.rst
+++ b/README.rst
@@ -75,6 +75,21 @@ host machine.
if you want Pagure to provide valid URLs in the UI for git repositories, you
will need to adjust Pagure's configuration found in ~/pagure.cfg on the guest.
+When the vagrant VM is up and running, connect to it with::
+
+ $ vagrant ssh
+
+This will log you into the VM as the user ``vagrant`` which has a couple of aliases
+preconfigured::
+
+ $ pstart # Starts pagure, the workers and other tasks
+ $ pstop # Stops all those tasks again
+ $ pstatus # Shows pagure status
+
+The Vagrant pagure doesn't have its own log file, use ``journalctl -f`` to
+show the pagure output. The verbosity can be configured in the pagure config file
+with the ``LOGGING`` parameter.
+
Docker Compose
^^^^^^^^^^^^^^
Create the folder that will receive the projects, forks, docs, requests and
diff --git a/doc/contributing.rst b/doc/contributing.rst
index 7367f4c..bd54af5 100644
--- a/doc/contributing.rst
+++ b/doc/contributing.rst
@@ -5,7 +5,7 @@ If you're submitting patches to pagure, please observe the following:
- Check that your python code is `PEP8-compliant
`_. There is a `flake8 tool
- `_ that automatically check the sources as
+ `_ that automatically checks the sources as
part of the tests.
- We run the source code through `black `_
diff --git a/doc/development.rst b/doc/development.rst
index c3ba75c..4578a84 100644
--- a/doc/development.rst
+++ b/doc/development.rst
@@ -45,6 +45,14 @@ at the top level of the sources.
but the pygit2 `documentation has a solution for this
`_.
+How to run pagure
+-----------------
+
+There are several options when it comes to a development environment. Vagrant
+will provide you with a virtual machine which you can develop on, you can use
+a container to run pagure or you can install it directly on your host machine.
+The README has detailed instructions for the different options.
+
Run pagure for development
--------------------------
@@ -183,26 +191,30 @@ Coding standards
----------------
We are trying to make the code `PEP8-compliant
-`_. There is a `pep8 tool
-`_ that can automatically check
+`_. There is a `flake8 tool
+`_ that can automatically check
your source.
+We run the source code through `black `_
+as part of the tests, so you may have to do some adjustments or run it
+yourself (which is simple: ``black /path/to/pagure``).
-We are also inspecting the code using `pylint
-`_ and aim of course for a 10/10 code
-(but it is an asymptotic goal).
-
-.. note:: both pep8 and pylint are available in Fedora:
+.. note:: flake8 is available in Fedora:
::
- dnf install python-pep8 pylint
+ dnf install python-flake8
or
::
- yum install python-pep8 pylint
+ yum install python-flake8
+
+.. note:: black is available with pip:
+ ::
+
+ pip3 install --user black
Send patch
@@ -235,6 +247,19 @@ on pagure, by email or after forking the project on pagure by submitting a
pull-request (in which case the last step above ``git format-patch -2`` is not
needed.
+.. note:: Though not required, it’s a good idea to begin the commit message
+ with a single short (less than 50 character) line summarizing the
+ change, followed by a blank line and then a more thorough description.
+ The text up to the first blank line in a commit message is treated
+ as the commit title, and that title is used throughout Git.
+ For example, git-format-patch turns a commit into email, and it
+ uses the title on the Subject line and the rest of the commit in
+ the body.
+ Pagure uses lines that contain only 'Fixes #number' as references
+ to issues. If for example a commit message of a pagure patch has
+ a line 'Fixes #3547' and a pullrequest (PR) gets created in pagure,
+ this PR will be linked to from ``https://pagure.io/pagure/issue/3547``
+
Unit-tests
----------
@@ -253,7 +278,7 @@ as tests checking they work the way they are intended to.
So here are a few steps that one could perform to run unit-tests in a
-local pagure instance.
+local pagure instance.
* Install the dependencies::
@@ -318,3 +343,14 @@ For example:
::
yum install python-coverage
+
+To run the unit-tests, there is also a container available with all the dependencies needed.
+Use the following command to run the tests ::
+
+ $ ./dev/run-tests-docker.py
+
+This command will build a fedora based container and execute the test suite. You can also
+limit the tests to unit-test files or single tests similar to the ``./runtests.sh``
+options described above.
+
+