[01:24] * StevenK stabs specification filtering [01:25] Two methods use SpecificationFilter.{ACCEPTED,PROPOSED,DECLINED} for utterly different things [01:28] :) [01:28] Series and sprints? [01:28] Yeah [01:28] The sprint stuff doesn't use search_specifications(), it's just too wacky [01:29] Back down to one failure [01:30] :) [01:56] StevenK: https://code.launchpad.net/~wgrant/launchpad/handleStatus-refactor-2/+merge/144203 [02:43] wgrant: r=me, perhaps you could run update-copyright. I'm a little concerned about the BUILDERFAIL method now, you just reset the BQ record, and merrily go on your way. [02:44] StevenK: The thing is that BQ.reset already sets the status to NEEDSBUILD [02:44] But I think BUILDERFAIL is the case that causes some of the broken builds we occasionally see [02:44] So it probably already doesn't work for some reason anyway :/ [02:44] It'll all be reworked when BFJO dies soonish [03:13] wgrant: Right [03:37] wgrant: I've been staring at this failure for too long. Can haz help? [03:37] StevenK: Sure [03:38] wgrant: http://pastebin.ubuntu.com/1557408/ is the diff (It's -r submit:, so should include everything) [03:39] wgrant: lp.registry.tests.test_person.TestSpecifications.test_in_progress is the failing test, which is failing since the query is returning both the STARTED and IMPLEMENTED specs [03:44] StevenK: Looking [03:52] StevenK: Look around line 1170 of the diff [03:52] in_progress was previously handled inside a "COMPLETE not in filter" guard [03:53] Which also added an INCOMPLETE filter [03:55] Bah, and that fixes it [03:55] Adding INCOMPLETE to the block was probably the kicker [03:55] Yeah [03:55] Is it really worth having a separate in_progress flag on the underlying method? [03:55] Should Person.specifications just map it to (STARTED, INCOMPLETE)? [03:56] I can drag that bit back to Person.specifications [03:58] It doesn't seem valuable to have that flag on the underlying infrastructure [03:58] Given only a single method exposes it [04:04] * StevenK refactors the second if default_acceptance block out [05:12] wgrant: https://code.launchpad.net/~stevenk/launchpad/use-specification-aag/+merge/143630 updated [05:14] StevenK: That's quite a diff [05:14] I may be a while [05:14] Haha [05:15] wgrant: Do you want a rope around the waist so you don't get lost? :-) [05:15] Can you do the neck instead? [05:15] Haha [05:21] StevenK: Are Milestone and Sprint likely to be portable? [05:23] wgrant: I've run out of steam [05:23] Sure. [05:24] Milestone.getSpecifications() is nothing like anything else, and wants people too [05:24] So that's a bit difficult [05:24] StevenK: For in_progress, I was hoping you could just add INCOMPLETE and STARTED to the filter. [05:25] Although I'm not sure if those filters are meant to be unioned or intersected. [05:25] Oh, spec_filter.extend([INCOMPLETE, STARTED]) and get_specification_filters adds get_specification_started_clause ? [05:25] Those filters are a mess [05:25] Depends if they intersect or union [05:26] But I was hoping to keep all those workflow filters in one place [05:28] AttributeError: type object 'SpecificationFilter' has no attribute 'STARTED' [05:29] No clean up for you [05:29] StevenK: Sure, it probably doesn't exist already [05:29] But that doesn't mean it shouldn't. [05:32] wgrant: Right, so that's been abstracted back into search_specifications [05:32] wgrant: http://pastebin.ubuntu.com/1557550/ [05:35] StevenK: I think you double-join product a couple of times, don't you? [05:35] As search_specifications includes the Product.active filter [05:36] wgrant: Which callsites do you suspect do so? [05:36] StevenK: ProjectGroup.specifications [05:36] Though it doesn't rejoin Product, it does duplicate Product.active [05:37] wgrant: Right, dropped [05:42] StevenK: At the top of search_specifications, can you explicitly put both default/options sets in a branch? [05:43] ie. if not default_acceptance: default = ...; options = ...; else: default = ...; options = ... [05:43] It's very difficult to understand now [05:44] Also, that for option in options thing looks like someone reinvented set intersection [05:46] wgrant: http://pastebin.ubuntu.com/1557566/ [05:47] StevenK: The series targets had a different interpretation of SpecificationSort.DATE, too [05:47] StevenK: After adding STARTED was a perfect place to commit :) [05:50] * StevenK reads the SpecificationSort.DATE code in distroseries and groans [05:50] StevenK: Also, does get_specification_privacy_filter want an admin shortcircuit like I think the others do? [05:50] get_branch_privacy_filter has no admin shortcut [05:51] Indeed [05:51] Probably OK, then [05:52] StevenK: Does _preload_specifications_people still need the SQL() bit now that most callsites are ported? [05:53] Also, is that deliberately avoiding getPrecachedPersonsByID? [05:54] wgrant: I have *no* idea about that code [05:54] I touched it once, and the world broke, so I left well enough alone [05:54] Right, I get the series change for DATE [06:00] wgrant: STARTED code seperated out and commited, http://pastebin.ubuntu.com/1557578/ is remaining [06:02] StevenK: Don'y youy need the PROPOSED/ALL filter in the sorting bit? [06:03] I was ignoring that bit, since it acts the same [06:03] It's a change in behaviour [06:03] Previously if I asked for ALL or PROPOSED from a distroseries it'd order by datecreated [06:03] Now it will order by date_goal_decided [06:04] Bah [06:04] I misread date_completed as datecreated [06:08] wgrant: http://pastebin.ubuntu.com/1557587/ [06:10] StevenK: Isn't that show_proposed check inverted? [06:10] Also, you use .intersection there but & in the previous hunk [06:10] In fact, I'd merge the show_proposed into the else [06:11] so 'if default_acceptance and not (show_proposed & spec_filter):" [06:12] wgrant: http://pastebin.ubuntu.com/1557595/ [06:14] StevenK: Looks reasonable [06:24] wgrant: Diff on the MP updated [06:27] $ bzr branch lp:ubuntu/postgresql-9.1 [06:27] bzr: ERROR: Revision {package-import@ubuntu.com-20120925054023-lv75ptpdzvjdhkbw} not present in "Graph(StackedParentsProvider(bzrlib.repository._LazyListJoin(([CachingParentsProvider(None)], []))))". [06:27] Anyone know if that means my repo is screwed, or if the lp branch is screwed? [06:28] StevenK: The LP branch [06:28] Er, stub [06:38] wgrant: Still looking? [06:41] StevenK: r=me with a comment [06:41] * StevenK has fear [06:55] StevenK: https://code.launchpad.net/~wgrant/launchpad/bfjo-shrink/+merge/144227 [06:57] wgrant: The first paragraph of the description almost requires a diagram. [06:57] Quit.er [06:57] Quite. [06:58] However, r=me [06:58] Thankyou sir [06:58] Is your spec branch going through EC2? [06:59] No, I'm playing buildbot bingo [06:59] Aw [06:59] I was hoping for a 10 commit streak. [06:59] I've ran -m registry -m blueprints enough [07:00] So BFJO is dead. But only sort of, since you rename another class to its name [07:00] Well [07:00] BFJOD delegated to BFJO [07:00] And everything inherited BFJOD [07:00] But BFJO didn't do anything [07:00] So I merged them [07:02] And the new class is not terribly long for this world. [07:40] Holy crap. I won buildbot bingo. [07:40] Impressive [07:40] I guess the blueprint tests are crap :) [07:40] is bingo a false ok [07:40] or an ok ok [07:42] lifeless: An ok ok [07:43] IE, toss the branch at buildbot and see if it passes, since it's so much faster than ec2 [07:54] cunning plan [08:20] Anyone know where the button to create a new sourcepackage recipe lives? [08:21] stub: On the branch page [08:21] It's not there for private branches, as recipes don't support private branches. [08:23] found it. not my branch so first step is working out where it was :) [08:45] wgrant: You lose buildbot bingo [08:46] I'm well aware :) [08:56] morning [08:57] wait, what? [08:59] lifeless: Goood morning [09:00] czajkowski: ;) good morning [09:00] nothing good about snow mister nothing! [09:00] * czajkowski cries at her inbox [09:00] it was all nice and tidy yesterday [09:01] czajkowski: heh [09:02] how's the little one doing? [09:02] brilliantly [09:03] good morning [09:03] she was wandering around with my t-shirt on as an over-shirt this evening [09:03] cutest thing ever [09:05] awww [09:05] lifeless: is the heat bothering her at all ? [09:07] czajkowski: heat? [09:09] you're in AU aren't you? [09:14] nope [09:14] NZ [09:14] AU == boiling heat, why I left there 2.5 years ago :) [09:14] ahh [09:14] now makes more sense [09:15] I'll swap boiling for -8 and poxy snow! [09:15] much easier to warm up than cool down [09:16] I like cjwatson and lifeless bugs, they can never be invalid or rarely a duplicate. [09:16] * lifeless aims to please [09:16] after this mornings lot of mails it makes me happy [09:26] StevenK: https://code.launchpad.net/~wgrant/launchpad/ttbj-comply/+merge/144250 === almaisan-away is now known as al-maisan === slank_away is now known as slank === al-maisan is now known as almaisan-away === matsubara is now known as matsubara-lunch === matsubara-lunch is now known as matsubara === yofel_ is now known as yofel === matsubara is now known as matsubara-afk [23:47] StevenK: Can you QA your blueprints thing?