Commit Graph

5198 Commits

Author SHA1 Message Date
Emmo Emminghaus 9d1276af04 cleanup void * in _hashindex.c 2018-10-27 17:34:25 +02:00
Emmo Emminghaus f8ef6af454 hashindex: clean void* arithmetic up #2677
lowlevel: clean void* arithmetic up
unpack: repalce nonstandard false with 0
2018-10-24 21:40:05 +02:00
TW 62de891ada
Merge pull request #4091 from m3nu/master
Add argument storage_quota to forced_result. Avoids override by client.
2018-10-03 17:33:29 +02:00
Manu 93b968cc35 Add argument storage_quota to forced_result. Avoids override by client. 2018-10-02 17:28:29 +08:00
TW d28d40272c
Merge pull request #4080 from steelman/borg-passphrase-fd
read a passphrase from a file descriptor
2018-09-21 20:53:09 +02:00
Łukasz Stelmach 548355125e read a passphrase from a file descriptor
Read a passpharase from a file descriptor specified in the
BORG_PASSPHRASE_FD environment variable.
2018-09-21 09:11:39 +02:00
TW 3e560411c0
Merge pull request #4063 from audeoudh/master
Forward the `format_spec` to `datetime` class
2018-08-29 15:36:46 +02:00
Henry-Joseph Audéoud b66533170a Forward the `format_spec` to `datetime` class
If specified, the argument `format_spec` is forwarded from the method
`OutputTimestamp.__format__` to the method `format_time` method.  Thus,
we are able to specify the format, in a way supported by the class
`datetime`.

The default behaviour of `format_time` is not affected.  The other parts
of code that does not provide a `format_spec` are not affected by the
change.
2018-08-29 14:00:57 +02:00
TW 0d843a33f5
Merge pull request #4036 from ThomasWaldmann/osxfuse382-master
vagrant: use osxfuse 3.8.2
2018-08-11 14:33:01 +02:00
Thomas Waldmann 8b61f21c29 vagrant: use osxfuse 3.8.2 2018-08-11 14:31:01 +02:00
TW a90f024481
Merge pull request #4027 from newtonne/fix-man-table
Remove row/column-spanning from docs source, fixes #4000
2018-08-09 23:34:49 +02:00
newtonne 11a2f1f684 Remove row/column-spanning from docs source, fixes #4000
Sphinx doesn't support row or column-spanning, which caused the content
of the additional features table to be incorrect. To fix this, we now
define the content of each cell explicitly.

This change also fixes #3990.
2018-08-09 20:38:46 +01:00
TW e175f8ea53
Merge pull request #4024 from ThomasWaldmann/travis-cleanups
travis: reorder envs, add 3.7-dev
2018-08-09 15:18:44 +02:00
TW 708a65a0b5
Merge pull request #4022 from ThomasWaldmann/finding-pieces-master
some more debug commands (master forward port)
2018-08-09 09:43:57 +02:00
Thomas Waldmann 876d466c55 travis: reorder envs, add 3.7-dev
also remove quotes around version number, not needed for 3.7.
2018-08-09 09:17:57 +02:00
TW 464b604b52
Merge pull request #4016 from ThomasWaldmann/init-warning
init: add warning to store both key and passphrase at safe place(s)
2018-08-09 09:01:55 +02:00
Thomas Waldmann eebc33a281 dump-repo-objs: filename layout improvements
(cherry picked from commit 24812b0317)
2018-08-09 08:29:46 +02:00
Thomas Waldmann d6cb39a6d6 implement borg debug dump-repo-objs --ghost
intended as a last resort measure to export all segment file contents
in a relatively easy to use format.

if you want to dig into a damaged repo (e.g. missing segment files,
missing commits) and you know what you do.

note: dump-repo-objs --ghost must not use repo.list()

because this would need the repo index and call get_transaction_id and
check_transaction methods, which can easily fail on a damaged repo.

thus we use the same low level scan method as we use anyway to get
some encrypted piece of data to setup the decryption "key".

(cherry picked from commit 8738e85967)
2018-08-09 08:29:34 +02:00
Thomas Waldmann a3a15ddf57 use repository.scan() for dump-repo-objs to get on-disk order
it is also more efficient, avoids random access.

(cherry picked from commit 2b7d65b024)
2018-08-09 08:29:24 +02:00
Thomas Waldmann 9445b00408 implement borg debug search-repo-objs searchterm
(cherry picked from commit c2ed0d9ee0)
2018-08-09 08:29:11 +02:00
Thomas Waldmann 4b31ad123f init: add warning to store both key and passphrase at safe place(s) 2018-08-09 07:25:49 +02:00
TW a350dd8f3e
Merge pull request #3943 from ThomasWaldmann/wrap-msgpack
wrap msgpack to avoid api troubles
2018-08-06 18:11:49 +02:00
TW d66c0d9eb0
Merge pull request #4011 from ThomasWaldmann/remove-zeromq
remove zeromq or python 3.5 references
2018-08-06 17:56:09 +02:00
TW 7c8ff1f699
Merge pull request #4012 from ThomasWaldmann/py37-setup-metadata
add python 3.7 to pypi metadata
2018-08-06 17:55:18 +02:00
Thomas Waldmann 8a09f26712 remove zeromq or python 3.5 references 2018-08-06 17:52:08 +02:00
Thomas Waldmann 751cd2caed add python 3.7 to pypi metadata 2018-08-06 17:48:27 +02:00
Thomas Waldmann 3c173cc03b wrap msgpack, fixes #3632, fixes #2738
wrap msgpack to avoid future upstream api changes making troubles
or that we would have to globally spoil our code with extra params.

make sure the packing is always with use_bin_type=False,
thus generating "old" msgpack format (as borg always did) from
bytes objects.

make sure the unpacking is always with raw=True,
thus generating bytes objects.

note:

safe unicode encoding/decoding for some kinds of data types is done in Item
class (see item.pyx), so it is enough if we care for bytes objects on the
msgpack level.

also wrap exception handling, so borg code can catch msgpack specific
exceptions even if the upstream msgpack code raises way too generic
exceptions typed Exception, TypeError or ValueError.
We use own Exception classes for this, upstream classes are deprecated
2018-08-06 17:32:55 +02:00
TW 4c8db8feb5
Merge pull request #4008 from ThomasWaldmann/fix-cachedir
don't archive tagged dir when recursing an excluded dir, fixes #3991
2018-08-06 17:29:52 +02:00
TW 1f911a7d2d
Merge pull request #4010 from ThomasWaldmann/difftest-minor
minor change: simplify test setup
2018-08-06 17:16:23 +02:00
Thomas Waldmann 9654126247 minor change: simplify test setup
most of the files created via self.create_test_files() are not needed.
the only one is the empty file, so just create it here.

also: move repo init to after test file creation.
2018-08-06 14:28:46 +02:00
Thomas Waldmann 8256c26cf2 don't archive tagged dir when recursing an excluded dir, fixes #3991
if we are recursing an explicitly excluded directory, we are only
looking for explicitly included items, but we do not need to archive
tagged directories or the tag files themselves - they are all excluded
by the explicit exclusion already.

for performance reasons, we still determine whether a directory is
tagged and if it is, we do not recurse into it as there can't be any
included items in there.
2018-08-05 19:51:49 +02:00
TW 68c2635d3a
Merge pull request #4007 from ThomasWaldmann/hostname-fqdn-cleanups
call socket.gethostname only once
2018-08-04 17:00:10 +01:00
Thomas Waldmann d2e2f1b89d call socket.gethostname only once 2018-08-04 17:40:40 +02:00
TW b73d805cd4
Merge pull request #4006 from ThomasWaldmann/machine-id
add BORG_HOST_ID, fixes #3985
2018-08-04 16:39:37 +01:00
Thomas Waldmann 90348c1de9 add BORG_HOST_ID, fixes #3985 2018-08-04 15:01:48 +02:00
TW f7069f6c3b
Merge pull request #4005 from ThomasWaldmann/vagrant-py37
vagrant: add py37 for testing
2018-08-04 13:12:57 +01:00
Thomas Waldmann 578ac64385 vagrant: add py37 for testing 2018-07-31 23:16:08 +01:00
TW 87d48d7748
Merge pull request #4001 from ThomasWaldmann/py37
argparse fix for py37, enable py37 testing
2018-07-31 00:40:41 +01:00
Thomas Waldmann fef9581690 tox / travis: enable testing on py37 2018-07-30 01:11:11 +01:00
Thomas Waldmann 52f1cd4bc6 argparse: work around bad default in py 3.7.0a/b/rc, fixes #3996 2018-07-30 01:04:14 +01:00
TW eb6481e8d3
Merge pull request #3998 from ThomasWaldmann/py37
remove loggerDict.clear() from tearDown method, fixes #3805
2018-07-29 14:11:05 +01:00
Thomas Waldmann a7dd2560ba remove loggerDict.clear() from tearDown method, fixes #3805
It causes problems with the new caching in the py37 logger module.

Removing loggerDict.clear() fixes this and makes the tests work again.
Also, it does not seem to have any negative effect, neither on py36
nor on py37.

See also: https://bugs.python.org/issue34269
2018-07-29 12:29:26 +01:00
James Rowell 34227430d4 Installation from source - setting python interpreter version (#3995)
explicit instructions for setting python interpreter when installing from source via git
2018-07-29 09:50:09 +01:00
Marvin Gaube 2a4ed3f0e8 Note regarding borg version (#3987)
add a note regarding in-file checkpointing and borg versions
2018-07-20 16:25:16 +02:00
TW b5e11389fc
Merge pull request #3984 from ThomasWaldmann/locking-fixes-master
Locking: better logging, some asserts (fwd port to master)
2018-07-19 22:04:13 +02:00
Thomas Waldmann 3417de85e0 locking: more logging
(cherry picked from commit f86bf8a0a8)
2018-07-17 19:06:45 +02:00
Thomas Waldmann a51fca49bf process_alive: add some assertions
(cherry picked from commit 2bf1b29e8e)
2018-07-17 19:06:26 +02:00
TW a7e408db61
Merge pull request #3980 from ThomasWaldmann/update-coafile
coala: exclude some more stuff, move ignores to "all" section
2018-07-17 01:16:22 +02:00
TW ffd78493aa
Merge pull request #3983 from ThomasWaldmann/fix-cache-lock-timeout-master
cache lock: use lock_wait everywhere to fix infinite wait (fwd port to master)
2018-07-17 01:15:45 +02:00
Thomas Waldmann 89c11f45ce cache lock: use lock_wait everywhere to fix infinite wait
also: clarify docs
(cherry picked from commit 2f3e60d9d5)
2018-07-16 23:50:04 +02:00