aboutsummaryrefslogtreecommitdiff
path: root/Remote/WebDAV.hs
Commit message (Collapse)AuthorAge
* fix #740010 properlyGravatar Joey Hess2014-02-25
|
* webdav: When built with DAV 0.6.0, use the new DAV monad to avoid locking ↵Gravatar Joey Hess2014-02-24
| | | | files, which is not needed by git-annex's use of webdav, and does not work on Box.com.
* webapp: Fix creation of box.com, S3, and Glacier repositories, broken in ↵Gravatar Joey Hess2014-02-24
| | | | 5.20140221.
* plumb creds from webapp to initremoteGravatar Joey Hess2014-02-11
| | | | | Avoids abusing setting environment variables, which was always a hack and won't work on windows.
* add GETAVAILABILITY to external special remote protocolGravatar Joey Hess2014-01-13
| | | | | And some reworking of types, and added an annex-availability git config setting.
* Deal with box.com changing the url of their webdav endpoint.Gravatar Joey Hess2013-12-02
| | | | | | Use new url when making new remotes. Transparently rewrite old url to new for existing remotes.
* assistant: Support repairing git remotes that are locally accessibleGravatar Joey Hess2013-10-27
| | | | | | | | (eg, on removable drives) gcrypt remotes are not yet handled. This commit was sponsored by Sören Brunk.
* directory, webdav: Fix bug introduced in version 4.20131002 that caused the ↵Gravatar Joey Hess2013-10-26
| | | | chunkcount file to not be written. Work around repositories without such a file, so files can still be retreived from them.
* add remote fsck interfaceGravatar Joey Hess2013-10-11
| | | | | | | | | | | | | | | | | | | | Currently only implemented for local git remotes. May try to add support to git-annex-shell for ssh remotes later. Could concevably also be supported by some special remote, although that seems unlikely. Cronner user this when available, and when not falls back to fsck --fast --from remote git annex fsck --from does not itself use this interface. To do so, I would need to pass --fast and all other options that influence fsck on to the git annex fsck that it runs inside the remote. And that seems like a lot of work for a result that would be no better than cd remote; git annex fsck This may need to be revisited if git-annex-shell gets support, since it may be the case that the user cannot ssh to the server to run git-annex fsck there, but can run git-annex-shell there. This commit was sponsored by Damien Diederen.
* hlintGravatar Joey Hess2013-09-25
|
* Support hot-swapping of removable drives containing gcrypt repositories.Gravatar Joey Hess2013-09-12
| | | | | | | | | | | To support this, a core.gcrypt-id is stored by git-annex inside the git config of a local gcrypt repository, when setting it up. That is compared with the remote's cached gcrypt-id. When different, a drive has been changed. git-annex then looks up the remote config for the uuid mapped from the core.gcrypt-id, and tweaks the configuration appropriately. When there is no known config for the uuid, it will refuse to use the remote.
* partially complete gcrypt remote (local send done; rest not)Gravatar Joey Hess2013-09-07
| | | | | | | | | | | | | | | | | | | | | | | | This is a git-remote-gcrypt encrypted special remote. Only sending files in to the remote works, and only for local repositories. Most of the work so far has involved making initremote work. A particular problem is that remote setup in this case needs to generate its own uuid, derivied from the gcrypt-id. That required some larger changes in the code to support. For ssh remotes, this will probably just reuse Remote.Rsync's code, so should be easy enough. And for downloading from a web remote, I will need to factor out the part of Remote.Git that does that. One particular thing that will need work is supporting hot-swapping a local gcrypt remote. I think it needs to store the gcrypt-id in the git config of the local remote, so that it can check it every time, and compare with the cached annex-uuid for the remote. If there is a mismatch, it can change both the cached annex-uuid and the gcrypt-id. That should work, and I laid some groundwork for it by already reading the remote's config when it's local. (Also needed for other reasons.) This commit was sponsored by Daniel Callahan.
* fix build (seems getGpgEncOpts got renamed to getGpgEncParams)Gravatar Joey Hess2013-09-04
|
* Allow public-key encryption of file content.Gravatar guilhem2013-09-03
| | | | | | | | | | | | With the initremote parameters "encryption=pubkey keyid=788A3F4C". /!\ Adding or removing a key has NO effect on files that have already been copied to the remote. Hence using keyid+= and keyid-= with such remotes should be used with care, and make little sense unless the point is to replace a (sub-)key by another. /!\ Also, a test case has been added to ensure that the cipher and file contents are encrypted as specified by the chosen encryption scheme.
* Support building with DAV 0.4.Gravatar Joey Hess2013-04-30
|
* webapp: Now automatically fills in any creds used by an existing remote when ↵Gravatar Joey Hess2013-04-27
| | | | creating a new remote of the same type. Done for Internet Archive, S3, Glacier, and Box.com remotes.
* connect existing meters to the transfer log for downloadsGravatar Joey Hess2013-04-11
| | | | | | | | | | | | | | Most remotes have meters in their implementations of retrieveKeyFile already. Simply hooking these up to the transfer log makes that information available. Easy peasy. This is particularly valuable information for encrypted remotes, which otherwise bypass the assistant's polling of temp files, and so don't have good progress bars yet. Still some work to do here (see progressbars.mdwn changes), but this is entirely an improvement from the lack of progress bars for encrypted downloads.
* webapp: Progess bar fixes for many types of special remotes.Gravatar Joey Hess2013-03-28
| | | | | | | | | | | | | There was confusion in different parts of the progress bar code about whether an update contained the total number of bytes transferred, or the number of bytes transferred since the last update. One way this bug showed up was progress bars that seemed to stick at zero for a long time. In order to fix it comprehensively, I add a new BytesProcessed data type, that is explicitly a total quantity of bytes, not a delta. Note that this doesn't necessarily fix every problem with progress bars. Particularly, buffering can now cause progress bars to seem to run ahead of transfers, reaching 100% when data is still being uploaded.
* add globallyAvailable to remotesGravatar Joey Hess2013-03-15
|
* split cost out into its own moduleGravatar Joey Hess2013-03-13
| | | | | Added a function to insert a new cost into a list, which could be used to asjust costs after a drag and drop.
* GnuPG options for symmetric encryption.Gravatar guilhem2013-03-11
|
* simpler use of MIN_VERSION checksGravatar Joey Hess2013-03-10
|
* deal with http-conduit changing a data typeGravatar Joey Hess2013-02-27
| | | | | | Pity that the library does not provide a function to extract the status code from the StatusCodeException, so when they had to add a new field, it breaks every single place that does it.
* Special remotes now all rollback storage of keys that get modified during ↵Gravatar Joey Hess2013-01-09
| | | | the transfer, which can happen in direct mode.
* Fix transferring files to special remotes in direct mode.Gravatar Joey Hess2013-01-06
|
* type based git config handling for remotesGravatar Joey Hess2013-01-01
| | | | | Still a couple of places that use git config ad-hoc, but this is most of it done.
* whitespace fixesGravatar Joey Hess2012-12-13
|
* webdav: Avoid trying to set props, avoiding incompatability with ↵Gravatar Joey Hess2012-12-01
| | | | livedrive.com. Needs DAV version 0.3.
* instrument webdav testGravatar Joey Hess2012-12-01
|
* avoid unnecessary MaybeGravatar Joey Hess2012-11-30
|
* webapp: Defaults to sharing box.com account info with friends, allowing ↵Gravatar Joey Hess2012-11-28
| | | | one-click enabling of the repository.
* Amazon Glacier special remote; 100% workingGravatar Joey Hess2012-11-20
|
* new storage regime implemented for webdavGravatar Joey Hess2012-11-19
|
* directory special remote: Made more efficient and robust.Gravatar Joey Hess2012-11-19
| | | | | | | | | Files are now written to a tmp directory in the remote, and once all chunks are written, etc, it's moved into the final place atomically. For now, checkpresent still checks every single chunk of a file, because the old method could leave partially transferred files with some chunks present and others not.
* remove annex/ from key locations used for webdavGravatar Joey Hess2012-11-18
|
* S3: Added progress display for uploading and downloading.Gravatar Joey Hess2012-11-18
|
* refactorGravatar Joey Hess2012-11-18
|
* upload progress bars for webdav!Gravatar Joey Hess2012-11-18
|
* simplifyGravatar Joey Hess2012-11-18
|
* better streaming while encrypting/decryptingGravatar Joey Hess2012-11-18
| | | | | | Both the directory and webdav special remotes used to have to buffer the whole file contents before it could be decrypted, as they read from chunks. Now the chunks are streamed through gpg with no buffering.
* fix warningGravatar Joey Hess2012-11-18
|
* fix build with xml-conduit newer than in debianGravatar Joey Hess2012-11-18
| | | | | The Element data type changed to use a map of attributes. Rather than ifdef, I'm avoiding directly using that data type.
* webapp: support box.comGravatar Joey Hess2012-11-17
|
* webdav now checks presence of and receives chunked contentGravatar Joey Hess2012-11-16
| | | | | Note that receiving encrypted chunked content currently involves buffering. (So does doing so with the directory special remote.)
* back to standard directory layout for webdav remotesGravatar Joey Hess2012-11-16
| | | | | | | | This allows deleting all chunks for a file with a single http command, so it's a win after all. However, does not look in the mixed case hash directories, which were in the past used by the directory, etc remotes.
* webdav now supports sending chunked contentGravatar Joey Hess2012-11-16
| | | | Not yet getting it though.
* encrypted webdav workingGravatar Joey Hess2012-11-16
|
* drop webdav compatability with the directory special remote etcGravatar Joey Hess2012-11-16
| | | | | | | | | | The benefit of using a compatable directory structure does not outweigh the cost in complexity of handling the multiple locations content can be stored in directory special remotes. And this also allows doing away with the parent directories, which can't be made unwritable in DAV, so have no benefit there. This will save 2 http calls per file store. But, kept the directory hashing, just in case.
* webdav is fully working in non-enctypted modeGravatar Joey Hess2012-11-16
|
* update to dav 0.1, and basic uploading is working!Gravatar Joey Hess2012-11-15
|