1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2024-12-26 01:37:20 +00:00
Commit graph

169 commits

Author SHA1 Message Date
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
Thomas Waldmann
09e74af7bf Merge branch '1.0-maint' 2016-10-24 21:41:20 +02:00
Thomas Waldmann
f10700841f add comment about requiring llfuse, fixes #1726 2016-10-19 00:56:22 +02:00
Thomas Waldmann
47cf501bc1 Merge branch '1.0-maint' into merge-1.0-maint 2016-09-27 22:35:30 +02:00
Martin Hostettler
fe9816d8d4 setup.py: Fix build_usage to always process all commands. 2016-09-27 22:34:19 +02:00
Thomas Waldmann
2a864be84f Merge branch '1.0-maint' into merge-1.0-maint
# Conflicts:
#	setup.py
#	src/borg/archiver.py
#	src/borg/helpers.py
2016-09-27 21:31:41 +02:00
Martin Hostettler
a11436cfb6 setup.py: Add subcommand support to build_usage. 2016-09-25 17:11:56 +02:00
Thomas Waldmann
3baa8a3728 Merge branch '1.0-maint'
# Conflicts:
#	docs/changes.rst
#	docs/usage/mount.rst.inc
#	src/borg/archive.py
#	src/borg/archiver.py
#	src/borg/fuse.py
#	src/borg/testsuite/archiver.py
2016-07-11 01:23:27 +02:00
Thomas Waldmann
5660cd1f96 fix most non-python-source related sphinx warnings
literal blocks must be followed by an empty line

suppressed the non-local image uri warning via sphinx config

the links on the resources page must have different label texts

setup.py: do not generate pointless "::\n" - it does not create a literal block if the stuff below is not indented
2016-07-10 17:25:51 +02:00
Thomas Waldmann
12f55f4e9f Merge branch '1.0-maint' 2016-07-06 01:33:53 +02:00
Thomas Waldmann
2f2925ed89 add a do-not-edit note to auto-generated files 2016-07-05 23:29:23 +02:00