TW
9ae4bf023e
Merge pull request #2188 from rciorba/hashindex_test
...
add extra test for the hashindex
2017-04-09 20:47:00 +02:00
Patrick Goering
f64f432e51
catch exception for os.link when hardlinks are not supported
2017-04-08 17:10:02 +02:00
Radu Ciorba
9f31dba7b5
cleanup the test and add more checks
2017-04-07 16:00:34 +03:00
Radu Ciorba
8c2064cc5a
add extra test for the hashindex
...
Insert a few keys, delete some of them, check we still have
the values we expect, check the deleted ones aren't there.
2017-04-07 16:00:34 +03:00
Marian Beermann
03ed4d31ca
recreate: expand placeholders
2017-04-06 11:37:55 +02:00
Thomas Waldmann
c7256abd84
borg rename: expand placeholders, fixes #2386
2017-04-06 01:03:24 +02:00
enkore
736a815972
Merge pull request #2342 from ThomasWaldmann/generic-hardlinks
...
Generic hardlinks
2017-04-05 14:34:29 +02:00
enkore
7255e3b298
Merge pull request #2387 from enkore/f/placeholders-internals
...
placeholders: deny access to internals and other unspecified stuff
2017-04-05 14:10:30 +02:00
enkore
9a1c1e90c1
Merge pull request #2375 from enkore/buhdf
...
BORG_HOSTNAME_IS_UNIQUE=yes by default.
2017-04-05 14:09:58 +02:00
Thomas Waldmann
155f38c233
remove comment about strange hardlink_masters term
...
(maybe revisit this later, this is not in scope of the generic hardlinks refactor)
2017-04-05 13:56:57 +02:00
Marian Beermann
cc24fa2064
format_line: whitelist instead of checking against blacklist
2017-04-05 13:51:20 +02:00
Thomas Waldmann
8f769a9b24
implement and use hardlinkable() helper
2017-04-05 13:38:27 +02:00
Thomas Waldmann
cb86bda413
extract: implement extract_helper context manager
...
Most code of the CM is just moved 1:1 from the regular file block.
Use the CM for regular files, FIFOs and devices, but not for:
- directories (can not have hardlinks)
- symlinks (we can not support hardlinked symlinks)
2017-04-05 13:36:09 +02:00
Thomas Waldmann
cda7465038
extract: indent code, no semantics change
...
prepare for a extract_helper context manager
(some changes may seem superfluous, but see the following changesets)
2017-04-05 13:36:00 +02:00
Thomas Waldmann
3cc1cdd2ed
extract: refactor hardlinks related code
...
prepare for a extract_helper context manager
(some changes may seem superfluous, but see the following changesets)
2017-04-05 13:03:58 +02:00
Thomas Waldmann
23cc679617
no hardlinking for directories and symlinks
...
- nlink > 1 for dirs does not mean hardlinking
(at least not everywhere, wondering how apple does it)
- we can not archive hardlinked symlinks due to item.source dual-use,
see issue #2343 .
likely nobody uses this anyway.
2017-04-05 13:03:53 +02:00
Thomas Waldmann
1f6dc55eab
simplify char/block device file dispatching
2017-04-05 13:01:04 +02:00
Thomas Waldmann
9478e8abd0
support hardlinks via create_helper context manager
...
also: reduce code duplication
2017-04-05 12:58:25 +02:00
Thomas Waldmann
e5d094d0ce
use same finalizing code for hardlink masters and slaves
...
hardlink slaves get a precomputed size attribute now.
2017-04-05 12:31:15 +02:00
Thomas Waldmann
a206a85890
indent block, no semantics change
2017-04-05 12:31:11 +02:00
Thomas Waldmann
66f4cd1a29
minor refactor for regular file hardlink processing
2017-04-05 12:24:08 +02:00
enkore
7a80b1802f
Merge pull request #2383 from enkore/f/recreaterecompressargsthingsthatareugly
...
recreate: add --recompress flag, avoid weirdo use of args.compression
2017-04-05 12:23:59 +02:00
Marian Beermann
707316b0ea
placeholders: document escaping
2017-04-05 00:11:46 +02:00
Marian Beermann
1bd381a13a
format_line: deny conversions (!r, !s, !a)
2017-04-05 00:09:32 +02:00
Marian Beermann
e2e172c74f
format_line: clearer error message for unrecognized placeholder
2017-04-05 00:09:32 +02:00
Marian Beermann
1924e33ef5
format_line: deny access to internal objects
2017-04-05 00:09:31 +02:00
Marian Beermann
dcfbd39125
recreate: unify --always-recompress and --recompress
2017-04-04 18:34:37 +02:00
Marian Beermann
88dfb3e9c5
serve: fix forced command lines containing BORG_ env vars
2017-04-04 15:25:40 +02:00
Marian Beermann
b2953357ed
recreate: add --recompress flag, avoid weirdo use of args.compression
2017-04-04 15:11:15 +02:00
Marian Beermann
2ff75d58f2
remove Chunk()
2017-04-04 00:16:15 +02:00
Marian Beermann
69fb9bd403
remove --compression-from
2017-04-04 00:16:15 +02:00
Marian Beermann
929f2760dd
change global compression default to lz4 as well
...
To be consistent with --compression defaults.
2017-04-04 00:16:15 +02:00
Marian Beermann
0847c3f9a5
Unify ComprSpec and CompressionSpec; don't instanciate Compressors right away
2017-04-04 00:16:14 +02:00
Marian Beermann
d1826cca92
Rename CompressionDecider1 -> CompressionDecider
2017-04-03 21:31:28 +02:00
Marian Beermann
0c7410104c
Rename Chunk.meta[compress] => Chunk.meta[compressor]
2017-04-03 21:31:28 +02:00
Marian Beermann
88647595ac
compress: docs
2017-04-03 21:31:28 +02:00
Marian Beermann
5a20fc08de
key: compress(chunk) return data
2017-04-03 21:31:28 +02:00
Marian Beermann
a27f585eaa
refactor CompressionDecider2 into a meta Compressor
2017-04-03 21:31:28 +02:00
Marian Beermann
bb6b4fde93
BORG_HOSTNAME_IS_UNIQUE=yes by default.
2017-04-01 21:28:41 +02:00
Thomas Waldmann
bdbcbf7bb8
extract: remove duplicate code
...
anything at <path> gets nuked already a few lines above, if possible.
2017-04-01 16:56:21 +02:00
Thomas Waldmann
d4e27e2952
extract: small bugfix and refactoring for parent dir creation
...
make_parent(path) helper to reduce code duplication.
also use it for directories although makedirs can also do it.
bugfix: also create parent dir for device files, if needed.
2017-03-28 23:22:25 +02:00
Thomas Waldmann
ceaf4a8fcf
extract: small bugfix and optimization for hardlink masters
...
if a hardlink master is not in the to-be-extracted subset, the "x"
status was not displayed for it.
also, the matcher was called twice for matching items.
2017-03-28 22:02:54 +02:00
Thomas Waldmann
38860b3f53
lz4 compress: lower max. buffer size, exception handling
...
on the wheezy32 test machine, a test testing with corrupted data crashed
with a MemoryError when it tried to get a ~800MB large buffer.
MemoryError is now transformed to DecompressionError, so it gets handled
better.
Also, the bound for giving up is now much lower: 1GiB -> 128MiB.
2017-03-27 12:08:54 +02:00
Thomas Waldmann
acd3da62f4
add docstring to do_benchmark_crud
2017-03-27 01:57:52 +02:00
Thomas Waldmann
5bc17148e1
patterns help: mention path full-match in intro
2017-03-27 01:45:04 +02:00
Thomas Waldmann
cb6bfdf4d6
add docs for path full-match patterns
2017-03-27 00:31:08 +02:00
Thomas Waldmann
93feb75411
optimize PathFullPattern matching for O(1) time
...
For a borg create run using a patterns file with 15.000 PathFullPattern excludes
that excluded almost all files in the input data set:
- before this optimization: ~60s
- after this optimization: ~1s
2017-03-27 00:31:08 +02:00
Thomas Waldmann
ebd928795e
add PathFullPattern
...
not really a pattern (as in potentially having any variable parts) - it just does a full,
precise match, after the usual normalizations.
the reason for adding this is mainly for later optimizations, e.g. via set membership check,
so that a lot of such PathFullPatterns can be "matched" within O(1) time.
2017-03-27 00:31:08 +02:00
Thomas Waldmann
90dd0e8eca
fix symlink item fs size computation
...
a symlink has a 'source' attribute, so it was confused with a hardlink
slave here. see also issue #2343 .
also, a symlink's fs size is defined as the length of the target path.
2017-03-26 23:11:14 +02:00
Thomas Waldmann
a9088135aa
RemoteRepository: shutdown with timeout
2017-03-26 17:41:41 +02:00