1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2024-12-26 09:47:58 +00:00
Commit graph

1036 commits

Author SHA1 Message Date
Alan Jenkins
7c6f3ece66 Initialize chunker fd to -1, so it's not equal to STDIN_FILENO (0) 2015-08-20 17:23:41 +01:00
Thomas Waldmann
d3d78f7ae3 call fadvise DONTNEED for the byterange we actually have read, fixes #158
avoid throwing away potential readahead data the OS might have read into the cache.
2015-08-20 05:33:51 +02:00
Per Guth
0926c2821f docs: installation: korora/fedora -> lz4-devel 2015-08-17 17:10:37 +02:00
Per Guth
8cf0ead693 docs: added favicon.ico 2015-08-17 12:58:49 +02:00
Thomas Waldmann
7f0fe83483 Merge branch 'master' of github.com:borgbackup/borg 2015-08-17 11:52:05 +02:00
Thomas Waldmann
93a89d97fa ChunkerParams: fix parameter order
the parser for the --chunker-params argument had a wrong parameter order.
fixed the order so it conforms to the help text and the docs.
also added some tests for it and a text for the ValueError exception.
2015-08-17 11:50:47 +02:00
Per Guth
1c7b5b23f4 minor change in copyright notice 2015-08-17 11:31:42 +02:00
Thomas Waldmann
b180158876 generalize hashindex code for any key length
currently, we only use sha256 hashes as key, so key length is always 32.
but instead of hardcoding 32 everywhere, using key_length is just better
readable and also more flexible for the future.
2015-08-16 14:51:15 +02:00
Thomas Waldmann
608c0935e0 borg list --short, remove requirement for fakeroot, xfail a test
borg list --short just spills out the list of files / dirs - better for some tests
and also useful on the commandline for interactive use.

the tests previously needed fakeroot because in the test setup it always
made calls to mknod and chown, which require (fake)root.
now, the tests adapt to whether it detects (fake)root or not - to run the
the tests completely, you still need fakeroot, but it won't fail all the archiver
tests just due to failing test setup.

also, a test not working correctly due to fakeroot was found:
it should detect whether a read-only repo is usable, but it failed to do that
because with (fake)root, there is no "read only" (at least not via taking away
 the w permission bits).
2015-08-15 20:52:14 +02:00
Thomas Waldmann
738ed5d91b 2 small archiver testsuite fixes
environment context manager: if a env var was not present before, it should not be present afterwards

teardown: cd out of the tmpdir before deleting it
2015-08-15 17:07:09 +02:00
Thomas Waldmann
e5b647fbd1 minor lrucache test fix 2015-08-15 16:15:10 +02:00
Thomas Waldmann
986b70c189 Merge branch 'lrucache' of https://github.com/sourcejedi/borg 2015-08-15 16:06:09 +02:00
TW
fffe509268 Merge pull request #129 from ThomasWaldmann/compression
compression flexibility, new none, lz4 and lzma compression
2015-08-15 16:03:34 +02:00
Thomas Waldmann
e1de3dce7b integrate compression branch changes into change history for 0.25 2015-08-15 15:49:11 +02:00
Thomas Waldmann
1d16e7a37c compression: update / refine docs 2015-08-15 15:45:15 +02:00
Thomas Waldmann
bf757738f7 Merge branch 'master' into compression 2015-08-14 23:24:04 +02:00
Thomas Waldmann
a6b6712d6a deprecate the numeric --compression argument, rename null compression to none, update CHANGES 2015-08-14 23:00:04 +02:00
Alan Jenkins
02b3fbb401 lrucache: change test case to py.test
I re-wrote lrucache (and it seems like no-one had looked at it much
before :).  I was told my test function would have been simpler in
native py.test, so let's have a go converting it all.

We can avoid any reference to unittest, because lrucache doesn't write
files so it doesn't need any of our custom assertion helpers.
2015-08-14 14:51:10 +01:00
Alan Jenkins
0ee78240ee lrucache: test added code
Tests saved my butt, so I'd better contribute :).

These tests have been tested - substituting a null dispose function
causes an immediate failure.
2015-08-14 12:03:23 +01:00
Alan Jenkins
5e0013c5db Merge branch 'master' into lrucache 2015-08-14 10:59:21 +01:00
Alan Jenkins
76f6737e9d lrucache: cleanup (-10 lines)
dict.pop() will raise KeyError for us if necessary.  I was confused
because we used to have lrucache.pop() with a bug, that returned None
instead.

Great catch by @ThomasWaldmann.
2015-08-14 10:41:55 +01:00
Alan Jenkins
db298268e4 Cleanup error-raising in added code
At least one programmer is confused by my abuse of KeyError()
as a sentinel value.  Let's call the sentinel value _NotFound
instead, and let's avoid re-creating it on each call.

I have a new favourite line of code, "if item is _NotFound" :).
Thanks to @ThomasWaldmann for all these review suggestions.
2015-08-13 11:22:57 +01:00
Alan Jenkins
9ba7daa9c7 lrucache - simpler _not_ to inherit from dict
We need to make sure dispose() is always called when necessary.
Using inheritance it's just too easy to forget a method,
that we needed to override.

I also find it confusing when an override method calls another
method, and you have yet to see whether the latter method is
overridden or not.  It didn't help that most of these methods
are actually operator overloads.

This turns out to require _less_ code :-).
(Admittedly the code could have been reduced a bit anyway
because python3's super() can be called without any arguments).
2015-08-12 23:56:01 +01:00
Alan Jenkins
e3f671c4fb We forgot to close files which fell out the lrucache
The initializer now takes a dispose function.  lrucache
claims ownership of the items it contains and will dispose
deleted items.  Ownership can naturally be reclaimed by calling
pop() for the item.
2015-08-12 23:13:34 +01:00
Thomas Waldmann
3100fac361 fix archiver test to not expect backup of the UF_NODUMP file, try 2 2015-08-12 17:03:30 +02:00
Thomas Waldmann
0481424128 fix archiver test to not expect backup of the UF_NODUMP file 2015-08-12 16:41:30 +02:00
Thomas Waldmann
2194d9837e update CHANGES 2015-08-12 16:04:41 +02:00
Thomas Waldmann
b512827b07 Merge branch 'honor_nodump' of https://github.com/jeffrizzo/attic 2015-08-12 15:57:54 +02:00
Thomas Waldmann
02ccf37766 Merge branch 'minor' of https://github.com/sourcejedi/attic 2015-08-12 15:16:44 +02:00
Alan Jenkins
04887439a0 recover_segment(): don't assume we have an fd for segment
Suggested by @ThomasWaldmann.  Avoiding a complex assumption
should make the code easier to understand and maintain.

(Technically we do have an fd for the segment, because
the only caller opens the segment and checks it before
calling for repair.)
2015-08-12 11:32:12 +01:00
Alan Jenkins
d83b919d52 Style fix in added code
PEP8 says to prefer "is not None"
2015-08-12 11:20:05 +01:00
Thomas Waldmann
8300efb1db remote: pragma: no cover for the stuff we can't test 2015-08-12 04:28:31 +02:00
Thomas Waldmann
4d8949e66a archiver: more tests 2015-08-12 04:09:36 +02:00
Thomas Waldmann
feff0f0c94 install docs: replace hack for llfuse with proper solution
found out why it could not install llfuse into virtual env: it always complained about
not being able to find fuse.pc - which is part of libfuse-dev / fuse-devel and was missing.

once one adds the fuse dev stuff, llfuse installs to virtual env without problems.
2015-08-12 03:15:44 +02:00
Thomas Waldmann
b16dc03e36 tests for CompressionSpec 2015-08-12 02:27:41 +02:00
Thomas Waldmann
e06b0b3612 use C99's uintmax_t and %ju format
whatever size_t and off_t is, should even fit in there
2015-08-12 01:04:03 +02:00
Alan Jenkins
3321a887d3 io.write_commit() already implies io.close_segment() 2015-08-11 21:46:58 +01:00
Alan Jenkins
57845c07ed Clean up fds of segments we delete (during compaction)
When we delete a segment, let's close its fd as well.
Note as well wasting the fd, this was forcing the
filesystem to preserve the deleted file until we exited.

I noticed roughly 20 open fds of deleted files when
attic saved 10G of data.
2015-08-11 21:46:58 +01:00
Thomas Waldmann
1724241d0c README: mention lzma and lz4 compression 2015-08-10 20:45:15 +02:00
Thomas Waldmann
8b1d46caa4 docs: more about compression 2015-08-10 20:36:21 +02:00
Thomas Waldmann
abe29583f2 install lz4 from brew 2015-08-10 01:21:27 +02:00
Thomas Waldmann
8af3aa3397 merged master 2015-08-09 23:51:46 +02:00
Thomas Waldmann
822379048f added some sidebar links 2015-08-09 22:32:14 +02:00
Thomas Waldmann
1e35f5ce4a minor fixes to CHANGES 2015-08-09 21:22:55 +02:00
Thomas Waldmann
69456e07c4 cache sync: change progress output to separate lines
printing without \n plus sys.stdout.flush() didn't work as expected.
2015-08-09 19:02:35 +02:00
Thomas Waldmann
197ca9c0d3 C merge code: cast to correct pointer type, silences warning 2015-08-09 16:19:53 +02:00
Thomas Waldmann
955ac9c44c get rid of testsuite.mock, directly import from mock
this was left over from times when we either used mock from stdlib
or pypi mock. but as we only use pypi mock now, the indirection is
not needed any more.
2015-08-09 14:26:54 +02:00
Thomas Waldmann
4c668a85b6 update docs copyright (to be same as project copyright) 2015-08-09 14:16:56 +02:00
Thomas Waldmann
7ffdfe1716 update CHANGES 2015-08-09 14:10:53 +02:00
Thomas Waldmann
74e5860508 document that passphrase(-only) mode is deprecated 2015-08-09 13:47:36 +02:00