Commit graph

845 commits

Author SHA1 Message Date
Alexander Neumann
4b6c7f1584 Reduce dir depth for trees and data by one 2014-12-01 00:52:12 +01:00
Alexander Neumann
bd4a5ca687 Merge branch 'check-timestamps' 2014-12-01 00:09:19 +01:00
Alexander Neumann
13fc9fe604 Add additional check 2014-12-01 00:06:29 +01:00
Alexander Neumann
d2cda159e1 Test incremental backup 2014-11-30 23:18:58 +01:00
Alexander Neumann
caf00f6087 Save blobs from parent snapshot to new snapshot 2014-11-30 23:12:47 +01:00
Alexander Neumann
0ac1716463 Fix error message for invalid snapshot id in fsck 2014-11-30 22:49:41 +01:00
Alexander Neumann
f5e76a0044 Add safety check: count chunks and compare to blobs 2014-11-30 22:49:14 +01:00
Alexander Neumann
87c36b2cfb Add 'fsck' to tests 2014-11-30 22:43:34 +01:00
Alexander Neumann
172b7bf123 Move command init into cmd_* files 2014-11-30 22:39:58 +01:00
Alexander Neumann
bb8c52a974 Add 'fsck' command 2014-11-30 22:35:42 +01:00
Alexander Neumann
3325fa07ea Check timestamps for files 2014-11-30 22:34:21 +01:00
Alexander Neumann
4246e7602f Store empty list of blobs for empty files 2014-11-30 22:16:34 +01:00
Alexander Neumann
c0b3021494 Correctly deal with empty files 2014-11-30 16:24:27 +01:00
Alexander Neumann
6d56d7d4c6 Optimize repository layout
Use subdirectoriers for Data and Tree objects, e.g. store blob
`aec070645fe53ee3b3763059376134f058cc337247c978add178b6ccdfb0019f`
at
```
ac/c0/aec070645fe53ee3b3763059376134f058cc337247c978add178b6ccdfb0019f
```

Issue #58
2014-11-30 16:24:09 +01:00
Alexander Neumann
bbaba349b2 Panic on error saving blobs 2014-11-29 10:52:06 +01:00
Alexander Neumann
b320106198 Add 'key change' to test 2014-11-28 21:59:15 +01:00
Alexander Neumann
b27b8ba4ac Add test-case for key management 2014-11-28 00:34:56 +01:00
Alexander Neumann
65c9a78e95 Remove extra linefeed from table header in 'snapshots' 2014-11-28 00:01:56 +01:00
Alexander Neumann
3e2c9dc267 Show currently used key in 'key list' 2014-11-27 23:26:19 +01:00
Alexander Neumann
3b243ed1dd Add command "key change" to change repository password 2014-11-25 23:23:09 +01:00
Alexander Neumann
43ccee3b08 Add command "key rm" 2014-11-25 23:18:02 +01:00
Alexander Neumann
f7fcd7c04c Add command "key add" 2014-11-25 23:07:00 +01:00
Alexander Neumann
d0a63cd49f Add command "key list" 2014-11-25 22:52:53 +01:00
Alexander Neumann
ad7e1d043f Add simple ascii table implementation 2014-11-25 22:39:35 +01:00
Alexander Neumann
553053afd9 Remove race detector from tests 2014-11-24 22:19:48 +01:00
Alexander Neumann
08690b99bf Merge branch 'list-snapshots' 2014-11-24 22:18:16 +01:00
Alexander Neumann
0a44664d4e Fix test, do not depend on snapshots command 2014-11-24 22:17:49 +01:00
Alexander Neumann
4ab3d51996 Add more checks befor decrypting data 2014-11-24 22:11:09 +01:00
Alexander Neumann
bb62218743 Add functions to compute unique prefix length 2014-11-24 22:09:22 +01:00
Alexander Neumann
2c5d07a571 List snapshots, accept snapshot id prefix
Example:

    $ ./khepri snapshots
    ID        Date                 Source      Directory
    --------------------------------------------------------------------------------
    fa31d65b  2014-11-24 19:45:11  kasimir     /home/user/testdata
    20bdc140  2014-11-24 20:00:47  kasimir     /home/user/testdata
    326cb59d  2014-11-24 20:01:40  kasimir     /home/user/testdata
    20ff988b  2014-11-24 20:35:35  kasimir     /home/user
2014-11-24 21:12:32 +01:00
Alexander Neumann
26cd6c5372 Add maps directory to sftp backend 2014-11-23 23:37:40 +01:00
Alexander Neumann
923a9fa49b Check maps directory when opening repository 2014-11-23 23:34:34 +01:00
Alexander Neumann
339c63befc Add "list maps" command 2014-11-23 23:29:29 +01:00
Alexander Neumann
725e5bfca5 Require repository 2014-11-23 23:19:47 +01:00
Alexander Neumann
79a1ad50ee Remove check for minimum buffer length 2014-11-23 23:02:15 +01:00
Alexander Neumann
719e121c74 Use large, dynamic buffer for encrypting maps 2014-11-23 22:58:41 +01:00
Alexander Neumann
2d8dc7b695 Merge branch 'externalize-map-63'
Close #63
2014-11-23 22:33:23 +01:00
Alexander Neumann
33ce4e33aa Store maps in new subdir "maps" 2014-11-23 22:26:01 +01:00
Alexander Neumann
b1923063fe Ignore ErrUnexpectedEOF for io.ReadFull 2014-11-23 21:49:57 +01:00
Alexander Neumann
ba20ed6ef7 Merge branch 'profile-memory' 2014-11-23 21:27:31 +01:00
Alexander Neumann
f95788ed90 Limit memory usage, add several sync.Pool 2014-11-23 21:26:20 +01:00
Alexander Neumann
575635753e Correct wildcard in Makefile 2014-11-23 15:15:11 +01:00
Alexander Neumann
fd3aca66e4 Merge branch 'fix-stats' 2014-11-23 15:04:03 +01:00
Alexander Neumann
a780462b80 Change bps and eta calculation to prevent overflow 2014-11-23 14:56:41 +01:00
Alexander Neumann
6d0a6844e2 Add space between number and unit 2014-11-23 14:54:37 +01:00
Alexander Neumann
3f0ea78b86 Clear line with ANSI escape on update 2014-11-23 14:34:18 +01:00
Alexander Neumann
f7b5c00fdb Merge branch 'refactor-stats' 2014-11-23 13:52:25 +01:00
Alexander Neumann
7e26567b8b Pretty status for backup 2014-11-23 13:51:15 +01:00
Alexander Neumann
21df0e50e5 Refactor stats
* channel instead of callback func
 * cumulate Stats for slow receivers
2014-11-23 13:51:02 +01:00
Alexander Neumann
7d1ba8ab65 Ignore permission errors for backup 2014-11-23 12:15:19 +01:00