borgbackup/borg
Marian Beermann ffc8cf6c97 Append-only mode for repositories
New repository config item, repository.append_only, causes Borg to never
delete or append to existing data files. Hints and indices are handled
as before, old ones are deleted, because they can get quite large, but
are automatically reconstructed: no need to keep them.

When append_only is activated a file /path/to/repo/transactions/<NUMBER>
will be created for every commit.
Deleting all segments <NUMBER+1> and higher will rollback to that commit.

Note that this only influences Borg behaviour. Since repository config
can't be altered remotely (except for repository.key) this can't be
disabled when accessed remotely over SSH with "borg serve" as the
forced command.

This is only a feature to support the use case, and does not replace
appropriate file system permissions or monitoring.

Resolves #809
2016-03-31 17:29:17 +02:00
..
testsuite Append-only mode for repositories 2016-03-31 17:29:17 +02:00
__init__.py propperly handle borg._version using setuptools_scm 2015-08-22 15:54:40 +02:00
__main__.py cosmetic source cleanup (flake8) 2016-01-30 21:32:45 +01:00
_chunker.c Possible fix to silently skipping EIO and the like? #748 2016-03-16 01:32:48 +01:00
_hashindex.c Fix build on illumos 2016-03-21 17:39:55 +03:00
archive.py fix capitalization, add ellipses, change log level to debug for 2 messages, fixes #798 2016-03-26 14:31:54 +01:00
archiver.py Don't try to backup doors or event ports 2016-03-21 17:35:51 +03:00
cache.py fix capitalization, add ellipses, change log level to debug for 2 messages, fixes #798 2016-03-26 14:31:54 +01:00
chunker.pyx cython code: add some int types to get rid of unspecific python add / subtract operations 2015-09-10 23:12:12 +02:00
compress.pyx remove misc. compat code not needed for py 3.4+ 2016-01-24 15:16:05 +01:00
crypto.pyx use os.urandom instead of own cython openssl RAND_bytes wrapper, fixes #493 2016-01-24 15:40:04 +01:00
fuse.py file stats are packed with 'int_to_bigint' in the archive. Unpack these before passing to llfuse 2016-03-10 15:50:45 -05:00
hash_sizes.py hashtable size follows a growth policy, fixes #527 2016-01-14 14:39:59 +01:00
hashindex.pyx hashindex_add C implementation 2015-12-07 19:13:58 +01:00
helpers.py remove useless/misleading libc version display, fixes #738 2016-03-12 01:29:14 +01:00
key.py implement password roundtrip, fixes #695 2016-03-05 16:21:44 +01:00
locking.py do not sleep for >60s while waiting for lock, fixes #773 2016-03-19 21:19:30 +01:00
logger.py sane remote logging, remote stderr, fixes #461 2015-12-12 22:15:08 +01:00
lrucache.py Merge branch 'master' into lrucache 2015-08-14 10:59:21 +01:00
platform.py label platform code, exclude freebsd and unknown platform from coverage measurement 2015-11-01 23:06:52 +01:00
platform_darwin.pyx acls (darwin): use helper functions safe_encode/safe_decode 2015-10-19 02:32:29 +02:00
platform_freebsd.pyx acls (freebsd): use helper functions safe_encode/safe_decode 2015-10-19 01:43:46 +02:00
platform_linux.pyx acls (linux): helper functions safe_encode/safe_decode 2015-10-19 01:40:15 +02:00
remote.py cosmetic source cleanup (flake8) 2016-01-30 21:32:45 +01:00
repository.py Append-only mode for repositories 2016-03-31 17:29:17 +02:00
shellpattern.py Add shell-style pattern syntax 2016-01-21 16:07:24 +01:00
upgrader.py cosmetic source cleanup (flake8) 2016-01-30 21:32:45 +01:00
xattr.py cosmetic source cleanup (flake8) 2016-01-30 21:32:45 +01:00