summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | | fix a fenchpost bug when resuming chunked store at endGravatar Joey Hess2014-08-01
| | | | | | | | | | | | Discovered thanks to testremote command!
* | | fix chunk=0Gravatar Joey Hess2014-08-01
| | | | | | | | | | | | Found by testremote
* | | testremote: New command to test uploads/downloads to a remote.Gravatar Joey Hess2014-08-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | This only performs some basic tests so far; no testing of chunking or resuming. Also, the existing encryption type of the remote is used; it would be good later to derive an encrypted and a non-encrypted version of the remote and test them both. This commit was sponsored by Joseph Liu.
| | * (no commit message)Gravatar gernot2014-08-01
| | |
* | | add new section for testing commandsGravatar Joey Hess2014-08-01
| | |
| | * Added a commentGravatar https://www.google.com/accounts/o8/id?id=AItOawmAINLSovhWM_4_KrbngOcxduIbBuKv8ZA2014-08-01
| | |
| | * Added a commentGravatar Xyem2014-08-01
| | |
| | * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawmAINLSovhWM_4_KrbngOcxduIbBuKv8ZA2014-08-01
| | |
| | * Added a commentGravatar zardoz2014-07-31
| | |
| | * Add tip to make Firefox behave as expected when opening annexed HTML documents.Gravatar zardoz2014-07-31
| | |
| | * Added a comment: Bug still validGravatar https://www.google.com/accounts/o8/id?id=AItOawm8BAEUyzYhORZmMuocRTk4M-3IumDm5VU2014-07-31
| | |
| | * typoGravatar http://olivier.mehani.name/2014-07-31
| | |
| | * Added a commentGravatar https://www.google.com/accounts/o8/id?id=AItOawn-TDneVW-8kwb1fyTRAJfH3l1xs2VSEmk2014-07-30
| | |
| | * Added a commentGravatar https://www.google.com/accounts/o8/id?id=AItOawmwjQzWgiD7_I3zw-_91rMRf_6qoThupis2014-07-30
| | |
| * | Display exception message when a transfer fails due to an exception.Gravatar Joey Hess2014-07-30
| |/ | | | | | | | | | | For example, I had a copy to a remote that was failing for an unknown reason. This let me see the exception was createDirectory: permission denied; the underlying problem being a permissions issue.
* | chunk size adviceGravatar Joey Hess2014-07-30
| |
| * Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2014-07-30
| |\
| * | add missing Ord constraint (fixes android build)Gravatar Joey Hess2014-07-30
| | | | | | | | | | | | | | | Probably the new ghc used on android is the root cause of needing this constraint.
* | | WebDAV: Dropped support for DAV before 0.6.1.Gravatar Joey Hess2014-07-30
| | | | | | | | | | | | | | | 0.6.1 is in testing, and stable does not have DAV at all, so I can dispense with this compatability code
| | * Added a comment: interesting ideaGravatar http://joeyh.name/2014-07-30
| | |
| | * Added a commentGravatar http://joeyh.name/2014-07-30
| | |
| * | mention possibility of parallel chunk upload/downloadGravatar Joey Hess2014-07-30
| |/
* | only chunk stable keysGravatar Joey Hess2014-07-30
| | | | | | | | | | | | The content of unstable keys can potentially be different in different repos, so eg, resuming a chunked upload started by another repo would corrupt data.
| * devblogGravatar Joey Hess2014-07-29
| |
* | update progress after each chunk, at leastGravatar Joey Hess2014-07-29
| | | | | | | | | | | | This way, when the remote implementation neglects to update progress, there will still be a somewhat useful progress display, as long as chunks are used.
* | fix cleanup of FileContents once done when them when retrievingGravatar Joey Hess2014-07-29
| |
* | optimise case of remote that retrieves FileContent, when chunks and ↵Gravatar Joey Hess2014-07-29
| | | | | | | | | | | | | | | | | | | | encryption are not being used No need to read whole FileContent only to write it back out to a file in this case. Can just rename! Yay. Also indidentially, fixed an attempt to open a file for write that was already opened for write, which caused a crash and deadlock.
* | support chunking for all external special remotes!Gravatar Joey Hess2014-07-29
| | | | | | | | | | | | | | Removing code and at the same time adding great features, including upload/download resuming. This commit was sponsored by Romain Lenglet.
* | better type for RetrieverGravatar Joey Hess2014-07-29
| | | | | | | | | | | | | | | | Putting a callback in the Retriever type allows for the callback to remove the retrieved file when it's done with it. I did not really want to make Retriever be fixed to Annex Bool, but when I tried to use Annex a, I got into some type of type mess.
* | allow Retriever action to update the progress meterGravatar Joey Hess2014-07-29
| | | | | | | | | | | | | | | | Needed for eg, Remote.External. Generally, any Retriever that stores content in a file is responsible for updating the meter, while ones that procude a lazy bytestring cannot update the meter, so are not asked to.
* | lift types from IO to AnnexGravatar Joey Hess2014-07-29
| | | | | | | | | | | | | | | | | | | | | | Some remotes like External need to run store and retrieve actions in Annex, not IO. In order to do that lift, I had to dive pretty deep into the utilities, making Utility.Gpg and Utility.Tmp be partly converted to using MonadIO, and Control.Monad.Catch for exception handling. There should be no behavior changes in this commit. This commit was sponsored by Michael Barabanov.
| * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawlYGpCG2u-0fVbpQhIDMX_ZfE64E-K2EMI2014-07-29
| |
* | add ContentSource type, for remotes that act on files rather than ByteStringsGravatar Joey Hess2014-07-29
| | | | | | | | | | Note that currently nothing cleans up a ContentSource's file, when eg, retrieving chunks.
* | fix non-checked hasKeyChunksGravatar Joey Hess2014-07-29
| |
| * (no commit message)Gravatar Xyem2014-07-29
| |
| * new wish: add repository name to commit messagesGravatar http://svario.it/gioele2014-07-29
| |
| * new bug: whereis does not work in direct modeGravatar http://svario.it/gioele2014-07-29
| |
| * Added a commentGravatar http://svario.it/gioele2014-07-29
| |
| * i hope this is not too sillyGravatar https://id.koumbit.net/anarcat2014-07-28
| |
| * found some files in misctmpGravatar https://id.koumbit.net/anarcat2014-07-28
| |
| * (no commit message)Gravatar https://id.koumbit.net/anarcat2014-07-28
| |
| * (no commit message)Gravatar https://id.koumbit.net/anarcat2014-07-28
| |
| * back from the dead, or notGravatar https://id.koumbit.net/anarcat2014-07-28
| |
| * Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2014-07-28
| |\
| * | devbogGravatar Joey Hess2014-07-28
| | |
| * | expand to rolling hash based designGravatar Joey Hess2014-07-28
| | |
| | * Added a comment: One snagGravatar https://www.google.com/accounts/o8/id?id=AItOawkftzaCvV7EDKVDfJhsQZ3E1Vn-0db516w2014-07-28
| | |
* | | make explicit the implicit requirement that CHECKPRESENT not say a key is ↵Gravatar Joey Hess2014-07-28
| | | | | | | | | | | | present until it's all done being stored
* | | resume interrupted chunked uploadsGravatar Joey Hess2014-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Leverage the new chunked remotes to automatically resume uploads. Sort of like rsync, although of course not as efficient since this needs to start at a chunk boundry. But, unlike rsync, this method will work for S3, WebDAV, external special remotes, etc, etc. Only directory special remotes so far, but many more soon! This implementation will also allow starting an upload from one repository, interrupting it, and then resuming the upload to the same remote from an entirely different repository. Note that I added a comment that storeKey should atomically move the content into place once it's all received. This was already an undocumented requirement -- it's necessary for hasKey to work reliably. This resume code just uses hasKey to find the first chunk that's missing. Note that if there are two uploads of the same key to the same chunked remote, one might resume at the point the other had gotten to, but both will then redundantly upload. As before. In the non-resume case, this adds one hasKey call per storeKey, and only if the remote is configured to use chunks. Future work: Try to eliminate that hasKey. Notice that eg, `git annex copy --to` checks if the key is present before sending it, so is already running hasKey.. which could perhaps be cached and reused. However, this additional overhead is not very large compared with transferring an entire large file, and the ability to resume is certianly worth it. There is an optimisation in place for small files, that avoids trying to resume if the whole file fits within one chunk. This commit was sponsored by Georg Bauer.
* | | fix handling of removal of keys that are not presentGravatar Joey Hess2014-07-28
| | |