Commit Graph

124 Commits

Author SHA1 Message Date
Jonas Borgström 95162ce1f8 buzhash: One more test case
Test with more than 31 bytes to make sure our BARREL_SHIFT macro
works correctly.
2014-06-05 15:11:46 +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 3ab53b776d Fix crash on extreme mtime timestamps (year 2400+)
Closes #81
2014-05-18 18:28:26 +02:00
Jonas Borgström dd5c0aa0e3 acl: make darwin acl code numeric_owner aware 2014-05-03 23:22:55 +02:00
Jonas Borgström 47c6141aab Experimental OS X ACL support (#66) 2014-05-03 15:10:11 +02:00
Jeremy Maitin-Shepard 1d5410a3cf Add --exclude-caches option, for excluding CACHEDIR.TAG directories
See http://www.brynosaurus.com/cachedir/spec.html
2014-04-30 14:57:21 -07:00
Jeremy Maitin-Shepard 1955484e1b testsuite/archiver.py: Fix misspelling regual -> regular 2014-04-30 14:43:32 -07:00
Jonas Borgström 1b779c896d Linux ACL support improvements 2014-04-29 22:29:26 +02:00
Jonas Borgström 4bcc1b8ff9 Fix Cython issue on Linux 2014-04-27 14:29:03 +02:00
Jonas Borgström 29f95bba68 Use a dedicated file for bsdflags tests 2014-04-13 21:52:49 +02:00
Jonas Borgström 0ad5253d84 Experimental Linux ACL support (#66) 2014-04-13 20:26:46 +02:00
Jonas Borgström 8bf3bb1ca3 Added support for backup and restore of bsdflags (OS X and FreeBSD)
This improves our Backup-Bouncer score (#56)
2014-04-08 21:52:26 +02:00
Jonas Borgström 4bbde41466 Fix bug where xattrs on symlinks were not correctly restored 2014-04-08 21:22:57 +02:00
Jonas Borgström 8e078b5f91 Initial (naive) full repository fuse mount support 2014-03-26 22:06:53 +01:00
Jonas Borgström a9fc62cc9a Added option to restrict remote repository access to specific path(s)
With this option remote repository access can be restricted to a
specific path for a specific ssh key using the following line
in ~/.ssh/authorized_keys::

command="attic serve --restrict-to-path /data/clientA" ssh-rsa clientA's key
command="attic serve --restrict-to-path /data/clientB" ssh-rsa clientB's key

Closes #51.
2014-03-24 21:28:59 +01:00
Jonas Borgström 0e39acffd3 crypto: convert attic.crypto into a cython module
This will give a slight performance boost and make the openssl
detection/linking more robust.
2014-03-10 22:50:38 +01:00
Jonas Borgström 90fe318809 Attempt to make the archive metadata resync more robust 2014-03-06 20:05:13 +01: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 55a26e553f check: replace --phase with --repository/archives-only 2014-03-04 21:56:37 +01:00
Jonas Borgström a68e48bc30 check: Make item stream resync a bit more robust 2014-03-04 21:15:52 +01:00
Jonas Borgström 7be0ad609d Make the manifest rebuild code more robust
Try to make sure we've actually found msgpack data before feeding
it into msgpack.
2014-03-01 15:00:21 +01:00
Jonas Borgström 3982c34e6c Improve attic check documentation
Closes #24.
2014-02-26 23:13:48 +01:00
Jonas Borgström 678fb2c845 testsuite: Fix test test_prune_repository 2014-02-26 20:27:08 +01:00
Jonas Borgström 9e8a944a2a check: archive metadata recovery improvements 2014-02-24 22:44:43 +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
Dan Christensen 5d2d3f1f93 Add --dry-run option to prune. 2014-02-19 21:33:05 -05:00
Jonas Borgström e458f859d3 Added command line deprecation functionality
The following deprecations are currently handled:

- attic verify -> attic extract --dry-run
- attic prune --hourly|daily|... -> attic prune --keep-X
2014-02-19 22:53:44 +01:00
Jonas Borgström d551b13a23 Use StableDict in a few more places 2014-02-18 23:09:12 +01:00
Jonas Borgström 7b31f23722 Replace verify command with "extract --dry-run"
closes #25
2014-02-18 21:33:06 +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 c394a31d62 Improved archive metadata deduplication. 2014-02-16 23:36:48 +01:00
Jonas Borgström d44fa850cd Fix exception during "attic create" with repeated files
Closes #39
2014-02-16 22:37:12 +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 ab1cf32071 Implemented hashindex.iteritems(marker=X) 2014-02-09 22:05:33 +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 5898b3b935 Merge remote-tracking branch 'jdchristensen/prune-within'
Conflicts:
	attic/archiver.py
2014-02-09 16:04:32 +01:00
Dan Christensen b5483b79a4 Add a --within option to the prune command. 2014-02-08 15:37:27 -05:00
Dan Christensen 9d19550c1a Add support for --exclude-from. 2014-02-08 12:44:48 -05:00
Jonas Borgström 2252616f9e Repository code cleanup 2014-02-08 13:32:47 +01:00
Dan Christensen 8cc74be62e Simplify IncludePattern and add a few more tests to PatternTestCase. 2014-02-07 16:27:18 -05:00
Dan Christensen db9632532c Add one more test to PatternTestCase. 2014-02-07 16:04:06 -05:00
Dan Christensen 59c8008436 Add more tests to PatternTestCase. The first two fail with the
current code.
2014-02-07 15:51:27 -05: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 faedaf8160 Basic repository consistency check functionality.
Still no archive metadata validation or repair functionality.
2014-02-05 00:04:30 +01:00
Dan Christensen c45aedf480 Add tests for helpers.prune_split, one of which fails. 2014-02-02 23:42:10 -05:00
Jonas Borgström 50cabd53b1 Fix deadlock when extracting 0 sized files from remote repositories 2014-01-30 22:16:21 +01:00
Jonas Borgström 2068e7cf34 Properly apply --exclude wildcards to the full path.
Closes #5
2014-01-30 20:33:29 +01:00
Jonas Borgström bd5b72a646 Improved remote repository performance and reliability 2014-01-22 20:59:12 +01:00
Jonas Borgström 7bacfa2d6e Improved error handling/reporting.
Closes #12.
2013-12-15 20:35:29 +01:00
Jonas Borgström a56652f5c1 Use lockf() instead of flock() when locking repository/cache
This is a reworked version of Petros Moisiadis' original pull request
since some extra effort is needed to support access to read-only
repositories.
2013-12-14 20:44:20 +01:00
Brian Johnson 29d184dfcb Let ssh figure out port/user if not specified so we don't override .ssh/config
Modified by Jonas Borgström:
- Added CHANGES entry
- Fixed broken unit test
2013-11-27 22:19:21 +01:00
Jonas Borgström a579b7917b Remove unused imports 2013-10-18 21:00:20 +02:00
Jonas Borgström b5b0b7b322 Add two additional tests. 2013-10-10 22:24:06 +02:00
Jonas Borgström baaeb7e060 Fix hashindex resize issue
closes #6
2013-10-02 20:42:26 +02:00
Jonas Borgström 8a29017910 Don't use os.listxattr even if available. 2013-08-17 14:46:24 +02:00
Jonas Borgström b92a620600 Crypto code cleanup and test improvements. 2013-08-12 14:39:14 +02:00
Jonas Borgström ee77ce8b98 Added more robust test for AES counter uniqueness 2013-08-12 13:39:46 +02:00
Jonas Borgström 16d9e55f84 Support access of read only repositories 2013-08-11 22:19:38 +02:00
Jonas Borgström 7815ed5885 Fix xattr issue on OS X. 2013-08-05 20:38:37 +02:00
Jonas Borgström af059fbdfc Make sure all paths included in an archive are relative and local 2013-08-03 13:36:54 +02:00
Jonas Borgström 2e237ad006 Improved mtime precisoin checking for FUSE. 2013-07-30 14:52:02 +02:00
Jonas Borgström df5e4a52a6 Fix Python 3.2 issue on FreeBSD 2013-07-29 21:09:31 +02:00
Jonas Borgström 88618e4132 Fix mtime precision checks for python < 3.3 2013-07-29 14:30:26 +02:00
Jonas Borgström 8e03738f4c More robust mtime precision checks 2013-07-29 13:57:43 +02:00
Jonas Borgström 2281af5284 Rewrote xattr support 2013-07-27 22:33:43 +02:00
Jonas Borgström 626777405d Make fuse fs work on OS X 2013-07-27 14:31:28 +02:00
Jonas Borgström beed6b368b Simplify wait_for_mount() 2013-07-26 13:23:33 +02:00
Jonas Borgström 99f64dfe1d archiver test case improvements. 2013-07-26 13:18:57 +02:00
Jonas Borgström 0b19df3cea Added initial fuse test case 2013-07-25 22:54:19 +02:00
Jonas Borgström b718a443a8 Project rename 2013-07-09 20:14:18 +02:00