summaryrefslogtreecommitdiff
path: root/Remote/Bup.hs
Commit message (Collapse)AuthorAge
* renameGravatar Joey Hess2011-07-05
|
* renamed GitRepo to GitGravatar Joey Hess2011-06-30
| | | | It was always imported qualified as Git anyway
* rename modules for data types into Types/ directoryGravatar Joey Hess2011-06-01
|
* more standard names for whenM and unlessM operatorsGravatar Joey Hess2011-05-17
| | | | | | | These are defined in ifelse, but it's not currently available and I don't want to pull in a library for 6 lines of code anyhow. Also, ifelse sets the fixity to 1, which does not allow >>? error $ ...
* add whenM and unlessMGravatar Joey Hess2011-05-17
| | | | | Just more golfing.. I am pretty sure something in a library somewhere can do this, but I have been unable to find it.
* simplified a bunch of Maybe handlingGravatar Joey Hess2011-05-15
|
* Fix hasKeyCheap setting for bup and rsync special remotes.Gravatar Joey Hess2011-04-28
|
* bup: Avoid memory leak when transferring encrypted data.Gravatar Joey Hess2011-04-19
| | | | | | | | | | | | | | | | | | | | | | | | This was a most surprising leak. It occurred in the process that is forked off to feed data to gpg. That process was passed a lazy ByteString of input, and ghc seemed to not GC the ByteString as it was lazily read and consumed, so memory slowly leaked as the file was read and passed through gpg to bup. To fix it, I simply changed the feeder to take an IO action that returns the lazy bytestring, and fed the result directly to hPut. AFAICS, this should change nothing WRT buffering. But somehow it makes ghc's GC do the right thing. Probably I triggered some weakness in ghc's GC (version 6.12.1). (Note that S3 still has this leak, and others too. Fixing it will involve another dance with the type system.) Update: One theory I have is that this has something to do with the forking of the feeder process. Perhaps, when the ByteString is produced before the fork, ghc decides it need to hold a pointer to the start of it, for some reason -- maybe it doesn't realize that it is only used in the forked process.
* cleanupGravatar Joey Hess2011-04-17
|
* bup encryption support 100% workingGravatar Joey Hess2011-04-17
|
* renameGravatar Joey Hess2011-04-17
|
* fix stall while storing encrypted data in bupGravatar Joey Hess2011-04-17
| | | | | | Forking a new process rather than relying on a thread to feed gpg. The feeder thread was stalling, probably when the main thread got to the point it was wait()ing on the gpg to exit.
* incomplete and buggy encryption support for bupGravatar Joey Hess2011-04-16
| | | | | Some kind of laziness issue that I don't want to debug right now, and decryption is not implemented.
* encryption key management workingGravatar Joey Hess2011-04-16
| | | | | Encrypted remotes don't yet encrypt data, but git annex initremote can be used to generate a cipher and add additional gpg keys that can use it.
* RemoteConfig typeGravatar Joey Hess2011-04-15
|
* actually check that bup has keysGravatar Joey Hess2011-04-09
| | | | | I don't trust the location log, even for bup. Too many things could go wrong.
* support bup repositories on removable mediaGravatar Joey Hess2011-04-09
|
* more buprepo fixesGravatar Joey Hess2011-04-09
|
* change name of buprepoGravatar Joey Hess2011-04-09
| | | | | | Instead of remote=, use buprepo= Anyone already using bup will need to re-run git annex initremote.
* store annex.uuid in bup reposGravatar Joey Hess2011-04-09
|
* make local bup repos a bit more expensive than local git reposGravatar Joey Hess2011-04-08
| | | | does have to run bup and reassemble files, after all
* set cost for local bup repos to cheapGravatar Joey Hess2011-04-08
|
* minorGravatar Joey Hess2011-04-08
|
* bup is now supported as a special type of remote.Gravatar Joey Hess2011-04-08