Commit Graph

63 Commits

Author SHA1 Message Date
Thomas Waldmann 310f9b7412 PR #285 - Merge branch 'archive_timestamp' into merge 2015-04-18 21:43:47 +02:00
Thomas Waldmann 0ffee1f1ee implement --timestamp, iso8601-like utc timestamp string or reference file/dir
note: this needs bug #282 to be fixed first, because it will create timestamps with microseconds==0.
2015-04-18 21:36:10 +02:00
Thomas Waldmann 3a382e9b46 Merge branch 'master' into merge 2015-04-15 02:41:55 +02:00
Jonas Borgström 20026e58aa Fix incorrect behaviour with two character directory names.
Independetely found and fixed by both Thomas Waldemann and
Cam Hutchison. Closes #265 and #268.
2015-04-13 22:44:14 +02:00
Jonas Borgström 7198929bae cache: Warn user before accessing relocated repositories
This also closes #225
2015-04-13 22:42:32 +02:00
Thomas Waldmann 1bf5e9ee29 Merge PR #265 - fixes bug #268 - Merge branch 'fix_safe_re' of https://github.com/lealanko/attic into merge 2015-04-04 11:05:52 +02:00
Lauri Alanko 89e9528d0b Escape ".." in path regexp properly. 2015-04-03 00:19:33 +03:00
Thomas Waldmann 8a60f05736 PR #250 - Merge branch 'progress_indication' into merge 2015-03-24 04:30:13 +01:00
Thomas Waldmann 231721d133 implemented create --progress
shows original, compressed and deduped size plus path name.

output is 79 chars wide, so 80x24 terminal does not wrap/scroll.

long path names are shortened (in a rather simplistic way).

output happens when a new item is started, but not more often than 5/s
(thus, not every pathname is shown)

at the end, the output line is cleared but not scrolled, so it basically vanishes.
2015-03-24 04:24:54 +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 fbaa505191 PR #206 - Merge branch 'fixes' of https://github.com/thomaswaldmann/attic into merge 2015-03-06 23:18:08 +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
Yuri D'Elia 15c8a6323f Normalize source/exclude paths before matching
This normalizes the file names in the dot directory when specified explicitly,
along with exclude/include patterns.

This fixes several mismatches when including relative paths that involve the
current directory.
2014-12-14 22:03:49 +01:00
Jonas Borgström 7b9d129bcd Remove dead code 2014-10-09 20:43:58 +02:00
Jonas Borgström 21e03af56b Fix minor location parser bug.
Make sure the entire input is parsed.
2014-08-08 23:34:27 +02:00
Jonas Borgström 9f64e39d9f Reuse chunker buffer between files. 2014-08-03 15:04:41 +02:00
Jonas Borgström 8f4e0f7506 acl: Added workaround for old Linux systems
Really old Linux systems do not have extended_file_no_follow()
2014-08-01 15:50:18 +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 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