Commit Graph

179 Commits

Author SHA1 Message Date
enkore 12fd244801 Merge pull request #2748 from enkore/f/cleanup-argparse2
archiver: more argparse cleanup, redundant options, missing metavars
2017-06-27 10:05:21 +02:00
Marian Beermann 12bcccc0d6 docs: html: include group description in output 2017-06-26 23:10:12 +02:00
Thomas Waldmann 8aba5772b5 include attic.tar.gz when installing the package 2017-06-26 22:23:02 +02:00
Marian Beermann 88ae1ebf33 docs: format metavars more accurately 2017-06-21 00:13:33 +02:00
Marian Beermann a9059a64bd docs: use DOM ready event, not document loaded event 2017-06-20 15:48:30 +02:00
Marian Beermann 9d33ff1720 docs: skip empty option groups 2017-06-20 15:30:20 +02:00
Marian Beermann e76fae0545 docs: uniform tables for listing options (HTML only) 2017-06-20 15:23:52 +02:00
Marian Beermann a1a92bf00f docs: less space waste following "Common options" 2017-06-20 11:53:36 +02:00
Marian Beermann 6290b73863 docs: more compact options formatting 2017-06-20 11:48:46 +02:00
Marian Beermann 48e815883f docs: usage: fix unintended block quota in common options 2017-06-18 02:07:37 +02:00
enkore d06ee5648c Merge pull request #2572 from enkore/f/fastcachesync
Improve cache sync speed
2017-06-10 17:12:51 +02:00
Marian Beermann 3f8a0221ee Revert "move chunker to borg.algorithms"
This reverts commit 956b50b29c.

# Conflicts:
#	setup.py
#	src/borg/archive.py
#	src/borg/helpers.py
2017-06-07 23:51:42 +02:00
Marian Beermann 0d6064e7f3 docs: fix build_man for relocated examples 2017-06-07 16:29:37 +02:00
Marian Beermann 13adc80cde docs: usage: avoid bash highlight, [options] instead of <options> 2017-06-07 00:44:53 +02:00
Marian Beermann 8fb7db71bc docs: split usage 2017-06-07 00:38:48 +02:00
Marian Beermann c786a5941e CacheSynchronizer: redo as quasi FSM on top of unpack.h
This is a (relatively) simple state machine running in the
data callbacks invoked by the msgpack unpacking stack machine
(the same machine is used in msgpack-c and msgpack-python,
changes are minor and cosmetic, e.g. removal of msgpack_unpack_object,
removal of the C++ template thus porting to C and so on).

Compared to the previous solution this has multiple advantages
- msgpack-c dependency is removed
- this approach is faster and requires fewer and smaller
  memory allocations

Testability of the two solutions does not differ in my
professional opinion(tm).

Two other changes were rolled up; _hashindex.c can be compiled
without Python.h again (handy for fuzzing and testing);
a "small" bug in the cache sync was fixed which allocated too
large archive indices, leading to excessive archive.chunks.d
disk usage (that actually gave me an idea).
2017-06-02 17:43:15 +02:00
Marian Beermann 740898d83b CacheSynchronizer 2017-06-02 17:43:14 +02:00
Marian Beermann 6c91a750d1 algorithms: rename crc32 to checksums 2017-06-01 21:26:42 +02:00
Marian Beermann 0a295dd753 setup.py clean to remove compiled files 2017-05-25 17:58:57 +02:00
enkore 226d1f6094 Revert "docs: borg_domain for custom priority index entries" 2017-05-22 20:45:29 +02:00
Marian Beermann 7284413e3f docs: borg_domain for custom priority index entries 2017-05-22 20:08:11 +02:00
Marian Beermann d5edb011f0 support common options 2017-05-14 18:45:20 +02:00
Marian Beermann c99de523ea remove duplicated setup.py line 2017-05-05 14:42:41 +02:00
Marian Beermann a976e11a63 create crypto package with key, keymanager, low_level 2017-05-02 20:49:27 +02:00
Marian Beermann 956b50b29c move chunker to borg.algorithms 2017-05-02 19:15:01 +02:00
Marian Beermann fa381ffcbe create package borg.algorithms with borg.algorithms.crc32 module 2017-05-02 18:53:54 +02:00
Marian Beermann 475d53d9ef docs: kill api page 2017-03-25 15:41:11 +01:00
Marian Beermann 788b608aa9 setup.py build_usage/build_man fixes 2017-02-14 23:02:56 +01:00
Marian Beermann 44798e0edd setup.py: build_api: sort file list for determinism
# Conflicts:
#	docs/api.rst
#	setup.py

Original-Commit: e208d115
2017-02-13 21:24:33 +01:00
Martin Hostettler 179f1bc147 Add qr html export mode to `key export` command 2017-02-13 21:24:33 +01:00
Marian Beermann 1d9378f12c man pages: generate page for subparsers, eg. borg-key(1)
Conflicts:
	docs/man/borg-key.1
2017-02-12 15:28:59 +01:00
Marian Beermann fa24e1f38f man pages: add borg(1) master/intro page 2017-02-12 15:28:59 +01:00
Marian Beermann 0710bbd40e docs: create: move item flags to main doc 2017-02-12 15:28:58 +01:00
Marian Beermann 83bb25d848 man pages: add EXAMPLES
hacky, but works. Better would be to make a separate docs/examples dir
with only the examples in them, separated by command.

Or, putting these different sections; DESCRIPTION, EXAMPLES and NOTES
into the --help doc, but separately of course, so that they can be aptly
formatted for different media (html, --help, man).
2017-02-05 15:46:46 +01:00
Marian Beermann e5ea876f90 man pages: remove reference to borg(1) -- would have to be written first
A compact introduction and perhaps a condensed quickstart would
be good for borg(1).
2017-02-05 15:46:44 +01:00
Marian Beermann c7106e756e create real nice man pages 2017-02-05 15:46:09 +01:00
Marian Beermann eace147611 setup.py: add crc32.c to sdist 2017-01-14 22:27:39 +01:00
Thomas Waldmann e4c5db4efc posix platform module: only build / import on non-win32 platforms, fixes #2041
rather use a inverted check like "not windows".
also: add a base implementation for this stuff, just raising NotImplementedError
2017-01-14 14:48:49 +01:00
Marian Beermann ecad0ed53a Merge branch '1.0-maint' into merge/1.0-maint
# Conflicts: ... everywhere ...
#	.travis.yml
#	Vagrantfile
#	borg/testsuite/key.py
#	docs/changes.rst
#	docs/quickstart.rst
#	docs/usage.rst
#	docs/usage/upgrade.rst.inc
#	src/borg/archive.py
#	src/borg/archiver.py
#	src/borg/crypto.pyx
#	src/borg/helpers.py
#	src/borg/key.py
#	src/borg/remote.py
#	src/borg/repository.py
#	src/borg/testsuite/archive.py
#	src/borg/testsuite/archiver.py
#	src/borg/testsuite/crypto.py
#	src/borg/testsuite/helpers.py
#	src/borg/testsuite/repository.py
#	src/borg/upgrader.py
#	tox.ini
2017-01-12 15:01:41 +01:00
Thomas Waldmann 7d4d7e7901 setup.py: add Python 3.6 qualifier 2017-01-04 01:03:18 +01:00
Marian Beermann 9afebead84 two fast CRC implementations
CRC slice by 8 for generic CPUs outperforms zlib CRC32 on ppc
and x86 (ARM untested but expected to as well).

PCLMULQDQ derived from Intel's zlib patches outperforms every other
CRC implementation by a huge margin.
2017-01-02 15:54:14 +01:00
Marian Beermann 5e1cb9d899 Add tertiary authentication for metadata (TAM) 2016-12-20 22:53:53 +01:00
Thomas Waldmann c855c687eb Merge branch '1.0-maint' 2016-12-14 03:33:53 +01:00
Marian Beermann b885841c39 make item native code
This makes an surprisingly large difference. Test case: ~70000 empty files.
(Ie. little data shoveling, lots of metadata shoveling). Before: 9.1 seconds
+- 0.1 seconds. After: 8.4 seconds +- 0.1 seconds.). That's a huge
win for changing a few lines.

I'd expect that this improves performance in almost all areas that touch
the items (list, delete, prune).
2016-12-03 00:11:36 +01:00
Marian Beermann 288cac788c setup.py: build_usage: don't generate includes for debug commands 2016-12-02 13:28:49 +01:00
Marian Beermann 1c261f6b7b setup.py: fix build_usage not processing all commands 2016-12-02 13:25:24 +01:00
Thomas Waldmann c83a124e65 Merge branch '1.0-maint' (into master) 2016-11-28 02:23:32 +01:00
Antoine Beaupré fbada18b0d display README correctly on PyPI
I have discovered that PyPI is way more sensitive to RST warnings than
other platforms: warnings and errors will make the document not show
up correctly, which is currently the case here:

https://pypi.python.org/pypi/borgbackup/

the suggested changes remove Sphinx-specific markup from the output,
namely the badges and `|replacement|` patterns, but also the
`higlight` directive. this also requires adding tags to the README to
mark the badges to remove and removal of the `none` argument for the
`.. code-block::` element which was not having any significant in
Sphinx anyways.
2016-11-24 09:09:15 -05:00
Marian Beermann c380d91805 fixes for flake 3.1.1 2016-11-14 21:50:20 +01:00
Marian Beermann a31ca4f022
crypto: link against system libb2, if possible 2016-11-11 03:08:11 +01:00