wgrant | cjwatson: the pack protocol we use internally is extensible with a dict of strings | 06:05 |
---|---|---|
wgrant | like git's normal host field, but not restricted to host | 06:05 |
wgrant | cjwatson: Morning. | 09:32 |
cjwatson | wgrant: Hi. How's Malta? | 10:09 |
wgrant | cjwatson: Cooler than last year, but sprint going well so far. | 10:11 |
wgrant | cjwatson: I can't push to a locally mojo'd turnip today. | 10:11 |
wgrant | turnipserver.py still works on my host, so I wonder if the split is buggy. | 10:11 |
wgrant | I haven't debugged too fa yet. | 10:11 |
cjwatson | wgrant: Pushing to qas still works, and qas has the split ... | 10:13 |
cjwatson | (e.g. https://code.qastaging.launchpad.net/~cjwatson/binfmt-support/+git/binfmt-support which I just pushed) | 10:13 |
wgrant | Hm | 10:13 |
wgrant | cjwatson: I have a subordinate alternate branch proposed, and apparmor stuff working for git subproesses but won't propose that until I have turnip itself confined. | 10:15 |
cjwatson | wgrant: You definitely have all the listeners up? | 10:15 |
wgrant | cjwatson: Yeah, it looks like git receive-pack --stateless-rpc just immediately dies for some reason. | 10:15 |
wgrant | I can see it starting, and processEnded is called, but outReceived and errReceived are not :/ | 10:16 |
wgrant | I'll poke harder. | 10:16 |
cjwatson | That's a peculiar failure mode for the stuff I was doing, unless I missed some detail in which the TACs differ from turnipserver.py. | 10:17 |
wgrant | Indeed, but I think you caught it all. | 10:17 |
cjwatson | The only one of those I noticed was that the backend server hadn't been updated to run hookrpc, but I fixed that. | 10:17 |
cjwatson | Hopefully the logging is less hopelessly inconvenient to play with locally now :-) | 10:18 |
cjwatson | Like, timestamps. | 10:18 |
cjwatson | I stuffed a draft production stage into our mojo spec branch too, if you want to have a look. Mostly the same as qas. | 10:18 |
cjwatson | wgrant: alternates: I wonder if we need to force receive.autogc to false before doing this | 10:53 |
cjwatson | wgrant: Otherwise branch removal + next push might corrupt cloned-from repositories. | 10:53 |
cjwatson | (And we'll have to be very careful on repack, but we knew that.) | 10:54 |
wgrant | cjwatson: How can it corrupt cloned-from? | 11:43 |
cjwatson | wgrant: Sorry, I mean corrupt cloned. | 11:47 |
cjwatson | I think my comment in the MP was clearer. | 11:47 |
cjwatson | wgrant: I've been trying to reproduce the behaviour from http://paste.ubuntu.com/10909945/ in the test suite and can't (if I .encode the URL I pass to test_traverse, something in the traversal machinery decodes it again for me. Is there anything specific to the test suite you know about that would cause that? | 11:48 |
wgrant | But we're cloning the cloned-from, so even deletion of it won't affect anything. | 11:48 |
cjwatson | Oh | 11:48 |
wgrant | cjwatson: A GC in the cloned-from can't touch the packs that we've hardlinked into the alternate. | 11:48 |
cjwatson | Yeah, OK, I'm confused then. | 11:48 |
wgrant | That's the entire reason we create the separate repo. | 11:49 |
cjwatson | Disabling autogc might be good for other reasons, but you're right. | 11:49 |
wgrant | Otherwise, yes, disaster would strike. | 11:49 |
wgrant | Indeed. | 11:49 |
cjwatson | wgrant: Have you had a chance to look at the couple of pending LP git branches I have? | 13:20 |
cjwatson | https://code.launchpad.net/~cjwatson/launchpad/git-mp-collection/+merge/257145, https://code.launchpad.net/~cjwatson/launchpad/git-mp-ref-proposals/+merge/257374 | 13:21 |
wgrant | cjwatson: Looking. | 13:23 |
cjwatson | Ah. So BasicLaunchpadRequest.__init__ decodes the PATH_INFO. I wonder why that isn't done for API requests as well? | 13:29 |
cjwatson | Oh, except it doesn't, it decodes and re-encodes. Must be somewhere else. | 13:30 |
wgrant | Isn't that all done in Zope? | 13:30 |
wgrant | Are you seeing it as a bytestring somewhere? | 13:30 |
cjwatson | zope.publisher.http:sane_environment is the bunny. | 13:31 |
cjwatson | Yes, in an API requesthttp://paste.ubuntu.com/10909945/ | 13:31 |
cjwatson | er http://paste.ubuntu.com/10909945/ | 13:31 |
cjwatson | I wonder if lazr.restful should be decoding the path to match. | 13:32 |
wgrant | :/ | 13:33 |
cjwatson | How have we not come across this before? Are there just lots of little model hacks to decode? | 13:34 |
cjwatson | I mean I know it's only pure-Storm stuff that's likely to care, but. | 13:34 |
wgrant | It's very odd. | 13:35 |
cjwatson | I had to handle this in GitTraverser, which is probably why. | 13:35 |
cjwatson | Never tracked it down properly at the time. | 13:35 |
cjwatson | I wonder if this is the else case of SimpleFieldMarshaller.marshall_from_request. | 13:39 |
cjwatson | If it's posting a non-JSON-encoded bytestring there, that case doesn't decode it. | 13:41 |
wgrant | Ah, yes. | 13:43 |
cjwatson | Will have a go at that after lunch. | 13:44 |
cjwatson | Ah, no, the problem is that lazr.uri returns bytestrings in URI.path (arguably reasonably) and we need to decode those in URLDereferencingMixin.dereference_url. | 14:37 |
cjwatson | Aha. I think lazr.uri 1.0.3 is the thing. | 16:05 |
cjwatson | Far be it from us to have upgraded to our own software released three years ago. | 16:05 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!