[03:00] <barry> #startmeeting
[03:00] <barry> hello everyone and welcome to this week's asiapac reviewer's meeting
[03:00] <barry> who's here today?
[03:00] <spiv> Oh, hi.
[03:00] <spiv> I'm here :)
[03:00] <sinzui> me?
[03:01] <barry> spiv: hi! :)
[03:01] <spiv> jml is in Prague I guess?
[03:01] <barry> thumper: ?
[03:01] <barry> mwhudson: ?
[03:01] <spiv> (good thing I was idling in here!)
[03:01]  * thumper smacks forehead
[03:01] <barry> spiv: that's okay.  i haven't eaten dinner yet :)
[03:01] <thumper> completely forgot, sorry
[03:01] <thumper> I'm hip deep in pqm
[03:01] <thumper> (the source that is)
[03:01] <barry> ouch
[03:02] <barry> we can make it a quick one then
[03:02] <thumper> well, if we ignore for the moment that the patch will be approx 3k lines
[03:02] <barry> == Agenda ==
[03:02] <barry>  * Roll call
[03:02] <barry>  * Next meeting
[03:02] <barry>  * Action items
[03:02] <barry>  * Queue status
[03:02] <barry>  * Mentoring update
[03:02] <thumper> it will make it better
[03:02] <barry>  * Review process
[03:02] <barry>    * Help people learn how big branches can be split up (BjornT)
[03:02] <barry>    * Final vote multiline import
[03:02] <barry> it being a us holiday next week, i will not be here.  shall we just skip it and convene back in 2 weeks?
[03:02] <thumper> barry: I'm guessing that mwhudson is afk too
[03:02] <barry> thumper: gotcha
[03:03] <thumper> barry: sure, I don't mind skipping
[03:03] <thumper> barry: expecially as it is a week 4
[03:03] <barry> thumper: yep
[03:03] <barry>  * Action items
[03:03] <barry>  * barry drive to decision about multiline sequences
[03:03] <barry> i think we're close to a decision here, but i'l say more in a few minutes
[03:04] <barry>  * barry to solicit ideas to better handle review scheduling and workload
[03:04] <barry> not done
[03:04] <barry>  * (continued) thumper to report on pending-reviews killer in LP
[03:04] <thumper> not done either
[03:04] <barry> thumper: shall we keep this on the agenda or ditch it?
[03:04] <thumper> barry: ditch for now I think
[03:05] <thumper> we have things coming up
[03:05] <barry> thumper: sounds good
[03:05] <thumper> but it doesn't really help saying skip it each week
[03:05] <barry> thumper: all post 2.0 right?
[03:05] <thumper> yeah
[03:05] <barry> works for me
[03:05] <spiv> +1
[03:05] <barry>  * Queue status
[03:06]  * thumper hasn't looked at the queue in ages
[03:06] <barry> nothing much from me here.  i got through a bunch of branches today, and assigned the 3 i couldn't get to
[03:06] <barry> doesn't look too bad right now but i wouldn't want to be sinzui on friday :)
[03:06] <sinzui> And Saturday
[03:07] <barry> sinzui: only because you like it :)
[03:07] <sinzui> No Soccer this weekend
[03:07] <barry> sinzui: promise me you will not work on the holiday! :)
[03:08] <sinzui> Work on what?
[03:08] <barry> it's national bbq day
[03:08]  * sinzui starts the heater on the pool
[03:08]  * barry is going to skip the mentoring update
[03:08] <barry> sinzui: very nice!
[03:08] <barry>  * Review process
[03:09] <barry>    * Help people learn how big branches can be split up (BjornT)
[03:09] <thumper> don't talk to me about that right now
[03:09] <barry> at ameu , bjorn brought up a discussion on how to get people to learn how to split their big branches
[03:09] <thumper> I have a real killer
[03:09] <barry> thumper: your branch?
[03:09] <thumper> yeah, me for lifeless
[03:09] <mwhudson> oh man, i _always_ forget this meeting
[03:10] <spiv> barry: a sharp whack across the knuckles with a big ruler every time a branch goes over the limit? ;)
[03:10] <thumper> spiv: it is a pqm refactoring branch
[03:10] <barry> spiv: that's one idea!
[03:10] <thumper> spiv: most of it is just moving stuff to modules
[03:10] <barry> i had a big branch, but mostly because i added some upstream files
[03:11] <thumper> would you believe I got __init__.py down to just having __version__ in it?
[03:11] <barry> but in general, all the branches i saw today were < 800 lines
[03:11] <barry> so i don't know how common this is
[03:11] <mwhudson> i'm not really aware of it being a problem
[03:11] <sinzui> I think we need a wiki page to collect ideas, then circulate a email of the top 5-10 tips after two weeks
[03:11] <spiv> So there's two possible issues I guess.
[03:11] <thumper> I don't think it is a big problem right now
[03:11] <barry> what i'd say is that if you notice the same offenders over and over again, we should work with those people to get them to learn how to organize their work better
[03:11] <thumper> +1
[03:11] <mwhudson> i think 800 lines is a low enough limit that it can be slightly exceeded without causing much pain
[03:12] <barry> mwhudson: agreed
[03:12] <spiv> One is that maybe people are doing to much work, rather than sending things incrementally (i.e. "send-as-you-go")
[03:12] <spiv> The other is that maybe when a big branch happens (which can be hard to avoid), people don't know how to split them up.
[03:12] <barry> spiv: it was brought up that looms can be a useful tool for organizing a complex branch into reviewable chunks
[03:12] <spiv> I'm not sure which of these two Bjorn is referring to?
[03:12] <mwhudson> it requires a certain discipline to go 'oh crap to do X i need Y and then i need Z' and then put each thing in it's own branch
[03:12] <spiv> (maybe both?)
[03:13] <barry> spiv: i get the sense that it's a lot of the latter.  how to help people learn how to split it up
[03:13] <spiv> Ok.
[03:13] <barry> but otoh, most of the branches i've been reviewing have been fine
[03:13] <sinzui> spiv: I believe I'm now seeing a pattern of multiple branches being submitted on the same day. bug branches are being split instead of being driven to the right solution through review.
[03:14] <spiv> This is something that the broader bzr user community would benefit from education about.
[03:14] <mwhudson> sinzui: i'm not sure i understand
[03:14] <sinzui> s/﻿bug branches/but branches/
[03:14] <barry> i'm going to ask BjornT to start a discussion on the ml about this
[03:15] <spiv> There's a fairly straightforward process you can go through with looms + bzr shelve.
[03:15] <mwhudson> sinzui: at least in an ideal world, the correct solution should be determined around the time of the pre-imp call
[03:15] <mwhudson> not the review
[03:15] <spiv> Which has occasionally been described on #bzr and maybe on the mailinig list.
[03:15] <barry> spiv: is there anything written up about this way of working?  it's definitely something i do
[03:15] <spiv> (the bazaar@ mailing list)
[03:15] <spiv> But I don't think it's been written up properly.
[03:15] <barry> mwhudson: yes, we want to push the organization earlier in the process
[03:15] <spiv> So perhaps the thing to do is write a good, clear tutorial on it, and put it in the loom plugin docs?
[03:16] <sinzui> mwhudson: I think 1800 line branches are being written, then split. The view is in a precarious position because there may be drastic changes to the model and utils below it. not to mention that mpt my have grievous things to say about the UI.
[03:16] <spiv> And use the launchpad team as guinea pigs for that doc :)
[03:16] <mwhudson> sinzui: ah, i see
[03:16] <barry> spiv: +1.  if you want to drive it/start it, i will certainly chip in
[03:17] <spiv> I don't have time for that at the moment.
[03:17] <mwhudson> well, this is all about the 'ready to code' mantra i guess
[03:17] <spiv> I'd be happy to proof read.
[03:17] <barry> [ACTION] barry to write something up about working effectively with looms+shelve
[03:17] <spiv> mwhudson: agreed
[03:18] <spiv> barry: thanks!
[03:18] <barry> i gotta run, so i'm going to (try to) make this last item short:
[03:18] <barry>    * Final vote multiline import
[03:18] <barry> did you all see mars's suggestion?
[03:18] <mwhudson> remind me?
[03:19] <barry> instead of: from canonical.launchpad.interfaces import ([800 lines later)
[03:19] <barry> do: from canonical.launchpad.interfaces.bugs import (many fewer things)
[03:19] <barry> and eradicate (over time) all import-*'s in __init__.pys
[03:19] <barry> and do not do one-line-per-import
[03:19] <barry> thoughts?
[03:20] <spiv> I'm +0 on that, I think.
[03:20] <mwhudson> i don't think this will please the people who think one-line-per-import will take too much space, will it?
[03:20] <mwhudson> but yeah, import-* sucks, even when used carefully
[03:20] <spiv> There's a risk that module renaming/interface moving will then cause merge-time conflicts.
[03:20] <barry> yes, import-* sucks for many reasons
[03:21] <barry> spiv: we won't actually move anything, we'll just do a more-specific import
[03:21] <spiv> Evil though import * is, it does make the actual layout of canonical.launchpad.interfaces.* etc a blackbox to other packages.
[03:21] <thumper> barry: I think spiv means if we do move something
[03:21] <barry> which should reduce big parenthesed import statements, thus reducing conflicts
[03:21] <spiv> barry: right, but when something moves
[03:21] <barry> yeah, i see what you mean
[03:21] <rockstar> import-* destroys the convenience of namespaces.
[03:21] <mwhudson> this seems to be a bit
[03:22] <spiv> I'm not sure it's a significant problem.
[03:22] <rockstar> If we always import *, we get php at some point
[03:22] <spiv> But it does make me hesitate a little.
[03:22] <barry> me neither.  i don't know how often interfaces move around
[03:22] <mwhudson> 'import statements attract conflicts' -> 'but one-line imports are too verbose' -> 'lets do something else that doesn't really solve either problem'
[03:22] <mwhudson> ish
[03:22] <barry> unless it does :)
[03:22] <spiv> Yeah, my gut feeling is with mwhudson, that this is a largely orthogonal issue.
[03:23] <mwhudson> but then i don't really have a problem with conflicts in import statements _or_ large amounts of imports at the top of files
[03:23] <barry> i think it will reduce conflicts on import lines, which iiuc is the primary motivation for moving to one-line-per-import
[03:23] <mwhudson> so maybe i should just shut up and hope people stop bothering me by talking about it :)
[03:23] <barry> :-D
[03:24] <barry> ok, well i didn't hear howls of objections, so i'l take that as "let's try it and see"
[03:24] <barry> i just want to get this f'n item off my list ;)
[03:24] <barry> that's all i have today.  anything else from y'all?
[03:25] <thumper> nop3
[03:25] <thumper> e
[03:25] <spiv> barry: my vote on any specific proposal is +0, but my meta-vote is +1 for barry just declaring how it will be. :)
[03:25] <thumper> ditto
[03:25] <mwhudson> barry for president!
[03:25]  * mwhudson waits for the s/!=/<>/ branch of doom
[03:26] <spiv> mwhudson: well, I might be -0 on *that* specific one ;)
[03:26]  * barry is just waiting until the psf f's up the trademark and then it's off to the fork he goes!
[03:26] <barry> anyway. thanks everybody.  see you in 2 weeks!
[03:26] <barry> #endmeeting
[03:26] <mwhudson> bye barry
[03:26] <mwhudson> hm, python.org seems down
[03:27] <spiv> mwhudson: there's always python.com
[03:27] <mwhudson> oh no
[03:27] <mwhudson> probably my internet being crap again
[17:01] <mrevell> Hello! Is anyone here for the Launchpad documentation meeting?