Commit Graph

54 Commits

Author SHA1 Message Date
Thomas Waldmann 159315ef5d use BORG_* as file MAGIC, adapt tests 2015-05-13 15:10:06 +02:00
Thomas Waldmann cb5c9b63b3 fork: s/attic/borg/g, fix URLs, add new section to AUTHORS
use borg instead attic except at the places where it was used:
- as toplevel package name, directory name, file name
- to refer to original attic

remove sphinx upload make command, will be replaced by github.io site later

remove references to binary downloads and linux packages for now

remove some software name references, fix grammar

use borgbackup rather than borg-backup (or borg) in URLs,
less name collision issues, better search results, no validity issues with "-"
2015-05-13 15:02:33 +02:00
Thomas Waldmann bbe200f41b fix incomplete merge of delete_repo branch 2015-04-21 11:34:13 +02:00
Thomas Waldmann 118fb1a55c PR #226 - Merge branch 'delete_repo' into merge 2015-04-15 19:05:58 +02:00
Thomas Waldmann a6f8d51b37 updated PR #279 - Merge branch 'fadvise' into merge 2015-04-11 17:08:17 +02:00
Thomas Waldmann 57071ce6fd repo writes: call posix_fadvise between fsync and close
less calls to posix_fadvise (which seem to force a write-cache sync-to-disk and
wait for that to complete) - if we call it after we synced anyway, we don't lose time.

also: fixed a bug in the os.fsync call, it needs the fileno.
2015-04-11 17:04:10 +02:00
Thomas Waldmann 3653acd259 PR #279 - Merge branch 'fadvise' into merge 2015-04-11 02:51:33 +02:00
Thomas Waldmann 874f5c491b use posix_fadvise for repo writes also 2015-04-11 02:40:22 +02:00
Thomas Waldmann dd8ff50a5c PR #245 - Merge branch 'fix_exceptions' into merge
Conflicts:
	attic/archive.py
2015-03-20 02:34:10 +01:00
Thomas Waldmann 2da70c7d7a fix some exception handlers
don't catch "Exception" when OSError was meant (otherwise e.errno is not there anyway)
don't use bare "except:" if one can avoid (copied code fragment from similar handler)
2015-03-20 02:31:39 +01:00
Thomas Waldmann b7cefacb69 Merge branch 'python_cleanup' into merge
Conflicts:
	attic/archiver.py
	attic/remote.py
2015-03-18 00:23:41 +01:00
Thomas Waldmann e9aacad9a3 remove unused imports 2015-03-17 23:54:05 +01:00
Thomas Waldmann 4ef6125f45 cleanup pep8 issues found by pycharm 2015-03-17 23:47:21 +01:00
Thomas Waldmann 3a33d57c7d triple-double-quotes for docstrings 2015-03-17 23:23:56 +01:00
Thomas Waldmann fec5572836 no Class(object) in py3 2015-03-17 23:03:36 +01:00
Thomas Waldmann 6e6819e626 attic delete: add repository + local cache deletion 2015-03-09 16:02:06 +01:00
Thomas Waldmann db7ce095d2 fix typos / spelling 2015-02-28 03:43:08 +01:00
Thomas Waldmann 8ffd4c4926 convert docstrings to triple-double-quoted 2015-02-28 03:24:30 +01:00
Thomas Waldmann a8ce0b8b8a remove unused imports 2015-02-28 03:09:01 +01:00
Thomas Waldmann 74768511e1 do os.fsync like recommended in the python docs (gets a fileno, not file object, also do a flush first) 2015-02-28 02:45:21 +01:00
Jonas Borgström 547fa0a590 Speed up initial repository access
Use os.listdir() instead of os.walk() to avoid unnecessary
stat() calls.

Closes #119
2014-10-10 21:01:55 +02:00
Jonas Borgström 5a69f58823 Introduce a separate exception for missing repository objects 2014-10-09 20:41:47 +02:00
Jonas Borgström 2f72b9f960 HashIndex: Switch to a non-mmap based implementation
This eliminates unnecessary IO on low memory systems
2014-07-10 15:32:29 +02:00
Jonas Borgström 64cd6632a1 Avoid deadlock problems
Explicitly use write locks, instead of read locks (that are later
upgraded) unless we know we will never modify the repository
2014-05-31 15:39:51 +02:00
Jonas Borgström 66a84c0c12 check: Fix a check --repair issue and added more tests 2014-03-06 12:05:22 +01:00
Jonas Borgström 3193af5482 Remove explicit flush calls since line_buffering is enabled. 2014-03-05 19:58:29 +01:00
Jonas Borgström 477e1a39dd check: Make sure all non-critical output is sent to stdout 2014-03-04 21:21:58 +01:00
Jonas Borgström 3982c34e6c Improve attic check documentation
Closes #24.
2014-02-26 23:13:48 +01:00
Jonas Borgström c1e1d6e9dd repository: Fixed a potential infinite loop in recover_segment 2014-02-24 12:59:38 +01:00
Jonas Borgström 6425d16aa8 repository: Fix potential race condition
If we crash between compact_segments() and write_index() and the
transaction deletes objects that are newer than the current index
might become undeleted.
2014-02-21 20:20:17 +01:00
Jonas Borgström bd22bc8cb2 Automatically replay segments to rebuild missing repository index 2014-02-20 23:49:35 +01:00
Jonas Borgström 30daa23e42 Minor cleanup 2014-02-18 21:16:36 +01:00
Jonas Borgström 7bcb0f97d6 Slightly lower the number of file descriptors kept open
This is needed to support old version of sftp-server that only
support 100 open file descriptors. Closes #40.
2014-02-17 21:16:04 +01:00
Jonas Borgström 893120e609 attic check performance improvement and minor progress reporting changes 2014-02-17 18:25:25 +01:00
Jonas Borgström 32e773c15d Implemented archive metadata checking and repair 2014-02-16 22:21:39 +01:00
Jonas Borgström 0d248192e5 Implemented Repository.list() 2014-02-10 21:55:22 +01:00
Jonas Borgström bbf490bf8b More repository check/repair improvements 2014-02-10 21:32:18 +01:00
Jonas Borgström 66fe7e5377 Removed redundant is_a_terminal function and minor check fixes. 2014-02-09 20:35:00 +01:00
Jonas Borgström 1809ea2f3e More attic check --repair improvements 2014-02-09 16:05:04 +01:00
Jonas Borgström 33b58eac82 Initial check --repair support 2014-02-09 16:05:04 +01:00
Jonas Borgström 2252616f9e Repository code cleanup 2014-02-08 13:32:47 +01:00
Jonas Borgström 4271ffa25f Only cleanup partial transactions if an existing transaction is found 2014-02-05 22:49:12 +01:00
Jonas Borgström e4a28f288f Remove flush=True argument from print() since it is Python3.3+ 2014-02-05 20:30:53 +01:00
Jonas Borgström 5abd254a11 Fixed repository check progress reporting. 2014-02-05 20:18:31 +01:00
Jonas Borgström 7a7cc2bc88 Removed some dead code. 2014-02-05 00:07:03 +01:00
Jonas Borgström faedaf8160 Basic repository consistency check functionality.
Still no archive metadata validation or repair functionality.
2014-02-05 00:04:30 +01:00
Jonas Borgström bd5b72a646 Improved remote repository performance and reliability 2014-01-22 20:59:12 +01:00
Jonas Borgström 3a064aba56 Fix sorting of segment names to ignore NFS left over files.
Closes #17.
2014-01-03 14:47:44 +01:00
Petros Moisiadis c93363946b Consider segment incomplete if segment file is empty or too small
This fixes an IOError that could be raised when trying to seek() to
a negative file offset, because (for any reason) a segment file was
empty (or too small).
2013-12-30 17:21:47 +02:00
Petros Moisiadis 4e68f98dde Added missing repository path/url when raising DoesNotExist and AlreadyExists exceptions 2013-12-17 16:53:10 +02:00