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. [[!format haskell """ -- 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.