Commit Graph

3885 Commits

Author SHA1 Message Date
Marian Beermann e8b74fcac3 docs: faq: fix title underlines 2017-04-28 10:39:32 +02:00
TW 5a7c269d89 Merge pull request #2451 from ThomasWaldmann/update-osxfuse
upgrade FUSE for macOS to 3.5.8, fixes #2346
2017-04-28 06:01:42 +02:00
TW 6bcf6b6779 Merge pull request #2450 from wolfpackmars2/patch-1
Fix formatting in pre-installation section
2017-04-28 04:47:32 +02:00
Steve Groesz ff4120184c Fix formatting in pre-installation section
Some documentation was improperly formatted with #2392. This corrects those errors.
2017-04-26 22:25:15 -05:00
Thomas Waldmann 5ffb66fdd5 upgrade FUSE for macOS to 3.5.8, fixes #2346 2017-04-27 01:34:53 +02:00
TW 6f47b797f9 Merge pull request #2322 from edgimar/master
allow excluding parent and including child, fixes #2314
2017-04-23 12:58:10 +02:00
Steve Groesz 3eb3e31a8c FAQ to explain warning when running --repair (#2393)
FAQ to explain warning when running --repair, fixes #2341
2017-04-23 12:52:44 +02:00
Steve Groesz 605f281b37 Document repository file system requirements
#2080
2017-04-23 12:48:28 +02:00
TW bc3bc1a79c Merge pull request #2408 from ThomasWaldmann/update-changes-master
update CHANGES (master)
2017-04-20 14:20:19 +02:00
enkore b32b7b4475 Merge pull request #2431 from enkore/issue/2430
platform.linux: get rid of "resource" module
2017-04-19 11:51:19 +02:00
Marian Beermann 7b519e4769 platform.linux: get rid of "resource" module 2017-04-19 11:31:40 +02:00
enkore e40c005b88 Merge pull request #2420 from rugk/patch-1
Add --one-file-system note for root backup
2017-04-15 14:27:41 +02:00
rugk 5ddf7e7922 Add --one-file-system note for root backup 2017-04-15 12:38:58 +02:00
Mark Edgington 798127f636 allow excluding parent and including child, fixes #2314
This fixes the problem raised by issue #2314 by requiring that each root
subtree be fully traversed.

The problem occurs when a patterns file excludes a parent directory P later
in the file, but earlier in the file a subdirectory S of P is included.
Because a tree is processed recursively with a depth-first search, P is
processed before S is.  Previously, if P was excluded, then S would not even
be considered.  Now, it is possible to recurse into P nonetheless, while not
adding P (as a directory entry) to the archive.

With this commit, a `-` in a patterns-file will allow an excluded directory
to be searched for matching descendants.  If the old behavior is desired, it
can be achieved by using a `!` in place of the `-`.

The following is a list of specific changes made by this commit:

 * renamed InclExclPattern named-tuple -> CmdTuple (with names 'val' and 'cmd'), since it is used more generally for commands, and not only for representing patterns.
 * represent commands as IECommand enum types (RootPath, PatternStyle, Include, Exclude, ExcludeNoRecurse)
 * archiver: Archiver.build_matcher() paths arg renamed -> include_paths to prevent confusion as to whether the list of paths are to be included or excluded.
 * helpers: PatternMatcher has recurse_dir attribute that is used to communicate whether an excluded dir should be recursed (used by Archiver._process())
 * archiver: Archiver.build_matcher() now only returns a PatternMatcher instance, and not an include_patterns list -- this list is now created and housed within the PatternMatcher instance, and can be accessed from there.
 * moved operation of finding unmatched patterns from Archiver to PatternMatcher.get_unmatched_include_patterns()
 * added / modified some documentation of code
 * renamed _PATTERN_STYLES -> _PATTERN_CLASSES since "style" is ambiguous and this helps clarify that the set contains classes and not instances.
 * have PatternBase subclass instances store whether excluded dirs are to be recursed.  Because PatternBase objs are created corresponding to each +, -, ! command it is necessary to differentiate - from ! within these objects.
 * add test for '!' exclusion rule (which doesn't recurse)
2017-04-12 12:06:18 -04:00
Thomas Waldmann ca95516540 update CHANGES (master) 2017-04-09 21:20:58 +02:00
TW 9ae4bf023e Merge pull request #2188 from rciorba/hashindex_test
add extra test for the hashindex
2017-04-09 20:47:00 +02:00
TW 92acc46fad Merge pull request #2406 from patrickgoering/master
hardlink issue
2017-04-08 19:00:58 +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
enkore 2c1607caa6 Merge pull request #2394 from enkore/f/recreate-archive-expansion
recreate: expand placeholders
2017-04-06 11:38:47 +02:00
Marian Beermann 03ed4d31ca recreate: expand placeholders 2017-04-06 11:37:55 +02:00
enkore 03457e9bb7 Merge pull request #2389 from ThomasWaldmann/rename-with-placeholders
borg rename: expand placeholders, fixes #2386
2017-04-06 09:06:46 +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
Marian Beermann 49f6128d1c docs: serve: env vars in original commands are ignored 2017-04-05 13:34:50 +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 32c6e3ad95 docs: tell what kind of hardlinks we support 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
enkore 7496569ccf Merge pull request #2374 from enkore/issue/2353
serve: fix forced command lines containing BORG_ env vars
2017-04-04 16:27:33 +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