summaryrefslogtreecommitdiff
path: root/Remote
Commit message (Collapse)AuthorAge
* 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
|
* skeltal webdav special remoteGravatar Joey Hess2012-11-14
| | | | | Doesn't actually store anything yet, but initremote works and tests the server.
* factor out CredsGravatar Joey Hess2012-11-14
|
* where indentingGravatar Joey Hess2012-11-11
|
* indentation foo, and a new coding style page. no code changesGravatar Joey Hess2012-10-28
|
* rsync special remote: Include annex-rsync-options when running rsync to test ↵Gravatar Joey Hess2012-10-28
| | | | | | | a key's presence. Also, use the new withQuietOutput function to avoid running the shell to /dev/null stderr in two other places.
* Use USER and HOME environment when set, and only fall back to getpwent, ↵Gravatar Joey Hess2012-10-25
| | | | which doesn't work with LDAP or NIS.
* fix buildGravatar Joey Hess2012-10-24
|
* bup: Don't pass - to bup-split to make it read stdinGravatar Joey Hess2012-10-23
| | | | | | | bup 0.25 does not accept that; and bup split reads from stdin by default if no file is given. I'm not sure what version of bup changed this. This only affected bup special remotes that were encrypted.
* !! removalGravatar Joey Hess2012-10-21
|
* Merge branch 'safesemaphore'Gravatar Joey Hess2012-10-20
|\ | | | | | | | | | | Conflicts: debian/changelog git-annex.cabal
* | Automatically detect when a ssh remote does not have git-annex-shell ↵Gravatar Joey Hess2012-10-12
| | | | | | | | | | | | | | | | | | | | | | installed, and set annex-ignore. Aka solve the github problem. Note that it's possible the initial configlist will fail for some network reason etc, and then the fetch succeeds. In this case, a usable remote gets disabled. But it does print a message, and this only happens once per remote, so that seems ok.
| * Remote/Git: Use SampleVar from SafeSemaphore instead of baseGravatar Ben Gamari2012-10-05
|/ | | | SampleVars from base are unsafe
* fix last zombies in the assistantGravatar Joey Hess2012-10-04
| | | | | Made Git.LsFiles return cleanup actions, and everything waits on processes now, except of course for Seek.
* remove now-unnecessary manual reapsGravatar Joey Hess2012-10-04
|
* change s3 creds cachingGravatar Joey Hess2012-09-26
| | | | | | | | Rather than store decrypted creds in the environment, store them in the creds cache file. This way, a single git-annex can have multiple S3 remotes using different creds.
* store S3 creds in a 600 mode file inside the local git repoGravatar Joey Hess2012-09-26
|
* make the assistant retry failed transfersGravatar Joey Hess2012-09-23
| | | | | | | When a transfer fails, the progress info can be used to intelligently retry it. If the transfer managed to make some progress, but did not fully complete, then there's a good chance that a retry will finish it (or at least make more progress).
* hooked up git-annex-shell transferinfoGravatar Joey Hess2012-09-21
| | | | Finally done with progressbars!
* fix logic error introduced yesterdayGravatar Joey Hess2012-09-21
|
* upload progress tracking for the directory special remoteGravatar Joey Hess2012-09-21
|
* unify typesGravatar Joey Hess2012-09-21
|
* hook rsync special remote up to the progress reportingGravatar Joey Hess2012-09-20
| | | | | | | | Easy! Note that with an encrypted remote, rsync will be sending a little more data than the key size, so displayed progress may get to 100% slightly quicker than it should. I doubt this is a big enough effect to worry about.
* upload progress bar for git remote on same filesystemGravatar Joey Hess2012-09-20
| | | | | | | cp is used here, but we can just watch the size of the destination file This commit made from within the ruins of an old mill, overlooking a beautiful waterfall.
* rsync progress interceptionGravatar Joey Hess2012-09-19
| | | | | | | | Current implementation parses rsync's output a character a time, which is hardly efficient. It could be sped up a lot by using hGetBufSome, but that would require going really lowlevel, down to raw C style buffers (good example of that here: http://users.aber.ac.uk/afc/stricthaskell.html) But rsync doesn't output very much, so currently it seems ok.
* add a progress callback to storeKey, and threaded it all the way throughGravatar Joey Hess2012-09-19
| | | | | | | | Transfer info files are updated when the callback is called, updating the number of bytes transferred. Left unused p variables at every place the callback should be used. Which is rather a lot..
* renamed RsyncFile -> RsyncGravatar Joey Hess2012-09-19
|
* avoid starting a download for a local transfer when the remote already has ↵Gravatar Joey Hess2012-09-18
| | | | | | | | | the key Turns out that recvkey already does this same check. This avoids a transfer file being created for the download that never happened, which in turn will avoid the assistant seeing that the download has finished, when no transfer actually took place.
* git http:// remotes are readonly tooGravatar Joey Hess2012-08-26
|
* add support for readonly remotesGravatar Joey Hess2012-08-26
| | | | | | | Currently only the web special remote is readonly, but it'd be possible to also have readonly drives, or other remotes. These are handled in the assistant by only downloading from them, and never trying to upload to them.
* refactorGravatar Joey Hess2012-08-26
|
* tweak field nameGravatar Joey Hess2012-08-26
|
* fix build warningGravatar Joey Hess2012-08-16
|
* Merge branch 'master' into assistantGravatar Joey Hess2012-08-16
|\ | | | | | | | | Conflicts: debian/changelog
| * S3: Add fileprefix setting.Gravatar Joey Hess2012-08-09
| |
* | add routes to pause/start/cancel transfersGravatar Joey Hess2012-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit includes a paydown on technical debt incurred two years ago, when I didn't know that it was bad to make custom Read and Show instances for types. As the routes need Read and Show for Transfer, which includes a Key, and deriving my own Read instance of key was not practical, I had to finally clean that up. So the compact Key read and show functions are now file2key and key2file, and Read and Show are now derived instances. Changed all code that used the old instances, compiler checked. (There were a few places, particularly in Command.Unused, and the test suite where the Show instance continue to be used for legitimate comparisons; ie show key_x == show key_y (though really in a bloom filter))
* | adding removable drive repos now basically worksGravatar Joey Hess2012-08-05
| |
* | add a path field to remotesGravatar Joey Hess2012-07-22
| | | | | | | | | | Also broke out some helper functions around constructing remotes, to be used later.
* | add back debug loggingGravatar Joey Hess2012-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | Make Utility.Process wrap the parts of System.Process that I use, and add debug logging to them. Also wrote some higher-level code that allows running an action with handles to a processes stdin or stdout (or both), and checking its exit status, all in a single function call. As a bonus, the debug logging now indicates whether the process is being run to read from it, feed it data, chat with it (writing and reading), or just call it for its side effect.
* | switch from System.Cmd.Utils to System.ProcessGravatar Joey Hess2012-07-18
|/ | | | | | | | | | | | | | | | | | Test suite now passes with -threaded! I traced back all the hangs with -threaded to System.Cmd.Utils. It seems it's just crappy/unsafe/outdated, and should not be used. System.Process seems to be the cool new thing, so converted all the code to use it instead. In the process, --debug stopped printing commands it runs. I may try to bring that back later. Note that even SafeSystem was switched to use System.Process. Since that was a modified version of code from System.Cmd.Utils, it needed to be converted too. I also got rid of nearly all calls to forkProcess, and all calls to executeFile, which I'm also doubtful about working well with -threaded.
* avoid --no-inplaceGravatar Joey Hess2012-07-10
| | | | | Not available on systems with shoddy getopts. Should not be necessary, as that's rsync's default.
* pass associatedfile and remoteuuid to git-annex-shellGravatar Joey Hess2012-07-02
| | | | | | | | This *almost* works. Along the way, I noticed that the --uuid parameter was being accidentially passed after the --, so that has never been actually used by git-annex-shell to verify it's running in the expected repository. Oops. Fixed.
* record transfer information on local git remotesGravatar Joey Hess2012-07-01
| | | | | | | | | | | | | | | In order to record a semi-useful filename associated with the key, this required plumbing the filename all the way through to the remotes' storeKey and retrieveKeyFile. Note that there is potential for deadlock here, narrowly avoided. Suppose the repos are A and B. A sends file foo to B, and at the same time, B gets file foo from A. So, A locks its upload transfer info file, and then locks B's download transfer info file. At the same time, B is taking the two locks in the opposite order. This is only not a deadlock because the lock code does not wait, and aborts. So one of A or B's transfers will be aborted and the other transfer will continue. Whew!
* pointlessnessGravatar Joey Hess2012-06-29
|
* Better fix for unavailable local remotesGravatar Joey Hess2012-06-26
| | | | | | Not including such remotes turned out to have other consequences, including annex-truselevel git config being ignored. Instead, add guards before each operation that might try to operate on such a repo.
* Avoid ugly failure mode when moving content from a local repository that is ↵Gravatar Joey Hess2012-06-26
| | | | | | | | | | | | | | | | | | | not available. Prelude.undefined error message was introduced by bb4f31a0ee496ffb83d31cc56f8827e47605d763. It seems best to filter out local repositories that cannot be accessed from the list of remotes, rather than keeping them in and making every thing that uses the list have to deal with remotes that may have an unknown location. Besides fixing the error message, this also makes unavailable local remotes' names not be shown in various messages, including in git annex status output. Also, move --to an unavailable local repository now avoids some ugly errors like "changeWorkingDirectory: does not exist".
* avoid ByteString.Char8 where not neededGravatar Joey Hess2012-06-20
| | | | | Its truncation behavior is a red flag, so avoid using it in these places where only raw ByteStrings are used, without looking at the data inside.
* fishy commitGravatar Joey Hess2012-06-14
|