blog for the day
This commit is contained in:
parent
5f1b99dd07
commit
20710d4c24
1 changed files with 39 additions and 0 deletions
39
doc/design/assistant/blog/day_270__release_and_xmpp.mdwn
Normal file
39
doc/design/assistant/blog/day_270__release_and_xmpp.mdwn
Normal file
|
@ -0,0 +1,39 @@
|
|||
Got the bugfix release out.
|
||||
|
||||
Tobias contributed [[tips/megaannex]], which allows using mega.co.nz as a
|
||||
special remote. Someone should do this with Flickr, using
|
||||
[filr](https://github.com/ricardobeat/filr). I have improved the
|
||||
[[special_remotes/hook]] special remote to make it easier to create
|
||||
and use reusable programs like megaannex.
|
||||
|
||||
But, I am too busy rewriting lots of the XMPP code to join in the
|
||||
special remote fun. Spent all last night staring at protocol traces and
|
||||
tests, and came to the conclusion that it's working well at the basic
|
||||
communication level, but there are a lot of bugs above that level. This
|
||||
mostly shows up as one side refusing to push changes made to its tree,
|
||||
although it will happily merge in changes sent from the other side.
|
||||
|
||||
The NetMessanger code, which handles routing messages to git commands and
|
||||
queuing other messages, seems to be just wrong. This is code I wrote in the
|
||||
fall, and have basically not touched since. And it shows. Spent 4 hours
|
||||
this morning rewriting it. Went all Erlang and implemented message inboxes
|
||||
using STM. I'm much more confident it won't drop messages on the
|
||||
floor, which the old code certianly did do sometimes.
|
||||
|
||||
Added a check to avoid unncessary pushes over XMPP. Unfortunately, this
|
||||
required changing the protocol in a way that will make previous versions of
|
||||
git-annex refuse to accept any pushes advertised by this version. Could not
|
||||
find a way around that, but there were so many unncessary pushes happening
|
||||
(and possibly contributing to other problems) that it seemed worth the
|
||||
upgrade pain.
|
||||
|
||||
Will be beating on XMPP a bit more. There is one problem I was seeing
|
||||
last night that I cannot reproduce now. It may have been masked or even
|
||||
fixed by these changes, but I need to verify that, or put in a workaround.
|
||||
It seemed that sometimes this code in `runPush` would run the setup
|
||||
and the action, but either the action blocked forever, or an exception
|
||||
got through and caused the cleanup not to be run.
|
||||
|
||||
[[!format haskell """
|
||||
r <- E.bracket_ setup cleanup <~> a
|
||||
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue