summaryrefslogtreecommitdiff
path: root/Remote
Commit message (Collapse)AuthorAge
* Windows: Handle shebang in external special remote program.Gravatar Joey Hess2016-09-05
|
* remove TransferObserverGravatar Joey Hess2016-08-03
| | | | unused after last commit
* get, move, copy, mirror: Added --failed switch which retries failed copies/movesGravatar Joey Hess2016-08-03
| | | | | | | | | Note that get --from foo --failed will get things that a previous get --from bar tried and failed to get, etc. I considered making --failed only retry transfers from the same remote, but it was easier, and seems more useful, to not have the same remote requirement. Noisy due to some refactoring into Types/
* Support checking presence of content at a http url that redirects to a ftp url.Gravatar Joey Hess2016-07-12
|
* testremote: Fix crash when testing a freshly made external special remote.Gravatar Joey Hess2016-07-05
| | | | | | Ignore exceptions when getting the cost and availability for the remote, and return sane defaults. These defaults are not cached, so if a special remote program has a transient problem, it will re-query it later.
* fix warningGravatar Joey Hess2016-05-27
|
* enableremote: Remove annex-ignore configuration from a remote.Gravatar Joey Hess2016-05-24
|
* improved refactoringGravatar Joey Hess2016-05-23
| | | | | ghc 8.0.1 didn't like runner because it used Rank2Types or something. Instead, factor out the feeder action.
* plumb RemoteGitConfig through to encryptCipherGravatar Joey Hess2016-05-23
|
* plumb RemoteGitConfig through to decryptCipherGravatar Joey Hess2016-05-23
|
* plumb RemoteGitConfig through to setRemoteCredPairGravatar Joey Hess2016-05-23
|
* Pass the various gnupg-options configs to gpg in several cases where they ↵Gravatar Joey Hess2016-05-23
| | | | | | | | | | | | were not before. Removed the instance LensGpgEncParams RemoteConfig because it encouraged code that does not take the RemoteGitConfig into account. RemoteType's setup was changed to take a RemoteGitConfig, although the only place that is able to provide a non-empty one is enableremote, when it's changing an existing remote. This led to several folow-on changes, and got RemoteGitConfig plumbed through.
* git-annex: GHC compatibilityGravatar ilovezfs2016-05-23
|
* Change git annex info remote encryption description to use wording closer to ↵Gravatar Joey Hess2016-05-11
| | | | what's used in initremote.
* Added new encryption=sharedpubkey mode for special remotes.Gravatar Joey Hess2016-05-10
| | | | | | This is useful for makking a special remote that anyone with a clone of the repo and your public keys can upload files to, but only you can decrypt the files stored in it.
* Added annex.gnupg-decrypt-options and ↵Gravatar Joey Hess2016-05-10
| | | | | | | | | | | remote.<name>.annex-gnupg-decrypt-options, which are passed to gpg when it's decrypting data. The naming is unofrtunately not consistent, but the gnupg-options were only used for encrypting, and it's too late to change that. It would be nice to have a third setting that is always passed to gnupg, but ~/.gnupg/options can be used to specify such global options when really needed.
* Propigate GIT_DIR and GIT_WORK_TREE environment to external special remotes.Gravatar Joey Hess2016-05-06
| | | | | | | | | Since git-annex unsets these when started, they have to be explicitly propigated. Also, this makes --git-dir and --work-tree settings be reflected in the environment. The need for this came up in https://github.com/DanielDent/git-annex-remote-rclone/issues/3
* improve info display of OtherStorageClassGravatar Joey Hess2016-05-05
|
* use DIRHASH-LOWER for consistencyGravatar Joey Hess2016-05-03
|
* Added DIRHASH_LOWER to external special remote protocol.Gravatar Joey Hess2016-05-03
|
* Improve behavior when a just added http remote is not available during uuid ↵Gravatar Joey Hess2016-05-03
| | | | probe. Do not mark it as annex-ignore, so it will be tried again later.
* Fix bug that prevented resuming of uploads to encrypted special remotes that ↵Gravatar Joey Hess2016-04-27
| | | | | | used chunking. This bug could also expose the names of keys to such remotes. This is a low-severity security hole.
* Fix duplicate progress meter display when downloading from a git remote over ↵Gravatar Joey Hess2016-04-19
| | | | http with -J.
* fix drop hang reported by musicmatzeGravatar Joey Hess2016-04-18
| | | | | | | | | | | | | | | | | Fix hang when dropping content needs to lock the content on a ssh remote, which occurred when the remote has git-annex version 5.20151019 or newer. Analysis: `race` runs 2 threads at once, and the hGetLine finishes first. So, it tries to cancel the waitForProcess, but unfortunately that is making a foreign call and so cannot be canceled. The remote git-annex-shell is waiting for a line on stdin before it will exit. Deadlock. This only occurred sometimes; I reproduced it going from darkstar to elephant, but not from darkstar to darkstar. Not sure how that fits into the above analysis -- perhaps a race condition is also involved? Fixed by not using `race`; now the hGetLine will fail with an exception if the remote git-annex-shell exits without any output.
* simplify code to make it compilable with ghc v7.11.20150407Gravatar Gabor Greif2016-04-12
|
* hard links on windowsGravatar Joey Hess2016-04-08
| | | | | * annex.thin and annex.hardlink are now supported on Windows. * unannex --fast now makes hard links on Windows.
* ddar remote: fix ssh callsGravatar Robie Basak2016-03-23
| | | | | | | | | | sshOptions is now designed for working out ssh options only, and may insert the extra options it is given to the middle. So it is incorrect to call it with the remote parameters at the end. Instead, append them to its return value. This half regressed in 3653b40, and presumably regressed fully when sshOptions was changed some time later.
* S3: Allow configuring with requeststyle=path to use path-style bucket access ↵Gravatar Joey Hess2016-02-09
| | | | | | instead of the default DNS-style access. untested
* WebDAV: Remove a bogus trailing slash from the end of the url to the ↵Gravatar Joey Hess2016-02-09
| | | | | | | | temporary store location for a key. Thanks, wzhd. That trailing slash is needed for legacy chunked mode, because it puts the chunks in a subdir under the key. But, outside legacy chunked mode, it's BS and it's amazing it worked at all with some webdav servers.
* WebDAV: Set depth 1 in PROPFIND request, for better compatability with some ↵Gravatar Joey Hess2016-02-09
| | | | servers. Thanks, wzhd.
* remove 3 build flagsGravatar Joey Hess2016-01-26
| | | | | | | | | | | | | * Removed the webapp-secure build flag, rolling it into the webapp build flag. * Removed the quvi and tahoe build flags, which only adds aeson to the core dependencies. * Removed the feed build flag, which only adds feed to the core dependencies. Build flags have cost in both code complexity and also make Setup configure have to work harder to find a usable set of build flags when some dependencies are missing.
* remove 163 lines of code without changing anything except importsGravatar Joey Hess2016-01-20
|
* avoid hard linking object from other repository when annex.thin is setGravatar Joey Hess2016-01-13
| | | | | This is simpler and less expensive than checking if the src file has a link count >= 2, and also is unlocked.
* remove reundant isDirect checkGravatar Joey Hess2016-01-13
| | | | Already checked in wantHardLink
* typoGravatar Joey Hess2015-12-26
|
* deal with unlocked files when calling rsyncParamsRemoteGravatar Joey Hess2015-12-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In copyFromRemote, it used to check isDirect, but that was not needed; the remote is sending the file, so it doesn't matter if the local, receiving repository is in direct mode or not. And, since the content is not present, yet, it's certianly not unlocked. Note that, the remote may indeed be sending an unlocked file, but sendkey uses sendAnnex, which will detect if the file is modified before or during transfer, and will exit nonzero, aborting the upload. So, the receiver doesn't need any checks. In copyToRemote, it forces recvkey to verify content whenever it's being sent from a v6 repository. recvkey is almost always going to verify content anyway, unless annex.verify is not set. So, this doesn't make it any more expensive, except for in that unusual configuration. The alternative would be to change the recvkey interface, so that the sender checks afterwards if what it was sending changed, and the receiver then throws out the bad transfer. That would be less expensive for the reciever, as it would not need to do a checksum verification. But, it would mean another network round trip, and since rsync closes the connection, it would need to open another ssh connection to do this. Even with connction caching, that would add latency to uploads. It would also complicate the interface, especially because an older git-annex-shell would not have the new interface available. For these reasons, I prefer punting on that at this time, and instead someone might set annex.verify=false and be unhappy that it still verifies.. (One other gotcha not dealt with is that a v5 repo could be upgraded to v6 while an upload is in progress, and a file unlocked and modified.) (Also, I double-checked Remote.GCrypt's calls to rsyncParamsRemote, and they're fine. When a file is being uploaded to gcrypt, or any other special repository, it is mediated by sendAnnex, so changes will be detected at that level and the special remote implementation doesn't need to worry about them.)
* add unlocked flag for git-annex-shell recvkeyGravatar Joey Hess2015-12-26
| | | | | | The direct flag is also set when sending unlocked content, to support old versions of git-annex-shell. At some point, the direct flag will be removed, and only the unlocked flag will be used.
* Merge branch 'master' into smudgeGravatar Joey Hess2015-12-11
|\
| * webdav: When testing the WebDAV server, send a file with content. The empty ↵Gravatar Joey Hess2015-12-11
| | | | | | | | file it was sending tickled bugs in some php WebDAV server.
* | check inode cache in prepSendAnnexGravatar Joey Hess2015-12-10
|/ | | | | This does mean one query of the database every time an object is sent. May impact performance.
* tahoe: Include tahoe capabilities in whereis display.Gravatar Joey Hess2015-11-30
|
* improve error message when special remote program cannot be runGravatar Joey Hess2015-11-18
|
* Display progress meter in -J mode when downloading from the web.Gravatar Joey Hess2015-11-16
| | | | | Including in addurl, and get --from web, but also in S3 and External special remotes when a web url is known for content in those remotes.
* refactorGravatar Joey Hess2015-11-16
|
* Display progress meter in -J mode when copying from a local git repo, to a ↵Gravatar Joey Hess2015-11-16
| | | | | | | | | | | | local git repo, and from a remote git repo. Had everything available, just didn't combine the progress meter with the other places progress is sent to update it. (And to a remote repo already did show progress.) Most special remotes should already display progress meters with -J, same as without it. One exception to this is the web, since it relies on wget/curl progress display without -J. Still todo..
* convert from Utility.LockPool to Annex.LockPool everywhereGravatar Joey Hess2015-11-12
|
* concurrent-output, first passGravatar Joey Hess2015-11-04
| | | | | | Output without -Jn should be unchanged from before. With -Jn, concurrent-output is used for messages, but regions are not used yet, so it's a mess.
* Fix failure to build with aws-0.13.0 and finish nearline support.Gravatar Joey Hess2015-11-02
| | | | | | * Fix failure to build with aws-0.13.0. * When built with aws-0.13.0, the S3 special remote can be used to create google nearline buckets, by setting storageclass=NEARLINE.
* Avoid displaying network transport warning when a ssh remote does not yet ↵Gravatar Joey Hess2015-10-15
| | | | | | | | | | | have an annex.uuid set. Instead, only display transport error if the configlist output doesn't include an annex.uuid line, even an empty one. A recent change made git-annex init try to get all the remote uuids, and so the transport error would be displayed by it. It was also displayed when eg, copying files to a remote that had no uuid yet.
* S3: Fix support for using https.Gravatar Joey Hess2015-10-15
| | | | Was using the http-only Manager before, not the tls-capable one.