Made ssh connection caching be used in several more places. git annex
sync
will use it when pushing/pulling to a remote, as will the assistant.
And git-annex remotedaemon
also uses connection caching. So, when
a push lands on a ssh remote, the assistant will immediately notice it, and
pull down the change over the same TCP connection used for the
notifications.
This was a bit of a pain to do. Had to set GIT_SSH=git-annex
and then
when git invokes git-annex as ssh, it runs ssh with the connection caching
parameters.
Also, improved the network-manager and wicd code, so it detects when a connection has gone down. That propagates through to the remote-daemon, which closes all ssh connections. I need to also find out how to detect network connections/disconnections on OSX..
Otherwise, the remote-control branch seems ready to be merged. But I want to test it for a while first.
Followed up on yesterday's bug with writing some test cases for Utility.Scheduled, which led to some more bug fixes. Luckily nothing I need to rush out a release over. In the end, the code got a lot simpler and clearer.
-- Check if the new Day occurs one month or more past the old Day.
oneMonthPast :: Day -> Day -> Bool
new `oneMonthPast` old = fromGregorian y (m+1) d <= new
where
(y,m,d) = toGregorian old
Today's work was sponsored by Asbjørn Sloth Tønnesen.