Commit Graph

42 Commits

Author SHA1 Message Date
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 af3e78e6b2 Really fix EDEADLK bug 2014-05-31 15:17:06 +02:00
Jonas Borgström 9178d76ce7 Fix py3.2 specific EDEADLK related bug. 2014-05-31 15:15:56 +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 7e258c8401 crypto: Improved AES performance
attic.crypto now uses the OpenSSL EVP API for AES encryption.
This API uses AES-NI instructions when available resulting in
a significant AES encryption performance improvement:

Before: 80MiB/s
After: 1931MiB/s

Message size: 64kiB
CPU: Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
2014-05-13 22:33:58 +02:00
Jonas Borgström a87a019608 cachedir: Add CACHEDIR.TAG file to attic cache dirs 2014-05-01 14:56:21 +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
Jonas Borgström 8c25d02481 Experimental FreeBSD ACL support (nfs4 and posix) (#66) 2014-04-27 14:17:52 +02:00
Jonas Borgström 0ad5253d84 Experimental Linux ACL support (#66) 2014-04-13 20:26:46 +02:00
Jonas Borgström ccb7ea909f prune: Use the local time zone (not UTC) when interpreting time 2014-03-30 22:57:16 +02:00
Jonas Borgström 8a1ebe0112 Added '--stats' option to attic prune and attic delete 2014-03-19 22:32:07 +01:00
Jonas Borgström 80e7e637cc Make --stats output 78 characters wide 2014-03-19 21:52:49 +01:00
Jonas Borgström 92c333c071 Add a method to detect out of date binary extension modules 2014-03-18 22:04:08 +01:00
Jonas Borgström e398d5f632 Include "all archives" size information in "--stats" output.
Closes #54
2014-03-18 21:42:03 +01:00
Dan Christensen 78c2ef6a13 When -v is specified with prune, also show the timestamp of each
archive, which is helpful for debugging.  Unify this with the
formatting done by "attic list".  The spacing is chosen so that
the attic prune output is 79 characters wide when the archive
names are at most 36 characters.
2014-02-24 19:46:56 -05: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 32e773c15d Implemented archive metadata checking and repair 2014-02-16 22:21:39 +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 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
Dan Christensen 4da8466b3b Fix a doc typo. 2014-02-07 18:10:52 -05:00
Dan Christensen b76a40c987 Simplify the ExcludePattern logic further, and explain. 2014-02-07 18:04:21 -05:00
Dan Christensen 8cc74be62e Simplify IncludePattern and add a few more tests to PatternTestCase. 2014-02-07 16:27:18 -05:00
Dan Christensen 9c5e3d4ddc Fix minor bugs in IncludePattern and ExcludePattern, and speed up
ExcludePattern by storing a compiled regular expression.
2014-02-07 15:54:24 -05: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 d3ff6ac25d Clean-up helpers.prune_split 2014-02-02 23:45:53 -05:00
Dan Christensen 13863e64f8 Correct a theoretical bug in helpers.prune_split 2014-02-02 23:44:04 -05: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 87749e413e Fix timezone issue on python 3.2 2013-12-15 21:36:20 +01:00
Jonas Borgström f3e9fa28bc Fix incorrect display of time
Closes #13
2013-12-15 21:25:32 +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 5fa5380f0f Detect and abort if repository is older than the cache 2013-08-09 23:23:00 +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 8e03738f4c More robust mtime precision checks 2013-07-29 13:57:43 +02:00
Jonas Borgström 5d1e9dc501 Daemonize by default when mounting fuse filesystem 2013-07-25 21:36:52 +02:00
Jonas Borgström b718a443a8 Project rename 2013-07-09 20:14:18 +02:00
Renamed from darc/helpers.py (Browse further)