|  | @@ -141,25 +141,36 @@ Important notes:
 | 
	
		
			
				|  |  |  - When using ``--`` to give options to py.test, you MUST also give ``borg.testsuite[.module]``.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Regenerate usage files
 | 
	
		
			
				|  |  | -----------------------
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -Usage and API documentation is currently committed directly to git,
 | 
	
		
			
				|  |  | -although those files are generated automatically from the source
 | 
	
		
			
				|  |  | -tree.
 | 
	
		
			
				|  |  | +Documentation
 | 
	
		
			
				|  |  | +-------------
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -When a new module is added, the ``docs/api.rst`` file needs to be
 | 
	
		
			
				|  |  | -regenerated::
 | 
	
		
			
				|  |  | +Generated files
 | 
	
		
			
				|  |  | +~~~~~~~~~~~~~~~
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  ./setup.py build_api
 | 
	
		
			
				|  |  | +Usage documentation (found in ``docs/usage/``) and man pages
 | 
	
		
			
				|  |  | +(``docs/man/``) are generated automatically from the command line
 | 
	
		
			
				|  |  | +parsers declared in the program and their documentation, which is
 | 
	
		
			
				|  |  | +embedded in the program (see archiver.py). These are committed to git
 | 
	
		
			
				|  |  | +for easier use by packagers downstream.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  When a command is added, a commandline flag changed, added or removed,
 | 
	
		
			
				|  |  |  the usage docs need to be rebuilt as well::
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  ./setup.py build_usage
 | 
	
		
			
				|  |  | +  python setup.py build_usage
 | 
	
		
			
				|  |  | +  python setup.py build_man
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +However, we prefer to do this as part of our :ref:`releasing`
 | 
	
		
			
				|  |  | +preparations, so it is generally not necessary to update these when
 | 
	
		
			
				|  |  | +submitting patches that change something about the command line.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +The code documentation (which is currently not part of the released
 | 
	
		
			
				|  |  | +docs) also uses a generated file (``docs/api.rst``), that needs to be
 | 
	
		
			
				|  |  | +updated when a module is added or removed::
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  python setup.py build_api
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Building the docs with Sphinx
 | 
	
		
			
				|  |  | ------------------------------
 | 
	
		
			
				|  |  | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  The documentation (in reStructuredText format, .rst) is in docs/.
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -230,6 +241,7 @@ therefore we recommend to use these merge parameters::
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    git merge 1.0-maint -s recursive -X rename-threshold=20%
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +.. _releasing:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Creating a new release
 | 
	
		
			
				|  |  |  ----------------------
 | 
	
	
		
			
				|  | @@ -243,7 +255,7 @@ Checklist:
 | 
	
		
			
				|  |  |  - update ``CHANGES.rst``, based on ``git log $PREVIOUS_RELEASE..``
 | 
	
		
			
				|  |  |  - check version number of upcoming release in ``CHANGES.rst``
 | 
	
		
			
				|  |  |  - verify that ``MANIFEST.in`` and ``setup.py`` are complete
 | 
	
		
			
				|  |  | -- ``python setup.py build_api ; python setup.py build_usage`` and commit
 | 
	
		
			
				|  |  | +- ``python setup.py build_api ; python setup.py build_usage ; python setup.py build_man`` and commit
 | 
	
		
			
				|  |  |  - tag the release::
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      git tag -s -m "tagged/signed release X.Y.Z" X.Y.Z
 |