summaryrefslogtreecommitdiff
path: root/Remote
Commit message (Collapse)AuthorAge
* clean up cleanup action enumerationGravatar Joey Hess2014-03-13
|
* Fix zombie leak and general inneficiency when copying files to a local git repo.Gravatar Joey Hess2014-03-06
| | | | | | Benchmarking this with 1000 small files being copied, the time reduced from 15.98s to 14.64s -- an 8% improvement in the non-data-transfer overhead of git-annex copy.
* webdav: When built with a new enough haskell DAV (0.6), disable the http ↵Gravatar Joey Hess2014-03-05
| | | | response timeout, which was only 5 seconds.
* glacier: Pass --region to glacier checkpresent.Gravatar Joey Hess2014-03-04
| | | | | I suppose this is not necessary when it has a local cache, so I didn't notice it was missing.
* Put non-object tmp files in .git/annex/misctmp, leaving .git/annex/tmp for ↵Gravatar Joey Hess2014-02-26
| | | | | | | | | | | | | | | | | | | | only partially transferred objects. This allows eg, putting .git/annex/tmp on a ram disk, if the disk IO of temp object files is too annoying (and if you don't want to keep partially transferred objects across reboots). .git/annex/misctmp must be on the same filesystem as the git work tree, since files are moved to there in a way that will not work cross-device, as well as symlinked into there. I first wanted to put the tmp objects in .git/annex/objects/tmp, but that would pose transition problems on upgrade when partially transferred objects existed. git annex info does not currently show the size of .git/annex/misctemp, since it should stay small. It would also be ok to make something clean it out, periodically.
* more DAV url fixes for windowsGravatar Joey Hess2014-02-25
|
* add protocol-level debugging for davGravatar Joey Hess2014-02-25
|
* Windows webdav: Fix DOS path separator bug.Gravatar Joey Hess2014-02-25
| | | | Use posix </> etc for urls.
* fix bare repo optimisation on WindowsGravatar Joey Hess2014-02-25
|
* fix #740010 properlyGravatar Joey Hess2014-02-25
|
* add UrlOptions sum typeGravatar Joey Hess2014-02-24
|
* Make annex.web-options be used in several places that call curl.Gravatar Joey Hess2014-02-24
|
* 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.
* Fix handling of rsync remote urls containing a username, including rsync.net.Gravatar Joey Hess2014-02-21
| | | | | | | | | | | This breakage seems to have been caused way back in 0957b771, but I am pretty sure rsync.net support has not been entirely broken since last April. AFAICS, the generated .ssh/config has not changed since then -- it has never included a Username setting line. So, I am puzzled at when this reversion was introduced. Note that the breakage only affected checkpresent and remove. Upload and download use the ssh connection caching, which includes a -l username.
* glacier: Do not try to run glacier value create when an existing glacier ↵Gravatar Joey Hess2014-02-20
| | | | remote is enabled.
* remove Read instance for RefGravatar Joey Hess2014-02-19
| | | | | | | | Removed instance, got it all to build using fromRef. (With a few things that really need to show something using a ref for debugging stubbed out.) Then added back Read instance, and made Logs.View use it for serialization. This changes the view log format.
* cleanup thanks to Utility.PIDGravatar Joey Hess2014-02-11
|
* 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 progress display for transfers to/from external special remotes.Gravatar Joey Hess2014-02-10
|
* fix failing test case on WindowsGravatar Joey Hess2014-02-03
| | | | ensure file being modified is all read before it's opened for write
* avoid using openFile when withFile can be usedGravatar Joey Hess2014-02-03
| | | | | | Potentially fixes some FD leak if an action on an opened file handle fails for some reason. There have been some hard to reproduce reports of git-annex leaking FDs, and this may solve them.
* Added ways to configure rsync options to be used only when uploading or ↵Gravatar Joey Hess2014-02-02
| | | | downloading from a remote. Useful to eg limit upload bandwidth.
* change a few renameFile's to renameGravatar Joey Hess2014-01-29
| | | | | AFAIK, none of these ever operate on directories, but nor do I want to explicitly check if they're files and fail if not.
* use locking on WindowsGravatar Joey Hess2014-01-28
| | | | This is all the easy cases, where there was already a separate lock file.
* reorgGravatar Joey Hess2014-01-26
|
* reorgGravatar Joey Hess2014-01-26
|
* Optimise non-bare http remotes; no longer does a 404 to the wrong url every ↵Gravatar Joey Hess2014-01-26
| | | | time before trying the right url. Needs annex-bare to be set to false, which is done when initially probing the uuid of a http remote.
* reorganize numcopies code (no behavior changes)Gravatar Joey Hess2014-01-21
| | | | | | | Move stuff into Logs.NumCopies. Add a NumCopies newtype. Better names for various serialization classes that are specific to one thing or another.
* sync --content: New option that makes the content of annexed files be ↵Gravatar Joey Hess2014-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | transferred. Similar to the assistant, this honors any configured preferred content expressions. I am not entirely happpy with the implementation. It would be nicer if the seek function returned a list of actions which included the individual file gets and copies and drops, rather than the current list of calls to syncContent. This would allow getting rid of the somewhat reundant display of "sync file [ok|failed]" after the get/put display. But, do that, withFilesInGit would need to somehow be able to construct such a mixed action list. And it would be less efficient than the current implementation, which is able to reuse several values between eg get and drop. Note that currently this does not try to satisfy numcopies when getting/putting files (numcopies are of course checked when dropping files!) This makes it like the assistant, and unlike get --auto and copy --auto, which do duplicate files when numcopies is not yet satisfied. I don't know if this is the right decision; it only seemed to make sense to have this parallel the assistant as far as possible to start with, since I know the assistant works. This commit was sponsored by Øyvind Andersen Holm.
* catch exception checking if url exists when network is disconnectedGravatar Joey Hess2014-01-16
| | | | Leads to better failure message (or possibly fallback to another remote).
* avoid needing a build-dep on hxt for Data.AssocListGravatar Joey Hess2014-01-14
|
* Fix a long-standing bug that could cause the wrong index file to be used ↵Gravatar Joey Hess2014-01-14
| | | | when committing to the git-annex branch, if GIT_INDEX_FILE is set in the environment. This typically resulted in git-annex branch log files being committed to the master branch and later showing up in the work tree. (These log files can be safely removed.)
* add GETAVAILABILITY to external special remote protocolGravatar Joey Hess2014-01-13
| | | | | And some reworking of types, and added an annex-availability git config setting.
* external special remote protocol: Added GETGITDIR.Gravatar Joey Hess2014-01-13
|
* forgot to delay for 1 second in busy wait loopGravatar Joey Hess2014-01-08
|
* only run tahoe start onceGravatar Joey Hess2014-01-08
|
* copyright yearGravatar Joey Hess2014-01-08
|
* Added tahoe special remote.Gravatar Joey Hess2014-01-08
| | | | | | | | | | | | Known problems: 1. Tries to tahoe start when daemon is already running. 2. If multiple tahoe remotes are set up on the same computer, they will have the same node.url configured by default, and this confuses tahoe commands. This commit was sponsored by LeastAuthority.com
* add DEBUGGravatar Joey Hess2014-01-07
|
* show PATH on failureGravatar Joey Hess2014-01-07
|
* add remote state logsGravatar Joey Hess2014-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | This allows a remote to store a piece of arbitrary state associated with a key. This is needed to support Tahoe, where the file-cap is calculated from the data stored in it, and used to retrieve a key later. Glacier also would be much improved by using this. GETSTATE and SETSTATE are added to the external special remote protocol. Note that the state is left as-is even when a key is removed from a remote. It's up to the remote to decide when it wants to clear the state. The remote state log, $KEY.log.rmt, is a UUID-based log. However, rather than using the old UUID-based log format, I created a new variant of that format. The new varient is more space efficient (since it lacks the "timestamp=" hack, and easier to parse (and the parser doesn't mess with whitespace in the value), and avoids compatability cruft in the old one. This seemed worth cleaning up for these new files, since there could be a lot of them, while before UUID-based logs were only used for a few log files at the top of the git-annex branch. The transition code has also been updated to handle these new UUID-based logs. This commit was sponsored by Daniel Hofer.
* Remotes can now be made read-only, by setting remote.<name>.annex-readonlyGravatar Joey Hess2014-01-02
|
* added GETWANTED, SETWANTED for Tobias's flickr remoteGravatar Joey Hess2014-01-01
| | | | | | | | | | | | | | | This was unexpectedly difficult because of a depdenency cycle. To parse a preferred content expression involves several things that need to operate on the list of remotes. Which needs Remote.External. The only way to avoid this cycle (I tried breaking it at several points) was to skip parsing the expression in SETWANTED. That's sorta ok, because git-annex already has to deal with unparsable preferred content expressions being stored, in order to handle eg, upgrades. But I'm still not very happy that I cannot check it. I feel this is a strong indication that I need to beware of further bloating the special remote protocol interface.
* external special remote protocol: Added GETUUID.Gravatar Joey Hess2013-12-31
|
* implement PREPARE-FAILURE for TobiasGravatar Joey Hess2013-12-29
|
* better error messages when external special remote exits unexpectedly or is ↵Gravatar Joey Hess2013-12-27
| | | | not in PATH
* add credential storage support for external special remotes & update exampleGravatar Joey Hess2013-12-27
|
* better protocol error message, indicate if the command was able to be parsed ↵Gravatar Joey Hess2013-12-27
| | | | or was misplaced
* flush handle after writing messageGravatar Joey Hess2013-12-27
|