1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2024-12-27 02:08:54 +00:00
Commit graph

1036 commits

Author SHA1 Message Date
TW
638204fd0e Merge pull request #193 from edgewood/osxPathNormalization
Normalize paths before pattern matching on OS X
2015-09-10 22:58:20 +02:00
Ed Blackman
13ddfdf4a3 Move pattern normalization decision into decorator
Using a decorator moves the duplicate code in the init methods into a
single decorator method, while still retaining the same runtime overhead
(zero for for the non-OSX path, one extra function call plus the call to
unicodedata.normalize for OSX).  The pattern classes are much visually
cleaner, and duplicate code limited to two lines normalizing the pattern
on OSX.

Because the decoration happens at class init time (vs instance init time
for the previous approach), the OSX and non-OSX test cases can no longer
be called in the same run, so I also removed the OSX test case monkey
patching and uncommented the platform skipif decorator.
2015-09-09 15:00:58 -04:00
Ed Blackman
cc13f3db97 Express non-ascii pattern platform skips better
including correcting thinko in the commented-out OSX-only test
2015-09-09 13:48:46 -04:00
Ed Blackman
d510ff7c63 Merge non-ascii Include and ExcludePattern tests
to parallel the OSX non-ascii tests
2015-09-09 13:41:34 -04:00
Ed Blackman
d9fb1d2b03 Normalize paths before pattern matching on OS X
The OS X file system HFS+ stores path names as Unicode, and converts
them to a variant of Unicode NFD for storage.  Because path names will
always be in this canonical form, it's not friendly to require users to
match this form exactly.  Convert paths from the repository and patterns
from the command line to NFD before comparing them.

Unix (and Windows, I think) file systems don't convert path names into a
canonical form, so users will continue to have to exactly match the path
name they want, because there could be two paths with the same character
visually that are actually composed of different byte sequences.
2015-09-08 23:33:34 -04:00
TW
da5923ec04 Merge pull request #192 from ThomasWaldmann/create-dryrun
implement borg create --dry-run, attic issue #267
2015-09-08 19:04:34 +02:00
Thomas Waldmann
1aacdda4a4 implement borg create --dry-run, attic issue #267
also: fix verbose mode display of stdin backup
2015-09-08 03:12:45 +02:00
Thomas Waldmann
16e5f241fc update CHANGES 2015-09-06 23:51:03 +02:00
TW
f852175c44 Merge pull request #187 from ThomasWaldmann/mount-relative-dir
use absolute path, attic issue #200, attic issue #137
2015-09-06 23:49:12 +02:00
Thomas Waldmann
13f20647dc use absolute path, attic issue #200, attic issue #137
the daemonize code changes the cwd, thus a relative repo path can't work.

borg mount repo mnt  # did not work
borg mount --foreground repo mnt  # did work
borg mount /abs/path/repo mnt  # did work
2015-09-06 23:26:47 +02:00
TW
68928e4c67 Merge pull request #186 from ThomasWaldmann/chunker_small_fixes
Chunker small fixes
2015-09-06 22:22:19 +02:00
Thomas Waldmann
e244fe2f69 change 2 more chunker vars to off_t
so they get 64bit on 32bit platforms.
2015-09-06 22:06:52 +02:00
Thomas Waldmann
32e276c526 Merge branch 'chunker_small_fixes' of https://github.com/sourcejedi/borg into chunker_small_fixes 2015-09-06 22:03:42 +02:00
TW
947fc095d8 Merge pull request #183 from ThomasWaldmann/borg-repo-envvar
BORG_REPO env var support
2015-09-06 21:51:24 +02:00
TW
70d97c4467 Merge pull request #180 from ThomasWaldmann/read-device
read special files as if they were regular files, update docs, closes #79
2015-09-06 21:38:31 +02:00
TW
3ab068b834 Merge pull request #181 from ThomasWaldmann/hash-collision
detect inconsistency / corruption / hash collision, closes #170
2015-09-06 21:35:53 +02:00
TW
18e428f33c Merge pull request #185 from ThomasWaldmann/fix-182
fix reaction to "no" answer at delete repo prompt, fixes #182
2015-09-06 21:33:24 +02:00
Thomas Waldmann
f5069c4e81 fix reaction to "no" answer at delete repo prompt, fixes #182 2015-09-06 21:11:52 +02:00
Thomas Waldmann
817ce18bc6 fix repository arg default 2015-09-06 20:19:28 +02:00
Thomas Waldmann
b3f5231bac BORG_REPO env var support
sets the default repository to use, e.g. like:

export BORG_REPO=/mnt/backup/repo
borg init
borg create ::archive
borg list
borg mount :: /mnt
fusermount -u /mnt
borg delete ::archive
2015-09-06 18:18:24 +02:00
Thomas Waldmann
a912c02757 detect inconsistency / corruption / hash collision, closes #170
added a check that compares the size of the new chunk with the stored size of the
already existing chunk in storage that has the same id_hash value.
raise an exception if there is a size mismatch.

this could happen if:

- the stored size is somehow incorrect (corruption or software bug)
- we found a hash collision for the id_hash (for sha256, this is very unlikely)
2015-09-06 01:10:43 +02:00
Thomas Waldmann
0b1035746e read special files as if they were regular files, update docs, closes #79
do not use the files cache for such special files
2015-09-06 00:29:46 +02:00
TW
17c4394896 Merge pull request #161 from RonnyPfannschmidt/setuptools-scm
replace versioneer with setuptools_scm
2015-08-29 16:46:41 +02:00
Thomas Waldmann
ab545ae45d CHANGES: release 0.25.0 2015-08-29 14:10:31 +02:00
Thomas Waldmann
2332ee433e remove docs/misc/create_compression.txt
outdated - it just showed different levels of zlib compression,
but not we additionally have "lzma", "lz4" and "none" compression.
the "usage" and "internals" docs give some hints about them, too.
2015-08-29 13:35:58 +02:00
Thomas Waldmann
31e97d568b remove x bits from repository.py 2015-08-29 12:52:18 +02:00
Thomas Waldmann
d2e5ce90f2 add FAQ entry about OS X commandline vs. HFS+ encoding issue, see #143.
a real fix for this is in development, but needs some time.
2015-08-29 05:41:41 +02:00
Thomas Waldmann
273c04329f update CHANGES 2015-08-29 05:02:05 +02:00
Thomas Waldmann
d779057b79 fix issue with negative "all archives" size, fixes #165
This fixes a infrequent problem when (refcount * chunksize) overflowed a int32_t.
chunksize is always <= 8MiB and usually rather ~64KiB (with default chunker params).
Thus, this happened only for high refcounts and/or unusually big chunks.
2015-08-29 04:46:13 +02:00
Thomas Waldmann
1a949eab3e docs: internals: improve structure and formatting 2015-08-29 04:23:57 +02:00
Thomas Waldmann
ddd0e2700b docs: improve faq and support section 2015-08-29 04:16:03 +02:00
Thomas Waldmann
c823554b6b docs: usage: improved formatting, cosmetic changes 2015-08-29 04:00:22 +02:00
Thomas Waldmann
e4dc482598 docs: quickstart: key modes, cosmetic changes 2015-08-29 03:39:53 +02:00
Thomas Waldmann
8a483511cb docs: theme: use a lighter green 2015-08-29 03:01:39 +02:00
Thomas Waldmann
cebb61d8dd docs: add pypi, wheel, dist package based install docs 2015-08-29 02:55:09 +02:00
Thomas Waldmann
79d7f49a44 docs: split install into system-specific preparations and generic instructions 2015-08-29 01:17:19 +02:00
Thomas Waldmann
ee58d4f074 docs: be more specific about Debian/Ubuntu release 2015-08-29 00:45:54 +02:00
TW
acf5ddc68d Merge pull request #166 from ThomasWaldmann/fix-restore-xattrs
Fix restore xattrs
2015-08-29 00:26:38 +02:00
Thomas Waldmann
9ebc53ad77 restore_xattrs: ignore if setxattr fails with EACCES, fixes #162
e.g.:
- setting any security.* key is expected to fail with EACCES if one is not root.
- issue #162 on our issue tracker: user was root, but due to some specific scenario
  involving docker and selinux, setting security.selinux key fails even when running as root

not sure if it is the best solution to silently ignore this, but some lines below this change
failure to do a chown is also silently ignored (happens e.g. when restoring a file not owned
by the current user as a non-root user).
2015-08-29 00:11:04 +02:00
Thomas Waldmann
ea8f3bd7e7 restore_xattrs: minor cleanup / simplification
if we use {} as default for item.get(), we do not need the "if" as iteration over an empty dict won't do anything.
also fixes too deep indentation the original code had.
2015-08-28 23:22:26 +02:00
Ronny Pfannschmidt
8b6ca0d912 propperly handle borg._version using setuptools_scm 2015-08-22 15:54:40 +02:00
Ronny Pfannschmidt
c7023ed12a replace versioneer with setuptools_scm 2015-08-22 14:58:06 +02:00
Thomas Waldmann
034e3477bd travis: use requirements file 2015-08-21 01:10:34 +02:00
Thomas Waldmann
fdc18eb0a0 support docs: write some words about BountySource 2015-08-21 00:25:24 +02:00
Thomas Waldmann
2402a2269e update docs about fakeroot 2015-08-20 23:39:40 +02:00
Thomas Waldmann
3d974d28b3 update CHANGES 2015-08-20 23:27:24 +02:00
Thomas Waldmann
1e11e24fc4 document locking system 2015-08-20 22:37:38 +02:00
Alan Jenkins
59a44296e4 chunker - cast from size_t to off_t can now be removed
Sorry, this should really have been part of the previous commit -
it's why I noticed a problem.
2015-08-20 17:48:59 +01:00
Thomas Waldmann
0a2bd8dad5 lock roster: catch file not found in remove() method and ignore it 2015-08-20 18:40:24 +02:00
Alan Jenkins
ce3e67cb96 chunker - fix 4GB files on 32-bit systems
From code inspection - effect not actually tested.
2015-08-20 17:23:50 +01:00