[00:19] <poolie> jelmer, so i was going to say,
[00:19] <poolie> the connection going idle is a nice straightforward clue it can be migrated to another back end
[00:19] <poolie> which is actually what we want to have happen
[00:20] <jelmer> poolie: that makes sense
[00:21]  * jelmer tries to imagine how this works on a code level
[00:22] <poolie> so one thing is we ought to be able to distinguish "connection dropped as we were starting to send" from dropping at any other time
[00:22] <poolie> which may be harder to cope with
[00:23] <poolie> but this should mostly produce the first case
[00:24] <poolie> if we can detect it we should be able to build a new lower-level object wrapping the ssh connection
[00:24] <poolie> 'medium' i think
[00:24] <jelmer> poolie: ok, so there's a fair bit of code we'd probably have to wrap to make sure it retries as necessary
[00:24] <jelmer> that seems reasonable
[00:25] <poolie> mm
[00:25] <jelmer> at least in theory :) it might be tricky to handle all the odd cases
[00:25] <poolie> it does feel like it might
[00:25] <poolie> i think we want to be careful about not having retry code scattered all over the place
[00:26] <poolie> i'm thinking of something like an erlangish supervision pattern where a lower level object dies cleanly, and then a higher one restarts a new instance
[00:29] <jelmer> it seems like most of the remote code all goes through RemoteTransport._call*, which then does a call on self._client
[00:30] <jelmer> it seems like that would be the right place to transparently create a new self._client as necessary
[00:31] <jelmer> RemoteTransport also has the right data (and SharedConnection) to create the new connection for the client
[00:34] <poolie> that sounds right
[00:34] <poolie> and that puts it at just one bottle neck, not all over
[00:35] <poolie> we might need a special exception for a clean disconnect saying it can be retried
[00:35] <poolie> maybe we should retry it always
[00:38] <jelmer> poolie: I wonder if that wouldn't make it seems sluggish if e.g. you get disconnected and bzr silently tries to connect again but e.g. has to wait for things like DNS to time out
[00:40] <jelmer> maybe we should just try it out
[00:43]  * jelmer gets some sleep
[04:05] <stylesen> poolie: ping
[04:05] <poolie> hi there
[04:05] <stylesen> poolie: pm?
[04:05] <poolie> yep
[05:06] <thomi> poolie: ping?
[05:06] <poolie> hi thomi, on the phone atm
[05:06] <thomi> no worries.
[05:17] <poolie> thomi, your patch landed, or at least one of them did, yay
[05:17] <thomi> poolie: I saw that, thanks!
[05:18] <thomi> I'm integrating your latest suggestions to the other - I wanted to ask you about the factory methods to replace The *Store classes in config.py
[05:18] <poolie> ok
[05:18] <poolie> will be with you soon
[05:18] <thomi> oh, sorry
[05:19] <poolie> np
[06:16] <poolie> hi thomi
[06:17] <thomi> Hi
[06:17] <poolie> i'll just reply on the mp
[06:17] <poolie> thanks for coming back on it
[06:17] <thomi> no worries, I was hoping to get it done sooner, but work happened.
[08:03] <Riddell> hola chicos
[08:03] <Noldorin> jelmer, hi
[08:35] <jelmer> hi Noldorin
[08:42] <Noldorin> jelmer, was just going to ask...how do i set up a local repo for testing this issue?
[08:48] <Noldorin> jelmer, i thought just a git init was required...but maybe not
[08:49] <Noldorin> jelmer, perhaps you can let me know anyway. feel free to send me an email :-)
[08:49] <Noldorin> i'm off to bed now.
[08:49] <Noldorin> g'night
[08:49] <jelmer> Noldorin: bzr init should create a branch. I realize it looks a bit odd
[08:49] <jelmer> Noldorin: "git init /tmp/foo; bzr init /tmp/foo; bzr dpush /tmp/foo"
[08:50] <Noldorin> jelmer, oh they have to be the same dir eh?
[08:50] <Noldorin> git and bzr
[08:50] <jelmer> Noldorin: no
[08:50] <jelmer> Noldorin: but "git init" only creates a repository, not a branch
[08:51] <jelmer> Noldorin: bzr init creates a (git) branch in the repository
[08:51] <Noldorin> so how do i create the branch?
[08:51] <Noldorin> ohh
[08:51] <Noldorin> i see
[08:51] <Noldorin> jelmer, that is very odd :-S
[08:51] <Noldorin> jelmer, surely there is a git command to do the same?
[08:51] <Noldorin> never mind though
[08:53] <Noldorin> bzr: ERROR: No module named posix
[08:53] <Noldorin> when i bzr init
[08:53] <Noldorin> oh well
[08:53] <Noldorin> jelmer, talk to you tomorrow i guess
[08:53] <Noldorin> bye
[11:14] <exarkun> Anyone have any suggestions about installing beta bzr from the ppa on Lucid without first uninstalling bzr-svn?
[11:16] <exarkun> http://codepad.org/66u1Vy1A
[11:34] <jelmer> maxb: ^
[11:34] <maxb> Oh, right, because I haven't got the debhelper backport in place to build subvertpy to build bzr-svn
[11:35] <maxb> exarkun: You'll have to uninstall bzr-svn for now
[11:36] <exarkun> I'll wait.  I can't test what I want to test without bzr-svn.
[21:46] <chrisvj> I have a script for a CIA commit bot. How do I add it to bazaar?
[21:54] <maxb> OK, that's weird. I'm getting a UnicodeDecodeError inside chk_serializer.py trying to commit a trivial merge, in an UDD branch of debhelper.
[22:06] <mgz> maxb: I love such things, any more details?
[22:06] <maxb> mgz: Turns out it's bzr-builddeb's fault
[22:07] <maxb> Not only is it specifying a fixed commit message, it's specifying it as a non-ascii bytestring
[22:07] <mgz> eugh, I wish those kinds of errors didn't reach as deep into bzrlib
[23:13] <maxb> exarkun: beta ppa bzr-svn now updated
[23:14] <exarkun> awesome, thanks
[23:15] <poolie> hi maxb, exarkun
[23:15] <maxb> Hello
[23:15] <maxb> Right, beta-ppa is now fully installable
[23:15] <poolie> excellent
[23:15] <poolie> i hope we can set up a babune job to test that soon
[23:15] <maxb> Now all we have to do is shepherd plugins on snapshot versions toward real releases
[23:21] <poolie> mm
[23:22] <poolie> real releases for oneiric, or for o+1?
[23:23] <maxb> I think we should do it for oneiric
[23:23] <maxb> After all, cutting a release of a current trunk shouldn't be a challenging task
[23:23] <poolie> right
[23:24] <poolie> so that's, fastimport, git, gtk, loom, pipeline, pqm, svn, upload, loggerhead
[23:24] <poolie> are they all passing their tests, i wonder?
[23:24] <poolie> it would be nice to get them there before releasing
[23:25] <maxb> Yes, I think everything is running tests during package build now, so we'd see FTBFS in the PPA if not
[23:25] <poolie> oh, ok
[23:28] <maxb> uhoh
[23:28] <maxb> daily ppa looks less than happy
[23:32] <maxb> many tests failing on older ubuntu distroseries only
[23:33] <poolie> hm, a few failures
[23:34] <poolie> some look like version skew with meliae
[23:35] <poolie> do you have a special trick to get the failures out of the build logs?
[23:36] <poolie> all i mean is, it's  a shame it doesn't just show you the errors
[23:36] <poolie> i find the build failure mails nearly pointless
[23:42] <mgz> are the new canonical lp links meant to have the tilde escaped in them?
[23:43] <mgz> just noticed bzr+ssh://bazaar.launchpad.net/~testtools-dev/testtools/trunk/ no longer exists and I need bzr+ssh://bazaar.launchpad.net/%2Bbranch/testtools/ instead
[23:43] <mgz> a newer version of bzr might not have that issue...
[23:44] <poolie> hi mgz
[23:45] <poolie> %2b is a plus not a tilde
[23:45] <mgz> ah, right. still doesn't need escaping in that portion of the url.
[23:46] <mgz> but I guess not a change from before.
[23:48] <poolie> so, it's a way of saying "the default branch for testtools"
[23:48] <poolie> yeah, i don't think it does
[23:49] <poolie> i think + only needs special treatment in a query parameter?
[23:49] <mgz> yup.
[23:49] <mgz> which... does ssh even have as a concept?
[23:50] <poolie> hopefully not ;)
[23:50] <poolie> but we don't currently have, and probably don't want, different escaping rules depending on the scheme
[23:50] <poolie> so, in short, we could print that as a + in unescape_for_display or similar
[23:52] <mgz> I think I was just getting confused over the ~ vs %7E issues and the url I had stored going stale
[23:52] <mgz> ...but prettier display is always good :)