Repository: borgbackup/borg

Issue:
build_man issues
```
(borg-env) tw@tux:~/w/borg$ python setup.py build_man
running build_man
building man pages (in docs/man)
building man page borg-benchmark(1)
building man page borg-benchmark-crud(1)
docs/virtmanpage.rst:56: (ERROR/3) Unexpected indentation.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
building man page borgfs(1)
building man page borg-break-lock(1)
building man page borg-change-passphrase(1)
building man page borg-check(1)
building man page borg-create(1)
building man page borg-delete(1)
building man page borg-diff(1)
building man page borg-export-tar(1)
building man page borg-extract(1)
building man page borg-info(1)
building man page borg-init(1)
building man page borg-key(1)
building man page borg-key-change-passphrase(1)
building man page borg-key-export(1)
building man page borg-key-import(1)
building man page borg-key-migrate-to-repokey(1)
building man page borg-list(1)
building man page borg-mount(1)
building man page borg-prune(1)
docs/virtmanpage.rst:145: (ERROR/3) Unknown directive type "highlight".
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. highlight:: none

building man page borg-recreate(1)
building man page borg-rename(1)
building man page borg-serve(1)
building man page borg-umount(1)
building man page borg-upgrade(1)
building man page borg-with-lock(1)
building man page borg-patterns(1)
building man page borg-placeholders(1)
building man page borg-compression(1)
building man page borg(1)
docs/usage_general.rst.inc:: (WARNING/2) "table row spanning" not supported
docs/usage_general.rst.inc:: (WARNING/2) "table row spanning" not supported
docs/usage_general.rst.inc:: (WARNING/2) "table cell spanning" not supported
docs/usage_general.rst.inc:: (WARNING/2) "table row spanning" not supported
```
build_man issues
```
(borg-env) tw@tux:~/w/borg$ python setup.py build_man
running build_man
building man pages (in docs/man)
building man page borg-benchmark(1)
building man page borg-benchmark-crud(1)
docs/virtmanpage.rst:56: (ERROR/3) Unexpected indentation.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
building man page borgfs(1)
building man page borg-break-lock(1)
building man page borg-change-passphrase(1)
building man page borg-check(1)
building man page borg-create(1)
building man page borg-delete(1)
building man page borg-diff(1)
building man page borg-export-tar(1)
building man page borg-extract(1)
building man page borg-info(1)
building man page borg-init(1)
building man page borg-key(1)
building man page borg-key-change-passphrase(1)
building man page borg-key-export(1)
building man page borg-key-import(1)
building man page borg-key-migrate-to-repokey(1)
building man page borg-list(1)
building man page borg-mount(1)
building man page borg-prune(1)
docs/virtmanpage.rst:145: (ERROR/3) Unknown directive type "highlight".
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. highlight:: none

building man page borg-recreate(1)
building man page borg-rename(1)
building man page borg-serve(1)
building man page borg-umount(1)
building man page borg-upgrade(1)
building man page borg-with-lock(1)
building man page borg-patterns(1)
building man page borg-placeholders(1)
building man page borg-compression(1)
building man page borg(1)
docs/usage_general.rst.inc:: (WARNING/2) "table row spanning" not supported
docs/usage_general.rst.inc:: (WARNING/2) "table row spanning" not supported
docs/usage_general.rst.inc:: (WARNING/2) "table cell spanning" not supported
docs/usage_general.rst.inc:: (WARNING/2) "table row spanning" not supported
```


Discussion:
Looks like the bottom ones are Sphinx's problem; one could open an issue similar to sphinx-doc/sphinx#2915 for man pages. I don't know much about man formatting but I think [the table format](https://linux.die.net/man/1/tbl) *could* do cells spanning the whole row or column. They're just warnings anyway; not stopping the build.
Looks like the bottom ones are Sphinx's problem; one could open an issue similar to sphinx-doc/sphinx#2915 for man pages. I don't know much about man formatting but I think [the table format](https://linux.die.net/man/1/tbl) *could* do cells spanning the whole row or column. They're just warnings anyway; not stopping the build.

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -678,7 +678,7 @@ def issue(name, rawtext, text, lineno, inliner, options={}, content=[]):
         roles.register_local_role('issue', issue)
         # We give the source_path so that docutils can find relative includes
         # as-if the document where located in the docs/ directory.
-        man_page = publish_string(source=rst, source_path='docs/virtmanpage.rst', writer=manpage.Writer())
+        man_page = publish_string(source=rst, source_path='docs/%s.rst' % name, writer=manpage.Writer())
         with open('docs/man/%s.1' % name, 'wb') as fd:
             fd.write(man_page)
 
diff --git a/src/borg/archiver.py b/src/borg/archiver.py
--- a/src/borg/archiver.py
+++ b/src/borg/archiver.py
@@ -3768,7 +3768,7 @@ def define_archive_filters_group(subparser, *, sort_by=True, first_last=True):
         R- == borg extract (extract archive, dry-run, do everything, but do not write files to disk)
               R-Z- == all zero files. Measuring heavily duplicated files.
               R-R- == random files. No duplication here, measuring throughput through all processing
-                      stages, except writing to disk.
+              stages, except writing to disk.
 
         U- == borg create (2nd archive creation of unchanged input files, measure files cache speed)
               The throughput value is kind of virtual here, it does not actually read the file.


Test patch: