Commit Graph

92 Commits

Author SHA1 Message Date
Alexander Neumann 23ac4f84dd Set file-mode in repository read-only (Closes #48) 2015-03-14 14:30:26 +01:00
Alexander Neumann f69a39cff5 Add ID to repository
This allows identifying a repository regardless if it's accessed over
SFTP or locally. Introduced for having a per-repository cache.
2015-03-14 12:06:27 +01:00
Alexander Neumann b6f25aa690 Remove Each(), add basic stats 2015-02-17 23:11:56 +01:00
Alexander Neumann c631b5c738 Add Len() functions for IDSet and Map 2015-02-17 22:39:16 +01:00
Alexander Neumann 06ed5c12b8 Remove Compress() and Uncompress() from backend 2015-02-16 00:30:51 +01:00
Alexander Neumann fb2cd7b485 HashingWriter: Track size 2015-02-16 00:24:43 +01:00
Alexander Neumann b816192d1c backend: Throw error when Close() is called twice 2015-02-16 00:24:02 +01:00
Alexander Neumann 907d401e32 backend: use HashingWriter 2015-02-15 23:46:21 +01:00
Alexander Neumann 5c724b92b8 Add HashingWriter and HashAppendWriter 2015-02-15 23:21:35 +01:00
Alexander Neumann 72c951a6ec Simply backend interface
Rename CreateBlob() method to Create(), remove old Create* methods
2015-02-15 17:26:20 +01:00
Alexander Neumann 35636a9d92 Introduce CreateBlob() method for backend 2015-02-15 17:09:49 +01:00
Alexander Neumann 92e2647505 Add tests for sftp backend, split out id tests 2015-02-11 20:17:55 +01:00
Alexander Neumann 6c68150e45 Add streaming functions to mockBackend 2015-02-11 20:01:01 +01:00
Alexander Neumann 89bf88df7a Add streaming methods to interface 2015-02-11 19:55:23 +01:00
Alexander Neumann fdbe2f0c2d Implement streaming methods for sftp backend 2015-02-11 19:55:11 +01:00
Alexander Neumann 0a45ec1d3a Implement streaming functions for local backend 2015-02-11 19:50:29 +01:00
Alexander Neumann 64f7b4e5e9 Rename HashReader -> HashAppendReader, add HashingReader 2015-02-11 19:37:48 +01:00
Alexander Neumann 842dea173c Generalize hash in backend 2015-02-11 19:25:43 +01:00
Alexander Neumann 5f0cce8546 Move HashReader to backend 2015-02-11 19:20:45 +01:00
Alexander Neumann 203a911de9 Refactor repository structure
Merge Map data type into Tree.
2015-01-14 16:34:30 +01:00
Alexander Neumann cc147c002e Introduce type Server 2014-12-21 17:37:29 +01:00
Alexander Neumann 661c1e9aa1 Restructure backend 2014-12-21 17:29:58 +01:00
Alexander Neumann e2fea0d088 Rename khepri -> restic 2014-12-05 21:45:49 +01:00
Alexander Neumann 4b6c7f1584 Reduce dir depth for trees and data by one 2014-12-01 00:52:12 +01:00
Alexander Neumann 3325fa07ea Check timestamps for files 2014-11-30 22:34:21 +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 08690b99bf Merge branch 'list-snapshots' 2014-11-24 22:18:16 +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 33ce4e33aa Store maps in new subdir "maps" 2014-11-23 22:26:01 +01:00
Alexander Neumann f95788ed90 Limit memory usage, add several sync.Pool 2014-11-23 21:26:20 +01:00
Alexander Neumann d1e4431514 Refactor StorageMap to BlobList 2014-11-22 21:05:18 +01:00
Alexander Neumann 804cebde67 Rename backend subdir 'blobs' to 'data' 2014-11-16 13:22:19 +01:00
Alexander Neumann f37d0bf45f Add newlink to version file 2014-11-15 15:30:54 +01:00
Alexander Neumann 24b4d58bdf Remove double check 2014-11-15 15:25:30 +01:00
Alexander Neumann 9b75f2cab0 Better error handling and annotation 2014-10-07 23:23:39 +02:00
Alexander Neumann f848afed27 Add SFTP backend 2014-10-04 19:20:15 +02:00
Alexander Neumann bfd99a9be6 Add 'version' file to local backend 2014-10-04 16:49:39 +02:00
Alexander Neumann 30ab03b7b7 Add decrypt, refactor 2014-10-03 21:44:55 +02:00