summaryrefslogtreecommitdiff
path: root/Assistant/XMPP/Git.hs
Commit message (Collapse)AuthorAge
* use System.TimeoutGravatar Joey Hess2012-11-14
| | | | I'd forgotten this existed!
* don't try to transfer data to/from XMPP remotesGravatar Joey Hess2012-11-11
| | | | | Partition syncRemotes into ones needing git sync (ie, non-special remotes), and ones needing data sync (ie, non-XMPP remotes).
* allow both one push and one receive-pack to run at the same timeGravatar Joey Hess2012-11-11
| | | | | | Noticed that when pairing, sometimes both sides start to push, and the other side sends a PushRequest, and the two deadlock, neither doing anything. (Timeout eventually breaks this.) So, let both run at the same time.
* add 120 second timeout when waiting for XMPP packetsGravatar Joey Hess2012-11-11
|
* full-on git-annex assistant syncing now works over XMPP!Gravatar Joey Hess2012-11-10
| | | | | | | | | | I decided to use the fallback push mode from the beginning for XMPP, since while it uses some ugly branches, it avoids the possibility of a normal push failing, and needing to pull and re-push. Due to the overhead of XMPP, and the difficulty of building such a chain of actions due to the async implementation, this seemed reasonable. It seems to work great!
* separate data type for push stagesGravatar Joey Hess2012-11-10
| | | | This improves type safety.
* refactorGravatar Joey Hess2012-11-10
|
* refactorGravatar Joey Hess2012-11-10
|
* refactorGravatar Joey Hess2012-11-10
|
* fix exit code propigationGravatar Joey Hess2012-11-10
|
* refactorGravatar Joey Hess2012-11-09
|
* ensure handles get closedGravatar Joey Hess2012-11-09
|
* increase chunk sizeGravatar Joey Hess2012-11-09
| | | | | | XMPP has no defined message size limits, but some servers will have ad-hoc limits. However, 4k seems safe, even after the additional bloat of base64. That should not exceed 8k.
* refactorGravatar Joey Hess2012-11-09
|
* refactorGravatar Joey Hess2012-11-09
|
* xmpp git push is working!Gravatar Joey Hess2012-11-09
| | | | | | Various final bug fixes, and tweaks that got it working. Currently pushes a hardcoded ref, which needs to be fixed, etc.
* run xmpp push actions in separate thread from xmpp clientGravatar Joey Hess2012-11-09
| | | | | Took me a while to figure out why the xmpp client was not receiving git xmpp push messages after a push started.
* fix git push startupGravatar Joey Hess2012-11-09
|
* add canpush xmpp commandGravatar Joey Hess2012-11-09
|
* use xmpp::user@host for xmpp remotesGravatar Joey Hess2012-11-09
| | | | | | Inject the required git-remote-xmpp into PATH when running xmpp git push. Rest of the time it will not be in PATH, and git won't be able to talk to xmpp remotes.
* xmpp push control flowGravatar Joey Hess2012-11-08
| | | | | | | | | It might even work, although nothing yet triggers XMPP pushes. Also added a set of deferred push messages. Only one push can run at a time, and unrelated push messages get deferred. The set will never grow very large, because it only puts two types of messages in there, that can only vary in the client doing the push.
* hooked up XMPP git push send/receive (but not yet control flow)Gravatar Joey Hess2012-11-08
|
* built IO side of xmppReceivePackGravatar Joey Hess2012-11-06
|
* cleanupGravatar Joey Hess2012-11-06
|
* noteGravatar Joey Hess2012-11-06
|
* implemented IO side of xmppPush; xmpp side still todoGravatar Joey Hess2012-11-06
|
* xmppgit now actually worksGravatar Joey Hess2012-11-06
| | | | | But I could not find a way to implement it using just FD piping; it has to copy the data.
* add xmppgit command; roughed out xmpp push protocol and designGravatar Joey Hess2012-11-06
|
* finished XMPP pairing!Gravatar Joey Hess2012-11-05
This includes keeping track of which buddies we're pairing with, to know which PairAck are legitimate.