summaryrefslogtreecommitdiff
path: root/Remote
Commit message (Collapse)AuthorAge
...
* hook special remote implemented, and testedGravatar Joey Hess2011-04-28
|
* Fix hasKeyCheap setting for bup and rsync special remotes.Gravatar Joey Hess2011-04-28
|
* filter out --delete rsync optionGravatar Joey Hess2011-04-27
| | | | rsync does not have a --no-delete, so do it this way instead
* rsync special remoteGravatar Joey Hess2011-04-27
| | | | | | | | | Fully tested and working, including resuming and encryption. (Though not resuming when sending *with* encryption; gpg doesn't produce identical output each time.) Uses same layout as the directory special remote and the .git/annex/objects/ directory.
* ensure tmp dir existsGravatar Joey Hess2011-04-21
|
* fix S3 upload buffering problemGravatar Joey Hess2011-04-21
| | | | Provide file size to new version of hS3.
* update on memory leakGravatar Joey Hess2011-04-19
| | | | | Finished applying to S3 the change that fixed the memory leak in bup, but it didn't seem to help S3.. with encryption it still grows to 2x file size.
* 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-19
|
* Fix stalls in S3 when transferring encrypted data.Gravatar Joey Hess2011-04-19
| | | | | | | | | | | | | | | | | | | Stalls were caused by code that did approximatly: content' <- liftIO $ withEncryptedContent cipher content return store content' The return evaluated without actually reading content from S3, and so the cleanup code began waiting on gpg to exit before gpg could send all its data. Fixing it involved moving the `store` type action into the IO monad: liftIO $ withEncryptedContent cipher content store Which was a bit of a pain to do, thank you type system, but avoids the problem as now the whole content is consumed, and stored, before cleanup.
* initremote: show gpg keysGravatar Joey Hess2011-04-17
|
* cleanupGravatar Joey Hess2011-04-17
|
* reword againGravatar Joey Hess2011-04-17
| | | | On second thought, "unlocking" is confusable with git-annex unlock.
* tweak wordingGravatar Joey Hess2011-04-17
|
* S3 crypto supportGravatar Joey Hess2011-04-17
| | | | | | Untested, I will need to dust off my S3 keys, and plug the modem back in that was unplugged last night due to very low battery bank power. But it compiles, so it's probably perfect. :)
* make encrypted remotes have slightly higher costsGravatar Joey Hess2011-04-17
|
* refactorGravatar 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.
* refactorGravatar Joey Hess2011-04-16
|
* don't let users change encryption type once remote is inittedGravatar 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
|
* 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.
* refactorGravatar Joey Hess2011-04-09
|
* 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
|
* Periodically flush git command queue, to avoid boating memory usage too much.Gravatar Joey Hess2011-04-07
| | | | | | | Since the queue is flushed in between subcommand actions being run, there should be no issues with actions that expect to queue up some stuff and have it run after they do other stuff. So I didn't have to audit for such assumptions.
* 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.
* bugfix for uuid lookupGravatar Joey Hess2011-04-01
|
* improve robustness when S3 access tokens are is not configuredGravatar Joey Hess2011-03-30
|
* 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
|
* nasty hack to build when hS3 is not availableGravatar Joey Hess2011-03-30
| | | | | | | | | | | So, it would be nicer to just use Cabal and take advantage of its conditional compilation support. But, Cabal seems to lack good support for a package with an internal library that is used by multiple executables. It wants to build everything twice or more. That's too slow for me. Anyway, fairly soon, I expect to upgrade hS3 to a requirment, and I can just revert this.
* refactorGravatar Joey Hess2011-03-29
|
* more S3 docsGravatar Joey Hess2011-03-29
|
* transfering content back from s3 works!Gravatar Joey Hess2011-03-29
|