summaryrefslogtreecommitdiff
path: root/Remote/Directory.hs
Commit message (Collapse)AuthorAge
* 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
|
* 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.
* refactorGravatar Joey Hess2011-04-17
|
* renameGravatar Joey Hess2011-04-17
|
* refactorGravatar Joey Hess2011-04-16
|
* full encryption support for directory special remotesGravatar Joey Hess2011-04-16
|
* add encryption support to directory special remotesGravatar Joey Hess2011-04-16
|
* RemoteConfig typeGravatar Joey Hess2011-04-15
|
* Use lowercase hash directories for locationlog filesGravatar Joey Hess2011-04-02
| | | | | | to avoid some issues with git on OSX with the mixed-case directories. No migration is needed; the old mixed case hash directories are still read; new information is written to the new directories.
* cost bugfixesGravatar Joey Hess2011-03-30
|
* use same directory structure as .git/annex/objects for directory remotesGravatar Joey Hess2011-03-30
| | | | And same file perms.
* allow directory remotes to be in different locationsGravatar Joey Hess2011-03-30
| | | | | | Two machines might have access to the same directory remote on different paths, so don't include the path in its persistent config, instead use the git config to record it.
* boilerplate reductionGravatar Joey Hess2011-03-30
|
* add Remote.DirectoryGravatar Joey Hess2011-03-30