aboutsummaryrefslogtreecommitdiff
path: root/RemoteDaemon/Types.hs
Commit message (Collapse)AuthorAge
* remotedaemon: notice on RELOAD when tor hidden service has been enabledGravatar Joey Hess2016-12-28
| | | | | | and start serving it. This makes the webapp wormhole tor pairing work 100%! This commit was sponsored by Andrea Rota.
* refactor ref change watchingGravatar Joey Hess2016-12-09
| | | | | | | | | | | | | | | | | | Added to change notification to P2P protocol. Switched to a TBChan so that a single long-running thread can be started, and serve perhaps intermittent requests for change notifications, without buffering all changes in memory. The P2P runner currently starts up a new thread each times it waits for a change, but that should allow later reusing a thread. Although each connection from a peer will still need a new watcher thread to run. The dependency on stm-chans is more or less free; some stuff in yesod uses it, so it was already indirectly pulled in when building with the webapp. This commit was sponsored by Francois Marier on Patreon.
* implementation of peer-to-peer protocolGravatar Joey Hess2016-11-17
| | | | | | | | | | | | | | | | For use with tor hidden services, and perhaps other transports later. Based on Utility.SimpleProtocol, it's a line-based protocol, interspersed with transfers of bytestrings of a specified size. Implementation of the local and remote sides of the protocol is done using a free monad. This lets monadic code be included here, without tying it to any particular way to get bytes peer-to-peer. This adds a dependency on the haskell package "free", although that was probably pulled in transitively from other dependencies already. This commit was sponsored by Jeff Goeke-Smith on Patreon.
* make LocalRepo a newtypeGravatar Joey Hess2016-06-02
|
* propigate ssh-options everywhere ssh caching is usedGravatar Joey Hess2015-02-12
| | | | | | | | | * sync: Use the ssh-options git config when doing git pull and push. * remotedaemon: Use the ssh-options git config. Note that the rename env var means that if a new git-annex calls an old one for git-annex ssh, or a new calls an old, nothing much will go wrong; just ssh caching won't happen.
* update my email address and homepage urlGravatar Joey Hess2015-01-21
|
* remotedaemon: Fix problem that could prevent ssh connections being made ↵Gravatar Joey Hess2015-01-15
| | | | | | | | after two LOSTNET messages were received in a row Perhaps due to two different network interfaces being brought down. Since there is no reliable way to drain a Chan, I switched to STM TChan.
* indent with tabs not spacesGravatar Joey Hess2014-10-09
| | | | | | | | | | | Found these with: git grep "^ " $(find -type f -name \*.hs) |grep -v ': where' Unfortunately there is some inline hamlet that cannot use tabs for indentation. Also, Assistant/WebApp/Bootstrap3.hs is a copy of a module and so I'm leaving it as-is.
* fix RELOADGravatar Joey Hess2014-04-20
|
* send remote-daemon a RELOAD after making a ssh remoteGravatar Joey Hess2014-04-20
| | | | | This doesn't work yet, because RELOAD is buggy and does not notice the new remote.
* remotedaemon: When network connection is lost, close all cached ssh connections.Gravatar Joey Hess2014-04-12
| | | | This commit was sponsored by Cedric Staub.
* make git-remote-daemon ssh transport robustGravatar Joey Hess2014-04-09
| | | | | | | | | | | | | | | | | | | * Remote system might be available, and connection get lost. Should reconnect, but needs to avoid bad behavior (ie, constant reconnect attempts.) Use exponential backoff. * Detect if old system had a too old git-annex-shell, and show the user a nice message in the webapp. Required parsing error messages, so perhaps this code shoudl be removed once enough time has passed.. * Switch the protocol to using remote URI's, rather than remote names. Names change. Also avoids issues with serialization of names containing whitespace. This is nearly ready for merge into master now. I'd still like to make the ssh transport smarter about reusing ssh connection caching during git pull. This commit was sponsored by Jim Paris.
* cleaned up AnnexState handling in transportsGravatar Joey Hess2014-04-08
|
* added git-annex remotedaemonGravatar Joey Hess2014-04-06
| | | | | | | | | So far, handling connecting to git-annex-shell notifychanges, and pulling immediately when a change is pushed to a remote. A little bit buggy (crashes after the first pull), but it already works! This commit was sponsored by Mark Sheppard.
* git-annex-shell: Added notifychanges command.Gravatar Joey Hess2014-04-05
| | | | | | | | | | This will be used by the remote-daemon to quickly tell when changes have been pushed from some other repository into a ssh remote. Adjusted the remote-daemon protocol to communicate changed shas, rather than git branch refs. This way, it can easily check if a sha is new. This commit was sponsored by Carlos Trijueque Albarran.
* tiny little protocol between git-remote-daemon and git-annex-shellGravatar Joey Hess2014-04-05
| | | | Subset of the git-remote-daemon protocol.
* basic support for git-remote-daemon protocolGravatar Joey Hess2014-04-05