/srv/irclogs.ubuntu.com/2004/11/14/#launchpad.txt

carlos:-)12:03
BradBspiv: how do I reopen an IZopeConnection once I've closed it?12:25
BradBI can't reopen the same object directly, but there must be some way.12:25
BradBI need to disconnect long enough to drop the db I'm connected to, then reconnect again.12:26
=== debonzi [~debonzi@200.158.100.251] has joined #launchpad
spivBradB: Hmm, I don't know how to do that.  The interface certainly doesn't give any way to do it.12:42
BradBindeed12:45
dafcarlos: yo12:51
carlosdaf: hi12:52
carlosdaf: spiv found the answer to my question already, thanks :-)12:52
dafcarlos: ah, good12:55
dafcarlos: how're you doing?12:55
carloswell, all bugs I'm working on have dependencies on other people to be finished, out that, fine :-P12:56
dafshall we have a quick meeting or is it too late?12:58
carlosit's 1:00 here and I'm tired, do we need it before tomorrow's meet?12:59
dafno, it can wait12:59
carloshmmm, in the other side.. will you attend the meeting?12:59
carlos12:00 UTC12:59
dafyes01:03
carlosdaf: ok, then, could we have the meeting after the launchpad one?01:04
dafif it's still necessary, sure01:04
carlosok01:05
=== kiko is now known as kiko-afk
!Md:*! Hi everybody. Just wanted to let you know that there is discussion and live coverage on this year's US presidential election in #election200402:19
BradBhttp://paste.husk.org/191002:27
spivIt looks like the exit status is confused.02:29
spivOh, no, hmm.02:29
spivtest_ok = errlines[-1]  == 'OK\n'02:30
spivSo, apparently, despite the last line of stderr being 'OK\n', there was still a traceback.02:30
BradBthe failure email i got back to me there were 6 failures. from my command line, uh, that just doesn't make any sense at all.02:30
=== BradB runs the UT's
BradBs/back to me/back told me/02:31
BradBspiv: do the UT's get run by the wya?02:32
spivI believe so, yeah.02:33
BradBi hope not, because otherwise it becomes difficult to explain how a batching failure got checked in02:34
spiv    print 'Running tests.'02:35
spiv    stdin, out, err = os.popen3('cd %s; python test.py %s < /dev/null' %02:35
spiv        (here, ' '.join(sys.argv[1:] )))02:35
spiv(from test_on_merge.py)02:35
spivOh, hmm!02:37
BradBi see stuff like this:02:37
spivI think the test_on_merge.py script has a bug :/02:37
BradBhttp://paste.husk.org/191102:37
BradB(when i run the ftests)02:38
BradBmy brain is in the freezer right now, but damn i just wanna land these page tests02:38
spivtest.py runs several "batches" (for lack of a better word) of tests, but test_on_merge.py only looks for a final "OK".02:38
spivThat's fine.02:38
spivThose are all ok.02:38
spivJust a bunch of warnings, but they don't break the tests.02:39
BradByeah, it ends in "OK\n", so...02:39
spivRight.02:39
BradBhow is "Exception exceptions.AttributeError" "ignored" though?02:39
spivIt's from a __del__02:39
BradBwhy is that ignored though? :)02:39
BradBok, it's outside a test, presumably02:40
spivBecause it's triggered by the garbage collecter...02:40
spivWhere would you expect an error in __del__ to get raised to? :)02:40
BradBi dunno...does it happen in tearDown?02:41
spivNo idea.  Quite likely.02:41
spivBut __del__ isn't something that's called directly by your code, it's called by python internals.02:42
BradBthat would make sense then. if i just del foo in a test and it raises an error, i'd expect the test to be an error.02:42
spivSo the exception bubbles up to python's internals, which goes "Oh!  Fancy that.  I'll make a note of that on sys.stderr and get on with my life."02:42
BradBbut in tearDown, i'd expect it to be ignored.02:42
BradBheh02:43
spivWell, doing "del foo" may or may not cause __del__ to be triggered.02:43
spivIt's triggered when there are no references left, which can happen for all sorts of reasons.02:43
spivI've looked into that particular error, and although the warnings are annoying, I don't think it has an significant sideeffects.02:44
spiv(so it's not that it's outside a test, it's that it's outside the normal execution path of python code altogether)02:46
BradByeah...well that's arse then, my tests end in "OK\n" when I run "make check" locally, but I get 6 failures on the server.02:46
spivI think there's possibly a seperate problem, which is that test_on_merge might not notice failures all the time -- I'm not convinced that checking that the end is "OK\n" is sufficient.02:47
lifelessone should be checking $?, not string output02:47
spivIf that combines with e.g. the server running the tests in a different order to you.... (easy to imagine, you have a different FS, yeah?)02:47
spivlifeless: Yeah.02:47
BradBActually, I can't figure out if http://paste.husk.org/1910 means everything passed, or means something failed.02:47
lifelessit failed02:48
spivBradB: It means something failed.02:48
lifelessthere was a traceback.02:48
spivBradB: But it means that test_on_merge.py didn't realise it.02:48
spiv(Due to aforementioned issues :)02:48
BradBspiv: ...and yet i still got a failure email.02:49
spivBradB: Right.  But I suspect that if the tests had run in a different order, it would have noticed.02:50
BradBspiv: What's the exact command pqm runs to check if all the tests pass?02:50
spivmake check, I believe.02:51
BradBouch, pain pain pain02:51
=== spiv tries checking the return value.
BradBi'm seeing errors in the PT's though on the server, which is more worrying02:55
BradBwhere's the log of the failed test run? the email doesn't give me enough info.02:55
spivI don't know; lifeless?02:55
spivlifeless: Can we get more detailed failure logs from PQM that what it mails to us?02:56
lifelessdefine more detailed ?02:56
BradBlifeless: i wanna see all the failure output02:56
lifelessok, thats doable.02:57
BradBrather than "Last 20 lines of log output" :)02:57
BradBlifeless: for now, where's the file that i can read to see it?02:57
lifelessBradB: there isn't one.02:57
lifelessits mail and toss.02:57
BradBoh, heh02:57
BradBmy brain's pickled for tonight anyway, but if there's a chance to have that output in the mail for tomorrow, that'd be really good02:58
lifelessI'll see what I can do.02:58
lifelessI plan to add a new command02:58
lifelessso you'll want your command email to have 'debug' on a line on its own.02:59
lifelessthat will trigger the output-from-hell mode.02:59
spivBradB: I'll see if I can make test_on_merge a little more sensible.02:59
BradBlifeless: i think we'd probably always want it02:59
lifelessspiv: look at the cscvs make check.02:59
BradBlifeless: it's only one person that'll get it anyway, so if one person gets an email-from-hell every once in a while, it's no big deal (and they have all they need to figure out what failed on the server.)03:00
lifelessBradB: well, some build processes make a hella lotta output, and kindly do fail at the first error.03:00
BradBspiv: that'd be nice. :)03:01
spivlifeless: In theory, so does this one :)03:01
BradBI'm not a big fan of no output. "All tests OK." or something would be nice.03:01
lifelessBradB: mmm, for now, you can change your submit-arch-merge to just have debug in there.03:02
BradBhave it where?03:04
BradBpresumably at the end of the body03:05
lifelessecho -e debug\nstar..03:06
lifelessyou'll want it before star merge :)03:06
BradBoh, ok03:06
lifelessI'll code it up this afternoon, things going well elsewhere.03:07
stubAny code that relies on __del__ is broken. There is a Canonical Buzilla bug open on this about SQLObject03:11
stub(which is broken)03:11
stub(well... probably not broken, since it doesn't rely on it, but damn annoying)03:14
debonzihi stub, is it possible to update launchpad.ubuntu.com? there are some soyuz stuff missing there03:31
stubSure. I'm not sure now to restart the server though.03:34
stubBradB: ping03:34
BradByo03:35
debonzistub, I must go home now.. its realy late.. if you need something else from us please drop me an email.. thanks03:36
BradBi can restart it if you're ready...or i could just stop it and let you restart it when you want03:36
stubHow do we restart the dogfood launchpad server atm. Last time you did it, which I suspect means it is running under screen?03:36
BradByeah03:36
debonzisee you guys03:36
BradBsee ya03:36
BradBstub: how 'bout i just stop it now and you do what you want with it?03:37
stubGee... thanks ;)03:38
BradBheh03:38
stubSo you just did 'make run' ? If so, kill it and I'll take it over.03:39
BradBlaunchpad@rosetta:/srv/launchpad.ubuntu.com/launchpad-dogfood $ make run03:39
stubBlergh.... can't run screen as launchpad... :-P03:40
BradBno, you run it as your normal user :)03:40
BradBthen sudo, etc.03:40
stubI was hoping other people could connect until proper start/stop scripts were running :-)03:40
stubSo the test suite brick walls hurt?03:42
BradBpainful. very painful.03:42
BradBi was completely boggled by that connection bug03:43
BradBtook me a hell of a long time to find out where the heck the stray connection came from03:43
stubWell.. makes me feel better anyway. I wasted two days on it and was wondering if I was just being real stoopid :-)03:43
BradBwhich was in the placelessauth service03:43
BradBi've only wasted about 3/4 of day, and have ready the stage of only being really confused now, instead of completely lost :P03:44
stubmmm.... which the rosetta tests were using in conjunction with initZopeless, which seemed rather dodgy...03:44
BradBs/ready/reached/ # it's affected my typing03:44
stubI'll owe you a big sloppy kiss if you can crack it03:44
BradBheh heh03:44
BradBif i would have known that today, it'd have taken an hour to fix, no doubt03:44
BradBstub: you read z3 checkins?03:45
BradBthe "docs" (i.e. functional doctests) for the PAS are just so...discouraging. it's like 95% http session barf and 5% telling the user how to use the PAS.03:46
stubI scan them once or twice a week03:46
stubIf it is http session stuff I should have a look - I've been waiting on people to actually use it to see how it goes :-)03:47
BradBstub: it's horrid. the concept of functional doctests is brilliant, but i'm starting to think of how better to do it. ideas so far: none.03:48
BradB"better" i.e. make them actual readable documentation.03:49
BradBat the end of today i had all the tests passing locally (so i could land the malone forcefield), but somehow 6 fail on the server, and i don't get enough error output back in the email to know what the problem is (so hopefully lifeless have time to fix that by tomorrow.)03:49
stubMmm... my first suspicion is the launchpad databases. Tests may be making assumptions about the databases, but the db's on chinstrap only get updated if 'make check' bothers to do so. 03:51
BradBstub: the ftests should get init'd properly no?03:52
stubAre you back for the meeting in 9 hours time? 03:52
BradB(i have no idea how or where, but i thought that just somehow worked)03:52
BradB9 hours? :)03:52
BradBer, crap, yeah, it's only 9 hours from now03:52
stubBradB: In theory, yes. However, until recently tests were doing dodgy things like connecting to launchpad_dev (which the test suite doesn't touch, because it shouldn't be using it).03:53
BradBthey still do03:53
stubBradB: I think I've got a handle on what you have been chasing, so if you need to skip the meeting go for it.03:53
BradBi did much watch -n 2 'psql launchpad_dev -c "select * from pg_stat_activity"' today03:53
stubMmm... fragile tests. Once this damn harness is debugged it should be fairly simple to fix the remaining tests (my approach was more brute force - I just dropped the launchpad_dev database and looked at what broke ;) )03:54
BradBi got to: http://paste.husk.org/191203:55
BradBin pgsql.py, line 70, setUp03:56
BradBi just couldn't figure out how to reopen the conn after closing, so everything after that dies03:56
BradBthat's after having first explored the possiblity that it was a problem with our custom publisher, or with the base class that bootstraps individual tests, or with the placeless auth, etc. heh03:58
stubMmm... I had monkey-patched psycopg.connect to give me connections with a 'reconnect' method, allowing me to close them all, drop and recreate the db, and reconnect them. I didn't finish chasing it hrough though.03:59
BradBwhy knowing how to say "hey, connect back to the db" didn't come obvious to me (and still doesn't), i'm not sure04:00
stubHmm... looking at that paste, I suspect we are going to have to get the adaptor and poke into its internals Urgh :-(04:01
stubOr close it and delete the utiliity, drop the db, and recreate it...04:02
BradByeah, that's what i was thinking04:03
stubAnyway... I have db patches for kiko and dogfood rollout stuff to do. I won't touch the test stuff today since it would just conflict with your work.04:03
BradBindeed. i'll take a look again after the meeting tomorrow.04:03
BradBsteve might have some ideas.04:04
BradBif he'll be there? maybe it's you admining it then.04:04
stubI suspect I am, which will be amusing ;)04:04
BradBheh04:04
spivHmm.  That's not a good sign.04:05
spivTrying to merge a change to test_on_merge to make it check exit values as well as stderr fails.04:06
lifelesshur hur hur04:06
spivAnd the last line of stderr is indeed "OK"04:06
lifelessdounds like its not quite right :)04:06
spivAlthough FAILED (failures=1, errors=1)04:06
spivoccurs higher up.04:07
lifelessso, who ever looked at stdout ?04:07
lifelessactuall, I don't want to know04:07
=== BradB is now known as BradB|away
spivBradB|away: And from what I can see in the limited output from PQM, batching does indeed fail.04:09
lifelessspiv: have you looked at the cscvs make check ?04:10
lifelessI've patched unittest to stop on the first error.04:10
lifelessrather than blindly careening off into never never land.04:10
stublifeless: did you follow the dogfood rollout thread? I was going to create a configs directory in launnchpad--devel--0 for build-config files so we can just to 'tla get launchpad--whatevver--0 whatever; cd whatever; tla build-config configs/whatever'. Sane or stoopid?04:10
lifelessstub: we have 'dists' for that.04:10
lifelesswhat would be different ?04:11
stublifeless: The difference would be that the rollout build-config files would be version controlled with the codebase.04:11
lifelessI'm confused, I don't see what you mean.04:12
stub(well... at least all the stuff in the launchpad package - pyarch and a few others are seperate).04:12
lifelesspyarch, cscvs, zope, sqlobject, sqlos, pyscopgda04:13
lifelessbuildbot04:13
lifelesstwisted04:13
stubI could just do 'tla get launchpad--dogfood--0.6' and I would have the build-config file that listed all the revisions of the 3rd party tools that were rolled out with it.04:13
lifelesspython04:13
lifelessstub: so, what is different to 'tla get dists--devel--0', 'tla buildconfig configs/canonical/launchpad/dogfood--0.6' ?04:13
lifelesshave you looked at the production-* configs in 'dists' ?04:14
stublifeless: That would work, although doesn't lend itself to automatition. If instead of using versions we just used 'launchpad--dogfood--0', we could do an automatic update of the dogfood server (cron job just does 'tla get launchpad--dogfood--0; tla build-config' and it all magically works...)04:15
lifelessright, so you just do that with configs/canonical/launchpad/dogfood04:15
dilysNew bug 2155 for Launchpad/Launchpad: test_on_merge.py doesn't check exit status, and thus ignores failures.04:15
dilyshttps://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=215504:15
lifelessits as automatible.04:16
lifelessI have several production configs, so that I can roll back trivially, but if you just have one, that will work just as well.04:17
stubok - I see that now. We just have to list the explicit revision of launchpad--dogfood to allow us to easily retrieve historical revisions.04:17
lifelessin fact, its more automatable.04:17
spivlifeless: The problem isn't unittest.  The problem is the script that runs the test script fails to interpret the results of that script correctly (i.e. it ignores the exit status)04:17
lifelessspiv: I was meaning for reducing the output to sane lengths :)04:17
spivlifeless: Oh, right.  I'm not particularly concerned by long output :)04:18
lifelessstub: its more automatable because a dogfood config can hold you at a specific level in the dogfood branch, if something is wrong with newer revisions.04:18
lifelessso your release process would be: get the code ready, then generate the config to a dists tree that you merge with rocketfuel. 04:19
lifelessdone.04:19
lifelesstla logs -rf | head -n 1 gives you a tree revision.04:19
lifelesshow does that sound to you ?04:22
lifelesstla inventory --nested -t gets you the trees04:22
BradB|awaylifeless: we don't want it to stop on the first failure04:23
stubSounds like a winner. I think the '--dir' option to build-config solves controlling where the checkout goes which is also good.04:23
lifelesstla inventory --nested -t | xargs bash -c "tla logs -d $0 -rf | head -n1" or similar gives you the config04:23
lifelessstub: erm, no.04:23
lifelessthe -d says where to go to get the configs04:23
lifelessthe config says how its checked out under there.04:23
BradB|awaystub: failing UT's are allowed to sneak by the checker, it seems04:23
lifelessso you just build the config to match your checkout desires.04:23
stubBradB|away: Sod04:24
lifelessBradB|away: K.04:24
BradB|awaystub: just a guess, but it's because a failing UT doesn't affect the fact the last line can still be "OK\n"04:24
BradB|awaysince the FT's run last04:24
BradB|awayAFAIK04:25
lifelessBradB|away: its simpler: checking stdout is not  a reliable process for interrogating the test routines.04:25
BradB|awayindeed04:26
stubI guess so. Problem is we can't really fix it until the tests all pass ;-) 04:26
BradB|awayhehehe04:26
stubI think Steve designed makeoncheck to just work with page-tests04:26
lifelessI could just force the merge in.04:27
lifelessof course, you couldn't commit anything else until the tests pass.04:27
stubBad lifeless - bad!04:27
lifeless:)04:27
lifelesstechnically, I'd be fixing a bug.04:27
=== BradB|away goes on a late night grocery run
stubI'll change my 'enforce explicit FROM clauses' warning to an error at the same time :-)04:28
spivBradB|away, stub: see bug 2155 :)04:32
=== doko [doko@dsl-082-082-065-116.arcor-ip.net] has joined #launchpad
=== mdz [~mdz@69-167-148-207.vnnyca.adelphia.net] has joined #launchpad
BradB|awaystub: did steve say you're officially <management_term>"chairing"</management_term> the meeting tomorrow then?05:31
BradB|awayif so, and i don't need to be there, maybe i'll wake up at a more reasonable time, like 8:30, instead of 6:30, heh05:32
=== sabdfl [~mark@196.38.108.242] has joined #launchpad
sabdflhi all05:35
sabdflwhat's news at the launchpad?05:35
stubmeeting tonight, dogfood rollout today, people working on the more fragile aspects of the test suites05:39
stubproduction schema update was run yesterday, as lifeless did a production code rollout.05:40
stubgina seems to need some lovin' to get it to import the Hoary archive05:41
sabdflstub: thanks05:42
sabdfli'm in back to back meetings all day through to post-dinner, so will try get an update from you again in your morning05:43
stubno worries :-)05:43
lifelesssabdfl: gnu arch issue resolved, in flying colours.05:44
sabdfllifeless: good job05:45
lifelessI've emailed you the outcome, can you please ok that for elmo to act on ?05:45
sabdfllifeless: i'm way behind on email, just get a couple of minutes each day this week, please fwd this irc comment to elmo05:58
sabdflif he needs the nudge05:58
stubsabdfl: Now that you have delved into the Z3 form machinery stuff, do you think we need to do work to improve Z3 in this area? The December conference could be an opportunity to hold a Z3 sprint if Garrett Smith is interested in coming (we would need to fund him). 05:59
lifelesssabdfl: ok.05:59
sabdflelmo: please get the arch community servers up for jblack asap, we discussed it in october and i never heard anything to suggest they would not be ready for the termination of jblack's bandwidth, we need to get them up and running at once05:59
sabdflstub: yes, some small tweaks06:00
sabdflbut i may not have unlocked the full power of z306:00
sabdflfor example, i noticed you created an IMaloneBugAddForm schema06:01
sabdflso you could do more than just create a bug06:01
sabdflthat seemed unnecessary to me but i couldn't easily find a way around it06:02
stubMmm.... that one doesn't particularly worry me. The form machinery simply generates forms based on a specification. In most cases, that specification already exists in the form of an existing interface so we get used to it being magic ;)06:03
stubI'm more concerned with the dead-chicken functions I had to add to the containers to get the addforms working - that seemed to be simply because they were designed to add persistent objects as children of ZODB folders. It works the way we have done it, but seems to be a hack.06:05
stubShould I approach Garrett (who didn't write the form machinery, but has been the person most actively involved in championing and refactoring the implementation over the last 12 months) to see if he is interested in coming to Barcelona?06:08
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: soyuz views (patch-725)08:28
stublifeless: ping10:00
!Md:*! rehubbing in progress10:31
=== netjoined: irc.freenode.net -> sendak.freenode.net
=== ChanServ [ChanServ@services.] has joined #launchpad
=== doko [doko@dsl-082-082-065-116.arcor-ip.net] has joined #launchpad
=== ddaa [~ddaa@nemesis.xlii.org] has joined #launchpad
=== stub [~stub@dsl-246.248.240.220.dsl.comindico.com.au] has joined #launchpad
=== spiv [~andrew@fuchsia.puzzling.org] has joined #launchpad
=== daf [daf@muse.19inch.net] has joined #launchpad
=== dilys [daf@muse.19inch.net] has joined #launchpad
=== lifeless [~robertc@dsl-78.1.240.220.rns01-kent-syd.dsl.comindico.com.au] has joined #launchpad
=== netjoined: irc.freenode.net -> sendak.freenode.net
=== ChanServ [ChanServ@services.] has joined #launchpad
=== doko [doko@dsl-082-082-065-116.arcor-ip.net] has joined #launchpad
=== ddaa [~ddaa@nemesis.xlii.org] has joined #launchpad
=== stub [~stub@dsl-246.248.240.220.dsl.comindico.com.au] has joined #launchpad
=== spiv [~andrew@fuchsia.puzzling.org] has joined #launchpad
=== daf [daf@muse.19inch.net] has joined #launchpad
=== dilys [daf@muse.19inch.net] has joined #launchpad
=== lifeless [~robertc@dsl-78.1.240.220.rns01-kent-syd.dsl.comindico.com.au] has joined #launchpad
=== stub [~stub@dsl-246.248.240.220.dsl.comindico.com.au] has joined #launchpad
=== debonzi [~debonzi@200.158.100.251] has joined #launchpad
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
=== elmo is now known as elmo_away
=== cprov [~cprov@200.158.100.251] has joined #launchpad
=== Kinnison [~dsilvers@haddenham.pepperfish.net] has joined #launchpad
KinnisonMorning11:31
KinnisonMeeting in 1h30m yes?11:32
debonziKinnison, yep11:33
Kinnisonmorning debonzi 11:33
Kinnisondebonzi: how does the db on mawson look? gina finished an import yesterday11:34
debonziKinnison, morning11:34
Kinnisonthere were some failures so I'm investigating those11:34
debonziKinnison, it seems to be very nice, but the soyuz code still need to be update.. 11:34
debonzistub, did the soyuz update failed?11:35
debonzistub, better, the launchpad.ubuntu.com update11:35
Kinnisondebonzi: I see. Well; I'm glad the data looks okay11:39
debonziKinnison, me too :-)11:40
cprovKinnison: may I run Nicole over it ?11:43
Kinnisoncprov: as far as I'm concerned; yes. I certainly have no intention to start deleting data :-)11:43
cprovKinnison: ok in some minutes 11:52
KinnisonYou can see the output of the latest top-up run of gina in /tmp11:59
KinnisonI'm going through trying to work out why some packages fail to import properly11:59
cprovKinnison: should I backup the the lp_dogfood DB before start ?12:00
Kinnisoncprov: probably worth it; in case nicole breaks horribly12:00
=== carlos_ [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad
=== carlos_ is now known as carlos
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: general templates fix; related with bug #2089. Authorization required for +edit soyuz pages (patch-726)12:10
=== Kinnison does another gina run; don't worry guys; this won't break anything; I need more debugging output :-)
stubdebonzi: the launchpad.ubuntu code drop hasn't been done yet. 12:14
debonzistub, right..12:14
cprovKinnison: do you know why restoring a dump from lp_dogfood fails (psql soyuz_tmp -f lp_df-20041103.sql) ?12:14
stubKinnison: Do you need launchpad_dogfood for this run? Or can up upgrade now?12:14
Kinnisonstub: I'm running gina out of ~ I only need the db12:14
Kinnisoncprov: Nup; sorry12:15
Kinnisonstub: I can cancel the run if you want; I'll have enough data by now to carry on fidding12:15
stubkeep it going for the time being12:15
cprovKinnison: does it works for you ? how did you copy the DB ?12:16
Kinnisoncprov: copy the db?12:16
cprovKinnison: I want to run Nicole in a copy of launchpad_dogfood 12:18
KinnisonI see12:18
cprovKinnison: so, any suggestion ?12:20
KinnisonI'd probably do something like: createdb -E UNICODE -t template0 <foo>; lp_dump launchpad_dogfood | psql <foo>12:21
cprovKinnison: yes :) "createdb -E UNICODE -T launchpad_dogfood soyuz_df" should work for me, but the DB is being accessed by other users12:30
Kinnisoncprov: which is why I suggested my way12:31
stuburgh.... the hourly dump is trying to create the functions used as constraints *after* the tables :-P12:35
cprovKinnison: psql <foo> -f <dump> always fails 12:35
Kinnisoncprov: Hmm12:36
Kinnisoncprov: Not sure what to suggest. stub is our database stud :-)12:37
stubok - disabling triggers works. I'll update the latest hourly dump.12:42
carloshow is going the bugzilla -> malone move?12:42
=== morgs [~morganc@wblv-249-229.telkomadsl.co.za] has joined #launchpad
=== Kinnison goes to do a few bits before the meeting
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
cprovstub: I can't use the hourly dump to generate my own (tmp) lp_dogfood, I got "invalid command \N", does it means something to you ?12:53
stubYes - I'm looking at that now. Creation of the tables is failing, as the dump has decided to create functions the tables need *after* the tables.12:54
stubIf you create a freshdb and run database/schema/trusted.sql in it, the restore should work12:55
cprovstub: psql:trusted.sql:13: ERROR:  language "plpythonu" does not exist01:00
stubcreatelang plpythonu mydbname01:01
stubI hope it isn't a postgresql upgrade problem - the dumps are in the correct order on my local box ;-/01:02
stubAnyway....01:02
stubwho is here!01:02
=== spiv waves
debonzistub, yes01:03
stubI believe I am acting Steve for this meeting unless anyone else feels like volunteering ;)01:03
stubI'm also acting BradB who won't be joining us01:04
=== carlos is here
stubdaf: ping01:04
carlosstub: do the USA people change the hour like we did this weekend?01:05
cprovstub: the restore seems to be working 01:05
=== Kinnison is here
=== morgs is here
Kinnisoncarlos: IIRC USA goes forward one week later; comes back the same time01:07
stubMmm... I'm now at UTC+11 now btw.01:07
Kinnisonso it's 11pm for you? yowch01:07
Kinnisonbetter than UTC-11 I guess :-)01:08
stubcarlos: Are you able to give a short state-of-rosetta?01:09
carlosstub: I could try, but I only know the status of my work01:09
carlosdaf: told me that he is going to attend the meeting01:10
stubok. We can wait to see if daf comes online in a tick.01:11
carlosbut I think that perhaps he will be late 01:11
carlosok01:11
stubAs for Malone, work has been progressing on dogfood-for-launchpad, in particular email notifications. Brad has also been beating his head against test harnesses so he can land a full suite of page tests.01:11
stubI'm sure people who have been playing with it have noticed usability issues - please submit them as bugs in the dogfood malone, or in Bugzilla if that fails.01:11
stubBradB wants to get the Ubuntu people on board with it as soon as possible, but I feel a little more conservative and want to concentrate on the launchpad group. Maybe we can do both.01:12
Kinnisoncan we make the default https://launchpad.ubuntu.com/ use the port which gives tracebacks to the browser?01:13
carlosstub: are we able to use malone for launchpad bugs then?01:13
stubKinnison: That would be a great idea01:13
spivcarlos: I filed 3 bugs against malone in malone yesterday :)01:13
debonziKinnison, I agree with you01:13
spivDoes the dogfood malone do emails yet?01:14
stubKinnison: I'll try and do that when I drop a fresh snapshot in, which I'll do after this meeting if enough Gina data has been collected or people don't want to wait another 9 hours01:14
Kinnisonstub: feh; anyone would think you thought gina was slow :-P01:15
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad
=== Kinnison notes that the collection run I started earlier has actually finished!
carlosspiv: but we don't have (yet) the old bugs imported, so i cannot use it yet 01:16
stubspiv: The code is all there for notifications, but no incoming email. It is currently switched off though - I will want to clear it with Brad before switching it on, as a screwup could spam Mark (default owner of a lot of things) or elmo (as the postmaster)01:16
stubKinnison: I was talking about when I wake up tomorrow. Hopefully gina will be finished by then ;)01:17
Kinnisonstub: oh righty. I'm happy for you to upgrade the software; no question01:17
spivstub: Fair enough.  The reason why I ask is that if launchpad devs are going to have to deal with two seperate bug systems at once, I fear the dogfood one will be forgotten unless it sends emails.01:17
Kinnisonstub: if you have to reset the db; gina will have to run again; which might suck01:18
stubspiv: Good point.01:18
spivstub: But importing bugzilla bugs into malone would fix that as well, I guess.01:18
stubAt the moment, I don't think we have any import code. I need to talk to elmo about switching off basicauth on the Canonical bugzilla (from Mawson's IP) so we can watch bugs though.01:19
stubIf it is a problem, we can talk to kiko or justdave about a quick'n'dirty import script.01:19
kikotalk to me01:20
kikowhat's up? 01:20
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad
=== Kinnison [~dsilvers@haddenham.pepperfish.net] has joined #launchpad
=== cprov [~cprov@200.158.100.251] has joined #launchpad
=== debonzi [~debonzi@200.158.100.251] has joined #launchpad
=== stub [~stub@dsl-246.248.240.220.dsl.comindico.com.au] has joined #launchpad
=== doko [doko@dsl-082-082-065-116.arcor-ip.net] has joined #launchpad
=== spiv [~andrew@fuchsia.puzzling.org] has joined #launchpad
=== ChanServ [ChanServ@services.] has joined #launchpad
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad
=== ddaa [~ddaa@nemesis.xlii.org] has joined #launchpad
=== daf [daf@muse.19inch.net] has joined #launchpad
=== dilys [daf@muse.19inch.net] has joined #launchpad
=== lifeless [~robertc@dsl-78.1.240.220.rns01-kent-syd.dsl.comindico.com.au] has joined #launchpad
=== daf [daf@muse.19inch.net] has joined #launchpad
=== lifeless [~robertc@dsl-78.1.240.220.rns01-kent-syd.dsl.comindico.com.au] has joined #launchpad
stubAnd then kiko just walked out of the room!01:28
=== Kinnison grins
!Md:*! this was the scheduled outage...01:28
=== kiko_ [~kiko@200.206.134.238] has joined #launchpad
=== sabdfl [~mark@196.38.108.242] has joined #launchpad
stubok... I think we have everyone back.01:28
stubsabdfl: Greetings. Just intime for the next netsplit01:29
sabdfl:-)01:29
sabdfllaunch here in a few minutes, so wont likely be able to enjoy the fun01:29
Kinnisonsabdfl: good luck01:29
stubanyone need mark luvin' while he is here or shall we move onto soyuz?01:30
kiko_sorry, something happened :)01:31
=== kiko_ has no idea what
stubkiko_: Just remember that IRC was designed by a pack of drug induced hippies over a decade ago.01:33
kiko_what wasn't?01:33
Kinnisonand has been perpetuated by weenies ever since01:33
kiko_you could say the same of tcp/ip I suspect01:33
kiko_and BSD01:33
Kinnisonban it all I say01:33
Kinnisonlet's all use appletalk01:34
kiko_!01:34
cprovstub: I just can see the CSV style import from bugzila and it just import a query not a bug 01:34
stubKinnison: So what is the status of Gina - is it now importing hoary on mawson, or is that what is currently being worked on?01:34
Kinnisonstub: gina has imported a nearly complete hoary archive01:34
Kinnisonstub: I'm working on the few corner packages left making sure that gina is doing the right thing01:35
stubSo is the end in sight, and are there any blockages?01:35
Kinnisonstub: then I'll get the last twiddles done for the corner-case of package versions moving between distroreleases which I've spotted01:35
KinnisonOnce that corner-case has been solved; we should be able to repopulate the sourcepackagerelease tables on demand via gina01:36
KinnisonNo major blockages that I can see01:36
KinnisonJust gotta keep slogging01:36
stubexcellent.01:36
Kinnisonthe dogfood db contains a workable-with set of data and I believe cprov is going to get nicole going on it today01:37
cprovNicole works perfectly on soyuz_df at 50/1033 packages of Hoary/Main should I stop and run it on lp_dogfood ?01:38
stubcprov: And is nicole ready to chew on the data?01:38
cprovstub: yes, I think 01:39
stubok. So the soyuz dogfood environment will have lots and lots of stuff to play with01:40
stubkiko_, debonzi, cprov: Anything you need to tell us about soyuz?01:41
kiko_debonzi and I need to work on perf01:41
kiko_there are a lot of database queries being spawned on simple pages01:41
kiko_salgado and debonzi are going to work together to create one or two more views for the binary package side of things01:42
kiko_cprov is busy fixing up the personal view of packages (reproducing QA functionality)01:42
kiko_or main open task is reproducing the packages.qa data in the package pages01:43
kiko_and cleaning up the house which is quite messy atm01:43
stubThis is all minimum functionality stuff for the dogfood environment?01:43
kiko_packages.qa pretty much is, though we *could* do without it it wouldn't be functionally equivalent to the read-only pages debian provides and thus..01:44
Kinnisonthe packages.qa page is a very very valuable information page for debian developers. Having it in soyuz is a must IMO01:45
kiko_Kinnison, no objections to not following the layout of the original page if the equivalent is acceptable?01:46
=== kiko_ realizes that's not a real question
carloskiko_: I suppose if we have the same information, that's enough01:47
carlos:-)01:47
stubWhat is the current coverage of unit, functional and page tests?01:47
kiko_whee01:47
Kinnisonkiko_: It's the data that's most important. We can always tweak layout at a later date01:47
kiko_yeah.01:47
=== stub realizes kiko_ is chatting in #canonical
kiko_are we still waiting on my input?01:51
stubI was wondering how you rate the soyuz test coverage01:51
kiko_oh!01:51
kiko_sorry, I didn't see that as a soyuz-specific question01:51
stub;)01:52
kiko_"not good" would likely be my answer01:52
stubSounds familiar.01:52
kiko_we've not done practically any progress there, mainly because the pages are still not spec'ed enough01:52
kiko_and there's still rather experimental infrastructure change going in01:53
stubI think after bootstrapping, we all need to get test coverage done. I think it is fair to leave this until things have solidified, but I suspect that is 'soon' in the case of soyuz and 'now' in the case of malone and rosetta.01:53
lifelessstub: pong01:53
stublifeless: tag -S rocketfuel@canonical.com/launchpad--devel--0 rocketfuel@canonical.com/launchpad--dogfood--001:53
lifelessyou'd like me to do that?01:54
kiko_to be honest there's still a few domain patterns in the backend that we haven't quite understood yet01:54
stublifeless: Yes please. pqm didn't like me telling it to, but didn't tell me why :-)01:54
kiko_for instance using views is.. interesting01:54
kiko_we're going to end up with some inheritance between views and the "real" class01:55
kiko_I haven't envisioned how it's turning out yet but this is all this week's material01:55
carloskiko_: how does sqlobject handle views?01:55
spivcarlos: You can just treat them like tables.01:56
kiko_yes.01:56
spiv(so long as you don't try to update their values...)01:56
carlosok01:56
kiko_you can actually insert into a view AIUI01:56
kiko_though I've never tried that01:56
kiko_stub, do we have any other views in the codebase?01:57
cprovspiv: ping01:57
kiko_also, how concerned are we that the views are actually quite separate from where they are used?01:57
stubI think we should avoid views where easy to do so, as there will be issues. For instance, setting attributes on a real class will not cause the view-classes to be updated because the data has not yet been committed to the database (and if it was, sqlobject wouldn't know)01:57
stubkiko_: There are no other views at the moment, but Kinnison is going to land more soon.01:57
kiko_I see01:57
spivcprov: pong.01:57
spivkiko_: Inserting into views scares me :)01:58
kiko_the main reason for requiring views is that it's not possible to get joined data when you are getting large lists of things01:58
kiko_package listings are the trivial example since stuff there is spread all over01:58
cprovspiv: are you the DOAP pages king ? I have a request 01:59
spivcprov: I am.01:59
lifelessstub: done.01:59
stublifeless: ta :-)01:59
lifelessyou'll need to be able to merge to that branch too right ?01:59
spivkiko_: I wonder if for relatively simple cases if BradB's SQLMethod idea might be a better option than building views?02:00
stublifeless: Yes. I'd assumed I could tell pqm to star-merge. I suspect we want most people to be able to once I've written some procedure guides.02:00
Kinnisonstub: Is there some way to tell sqlobject to flush its cache for a given class?02:00
kiko_it could be02:00
kiko_but it's vapor02:00
lifelesswhat is the config that it should use to checkout, when doing a make check for dogfood ?02:00
cprovspiv: the product-index has a hardcoded link to warty/src/${package.name} ... it's broken for dogfood, since we are importing from hoary02:01
lifelessfor instance, for l--devel--0 its:02:01
lifelessbuild_config=rocketfuel@canonical.com/dists--devel--0/configs/canonical.com/launchpad/development02:01
spivcprov: Ah, right.  Thanks.02:01
stubKinnison: I have no idea.02:01
stubbuild_config=rocketfuel@canonical.com/dists--devel--0/configs/canonical.com/launchpad/dogfood02:01
spivKinnison: You can expire an individual instance from SQLObject's cache (with the .expire method).02:02
Kinnisonspiv: hmm02:02
lifelessstub: 02:02
lifeless[rocketfuel@canonical.com/launchpad--dogfood--0] 02:02
lifelessprecommit_hook=make check02:02
lifelessbuild_config=rocketfuel@canonical.com/dists--devel--0/configs/canonical.com/launchpad/dogfood02:02
lifelessdone02:02
spivSo so long as the views have the ids of the objects that expiring...02:02
cprovspiv: btw, it's bronken for dogfood but not in our dev-code, I don't know if you can just change it to hoary there and work in dev code to figure out which distro from SourcePackagePublishing02:03
Kinnisonspiv/stub: what about setting _cacheValues to False in the view classes?02:04
stubI suspect we can work around issues we hit with views - identifying all of them might take a while though, so thanks to kiko_ for volunteering :-)02:04
spivKinnison: That doesn't solve the full issue, though.02:04
kiko_I volunteered to buy two DVDs too, where is that plaque with my name on it?02:05
=== kiko_ is now known as kiko
Kinnisonspiv: any other issues are to do with insufficiently-timely transaction commits; surely?02:05
spivKinnison: e.g. "foo = get_object_from_view(); bar = get_real_object(); bar.x = 1"... foo.x would then be out-of-date.02:05
Kinnison_cacheValues:02:06
Kinnison    If set to False then values for attributes from the database won't be cached. So everytime you access an attribute in the object the database will be queried for a value.02:06
spivOh, hmm.  Yeah, it would work, I guess.  It might kill performance, though :)02:06
KinnisonI'm not sure if that'll ruin the benefits of using the view though :-(02:06
stubok. I think we should not worry about solving these problems unless we need to - my example might not be a problem, especially if people are aware and can work around it.02:08
stubBut we are running overtime.02:08
kikowe are also working overtime ;)02:08
stubspiv: How are things in your world? foaf & doap at the moment?02:08
spivIt's been pretty quiet on the doap and foaf front, seeing as they don't have much impact on the dogfooding, and I've been working on shipit/authserver issues.02:10
stubAny problems with that, apart from the no-downtime issue? shippit passwords compatible for instance?02:10
=== spiv checks the password situation quickly...
spivI'm pretty sure they're plaintext in the shipit db :)02:13
stubwonderful :-)02:13
stubSo authserver is in production. Is the librarian in production now, or just dogfood?02:14
spivJust dogfood afaik.02:14
spivKinnison/02:14
spiver, ?02:14
Kinnisonspiv: ?02:15
stubI'll take that as a no then ;-)02:15
spivKinnison: You've been the one actually *using* librarian :)02:16
spivYeah, I think that's a no :)02:16
stubdaf: ping02:16
dafstub: pong02:16
dafbah!02:16
Kinnisonlibrarian is on dogfood02:16
KinnisonI've not done anything with it wrt. production02:16
Kinnisondaf!02:16
dafalarm went off this time, but I failed to stay awake :(02:16
=== Kinnison hugs daf
carlosdaf: welcomed!02:17
stubdaf: a quick sentence on rosetta? We are 17mins overtime atm.02:17
dafsummary: things have been a little quiet on the Rosetta front02:18
dafwe've mostly been working on tidying things up rather than on new features02:18
dafwe need to decide what we're doing for our beta release and get going on it02:19
dafwe recently did a triage of all our bugs, which I think was useful02:19
Kinnisoncprov/kiko/debonzi: Good news; gina looks like she's running as cleanly as the archive will let her :-)02:19
dafcarlos: anything to add to that?02:19
kikow00t!02:19
=== daf gives Kinnison a belated return hug
Kinnisonwe'll see what she does when we get the next archive drop from elmo later today02:20
carlosdaf: well, just that we will need to see a way to execute an script to update the pot/po files in launchpad every time a new package is updated from gina02:20
kikolet's hope02:20
dafcarlos: ooh, interesting02:20
carlosI have the script partially finished02:21
carloswell, a initial version02:21
carlosso we should start thinking on it soon02:22
stubdaf: How do you rate the rosetta test coverage?02:22
kikohere it comes02:23
debonziKinnison, great02:23
kikostub, everybody goes silent on that question. is that a hint?02:24
dafstub: I think our unit tests for the browser module are pretty good, although not complete02:24
dafstub: I don't think our page test coverage is as good02:24
cprovKinnison: nice, you can also see results from nicole in Projects now02:24
Kinnisoncprov: excellent02:25
stubok. I think a good approach for Rosetta now will be to do the tests in tandem with code. I think the project is at the stage now where that will save time rather than waste it.02:26
dafyou mean write tests as we write code?02:26
kikoI believe so, daf02:27
stubIf you write or update a screen, make a page test for it. If you fix a bug, write a unit/functional test for it. I generally write the tests during or straight after a chunk of code.02:27
stubDogma says write them before, but I don't seem to be able to work that way.02:27
kikoI don't either02:28
stubAlso if your brain needs a break, scan over your code looking for any methods without doctests and add them.02:28
dafbefore doesn't really work for page tests02:29
stubMalone is reaching that stage too, so I'll need to be taking my own advice :-)02:29
dafbut yes, that approach sounds good to me02:29
spivDoing unit tests before works for me, for some code.  But I can't manage it all the time :)02:29
carlosI could try to do it...02:29
stubIdeally we want at least 1 page test for every screen, so at the very least we know if they fail to render.02:30
dafcarlos: well, writing code and tests together is something we should all do02:30
lifelesssounds like someone needs the lifeless treatment :).02:31
stubWe should also be doing walkthroughs or stories, so the form handling and workflow gets tested.02:31
lifelessnight all02:31
carlosdaf: I know, but I need to be used to that, this is the first development where I'm doing it02:31
dafcarlos: ok02:31
dafcarlos: you're not the only one :)02:32
carlos:-)02:32
stubFrom my experience, tests are fantastic but fail abysmally if you don't keep the dicipline - if new code goes in that isn't being tested, it tends to spread like cancer.02:33
stubAlso, writing tests for existing code is a pita, as tests are easier if the code was designed to be easily tested.02:34
dafI understand we're working on fixing test_on_merge.py02:34
stubYes - there is a bugzilla bug on it. I'll sort it if nobody beats be to it.02:34
dafgood02:35
spivdaf: #215502:35
dafit would be great if we couldn't commit with broken tests02:35
spivUnless there's another issue I'm not aware of ;)02:35
dafspiv: ta02:35
stubAlso, Brad has been sorting out some test harness issues (postgresql junk) trying to ensure tests all run in isolation. The existing harnesses fail in some situations, but that is being worked on by Brad and me.02:35
stubSo have I missed anyone, or are there other issues that need to be raised now? Nobody blocked on anyone else?02:37
kikono, soyuz is doing okay this week02:39
carlosstub: we are soft blocked by htc02:39
kikohct?02:39
carloswas that the name?02:39
carlosI don't remember it :-P02:39
carlosScott's work02:40
stubneither acronym makes any sense to me ;)02:40
carlosthe one that fills the Manifest tables02:40
stubScott is aware of this?02:40
carlosyes02:40
carlosI think so02:40
carlosI sent an email last week02:41
stubok. Can you confirm, or should I?02:41
carlosI could confirm, don't worry02:41
stubok.02:41
stubSo I need to:02:42
stublaunchpad code drop02:42
stubturn on malone dogfood emails (if Brad agrees)02:42
stublaunchpad dogfood should use debug skin by default02:42
stubAnyone else volunteer to handle bug 2155?02:43
=== daf takes another look at it
spivI can do that.02:43
dafah, you already have a patch :)02:44
stubTa. I have no problems with tests being turned off if necessary provided bugs are filed. 02:44
dafso the plan is to disable these two tests, apply the patch, then fix the tests?02:45
spivdaf: Yep.02:45
stubI've found at least one test_suite() method returning None :-)02:45
dafspiv: sounds good02:45
stubdaf: Yup. Most important is to fix test_on_merge.py so new broken tests don't creep in. We are lucky there are only two (that I can see)02:45
dafstub: interesting :)02:45
dafstub: what happens to the test results in that case?02:46
stubdaf: No tests are run for that module02:46
spiv(Aside: I wish we didn't need the test_suite dead chicken... Twisted's test runner is much better in that respect)02:46
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
stubdaf: It is a quickndirty way of switching tests off (but liable to acidentally being commited...)02:46
stubspiv: Feel free to fix the test runner ;)02:47
spiv:)02:47
dafspiv: what's the alternative?02:47
stubAnyway - I suspect the meeting finished a while ago02:47
spivstub: Yeah, I think so.02:47
carlosok, I'm going to have lunch now then02:48
carlosstub: thanks 02:48
stubHave fun :-)02:48
carloslater02:48
spivdaf: Twisted's approach (iirc) is that any module matching *.tests.test_* is searched for subclasses of TestCase.  All TestCases are run.02:49
dafspiv: sounds good02:49
dafspiv: what about doctests?02:49
stubdebonzi: Can the launchpad code drop wait another 10 hours? I wanna go to bed, and will do a better job tomorrow :-)02:49
spivIt doesn't have support for those yet :(02:49
debonzistub, sure.. no problem02:50
debonzistub, good night :)02:50
dafspiv: I'm _all_ for a better test runner02:50
spivstub: G'night :)02:50
dafnight stub!02:51
dafspiv: if we can work out how to deal with doctests, I'd love to go with the approach you describe02:51
spivdaf: "Feel free to fix the test runner ;)"02:51
daf:)02:51
dafperhaps it could check for a test_suite and fall back to TestCase subclasses?02:51
spivSure.02:52
stubI believe Marius has a better test runner that he may be using for his zope3 projects. He gave a talk on it at Europython.02:52
spivOr even look for a doctests_to_run attribute in a test_* module.02:52
spivYeah, we should definitely look at reusing existing code :)02:52
dafmmm, yes02:53
dafperhaps we should ask Marius about it02:53
spivUnfortunately, the Twisted test runner (trial) is heading in a direction where it's more and more twisted-specific :/02:53
=== spiv workrave
stubhttp://mg.pov.lt/blog/using-schooltool-test-runner.html02:57
stubWorks with Z3 stuff.02:58
stubMight really help with the postgresql setup/teardown - you can easily group tests with a single setup/teardown to run at the start and end of the group (where the existing harnesses do it for every test). Lots of other funky features.02:59
dafmm, looks nice03:02
stubthe europython talk might be online which describes the hooks'n'stuff, or marius is in #zope3-dev atm. I'm  off to bed :-)03:05
=== stub buggers off
!Geert:*! Irssi is in the process of starting the re-design of the Irssi webpages. If you have ideas for the new logo or layout, join #irssi-site or submit your ideas to contest@irssi.org. The best design will be the official logo / site for the next 5 years! (More info on www.irssi.org)03:10
spivTwisted's trial has a setUpClass/tearDownClass, which sounds similar.03:13
spivBasically, there's clearly a lot of good ideas whose time has come... it would be really nice if there were One True Test Runner :)03:14
=== BradB|away is now known as BradB
BradBmorning03:21
BradBstub: Is there a PostgreSQL command that does pretty much the same as dropping and recreating the DB, but without actually dropping and recreating the db?03:21
BradBI'm thinking that's a more practical approach to solving the data init problem.03:22
dafI think you just missed stub03:22
dafI thought we were doing clever tricks with templates now03:22
stubBradB: Nope. You can drop all the tables and stuff one by one, but the disadantage to that approach is that it is slow (it is 10 or 20 times faster to do 'createdb --template' to build a launchpad instance than it is to build all the tables and populate sample data).03:25
stubBradB: The closest I could come up with would be to override psycopg.connect to return connection wrappers. These wrappers ignore calls to 'commit', so we can rollback all database changes at the end of the test. However, that would fail in some situations where the tests are relying on rollback to work normally (but that might not be a problem)03:26
=== stub really should be going to bed this time
BradBI think my current approach might be close enough to try to finish then.03:28
BradBlifeless: ping03:28
=== Kinnison ponders some lunching
Kinnisonpizza and garlic bread methinks03:35
=== kiko is now known as kiko-fud
luluBradB:ping!03:39
BradBlulu: pong03:40
luluBradB: what is your bugzilla email address? got a little bug to assign to ya!03:43
lulu:o)03:43
BradBbradb@bbnet.ca03:44
daflulu: if you type "brad" in, it will work03:45
luludaf, brad: thank you!03:47
=== debonzi -> lunch
!dmwaters:*! Hi all! I'm going to do some slight rehubbing to clean up from this morning's outage.04:01
=== netjoined: irc.freenode.net -> sendak.freenode.net
=== ChanServ [ChanServ@services.] has joined #launchpad
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
=== sabdfl [~mark@196.38.108.242] has joined #launchpad
=== kiko-fud [~kiko@200.206.134.238] has joined #launchpad
=== lifeless [~robertc@dsl-78.1.240.220.rns01-kent-syd.dsl.comindico.com.au] has joined #launchpad
=== spiv [~andrew@fuchsia.puzzling.org] has joined #launchpad
=== doko [doko@dsl-082-082-065-116.arcor-ip.net] has joined #launchpad
=== stub [~stub@dsl-246.248.240.220.dsl.comindico.com.au] has joined #launchpad
=== debonzi [~debonzi@200.158.100.251] has joined #launchpad
=== cprov [~cprov@200.158.100.251] has joined #launchpad
=== Kinnison [~dsilvers@haddenham.pepperfish.net] has joined #launchpad
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad
=== daf [daf@muse.19inch.net] has joined #launchpad
=== ddaa [~ddaa@nemesis.xlii.org] has joined #launchpad
=== dilys [daf@muse.19inch.net] has joined #launchpad
!dmwaters:*! All done, thank you for your patience, and thank you for using freenode!04:05
carlosdaf: could we decide the "fuzzy" change I suggested ?04:10
=== kiko-fud is now known as kiko
BradBdebonzi: ping04:53
debonziBradB, pong04:53
BradBdebonzi: i seem to remember reading a checkin message that you changing something in the batching, correct?04:53
BradBs/batching/batching code/04:54
debonziBradB, yep04:54
debonziBradB, is something wrong?04:55
BradBthis seems to have broken the batching unit tests. it slipped by pqm because of the way pqm was verifying whether everything worked or not. could you fix the test so that it passes, because lifeless and spiv will be making it so that this causes checkin failures in the next day or two probably.04:55
debonziBradB, yes Ill check it04:56
BradBthanks04:56
debonziBradB, no problem.. What is the easy way to track it? make check?04:57
dafcarlos: ok, let's discuss it04:57
BradBpython test.py -h will tell you how to run specific tests04:57
debonziBradB, right.. thanks04:57
carlosdaf: did you saw my last comments?04:57
dafwhere?04:59
carlosat bugzilla04:59
carloshttps://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=214705:00
=== sabdfl [~mark@196.38.108.242] has left #launchpad []
dafmy feeling at the moment is "the fuzzy flag should only be changed explicitly by the translator, so I don't see the problem"05:03
carlosso how will you handle the "iscomplete" flag?05:04
dafgood question :)05:05
carlosthat's the point behind this change request :-)05:06
dafI think this is just a cached result of "does this message set have a translation sighting for each plural form it's supposed to have?"05:06
carlosyes, we could see it that way05:07
dafI think complicated part is the relationship between the two flags05:07
dafe.g. a message must be fuzzy if it is not complete05:08
dafdoes that make sense?05:08
dafso a message set can either be (complete and fuzzy), (complete and not fuzzy), or (not complete and fuzzy)05:09
dafand we don't allow a translator to unset fuzziness on an incomplete message set05:10
carlosthat's not true with gettext05:11
carlos:-(05:11
carlosso we should fix that at import time05:11
dafgood point05:11
dafthat's a bit messed up, I think05:11
daflet's do a test:05:12
dafmake a PO file with an incomplete message set05:12
dafuse it in a program05:12
dafsee what gettext does with the message that's missing a translation05:12
carlosdaf: msgfmt does not gives you any warning05:13
carlosI did some tests already05:13
dafok, but I want to see what happens when the program runs05:13
carlosnot sure about the gettext function...05:13
dafwhether gettext uses the partial translation or not05:13
carlosok05:13
carloswill do it today05:13
dafany ideas on how to do it?05:13
carlosyes05:15
carlosa simple C program05:15
carloswith a plural form05:15
carlosthat prints both messages05:15
dafsounds good05:16
dafestimated time to do that?05:16
carlos30 minutes05:17
carlosI do it and then we continue talking?05:18
dafyep05:18
carloshmm, I'm forgetting anything...05:39
carlosdaf: could you look at:05:39
carlos#include <libintl.h>05:39
carlos#include <stdio.h>05:39
carlosvoid05:39
carlosmain ()05:39
carlos{05:39
carlos        bindtextdomain("test", "/home/carlos/test");05:39
carlos        textdomain("test");05:39
carlos        printf ("%s\n", ngettext ("Test singular", "Test plural", 1));05:39
carlos        printf ("%s\n", ngettext ("Test singular", "Test plural", 2));05:39
carlos}05:39
carlosit does not tries to access /home/carlos/test05:39
carlosI'm missing anything but I don't see it05:40
dafhmm05:40
dafdid you try stracing it?05:40
carlosyes, that's why I know it does not looks at that directory05:41
carlosI don't get any open request05:41
dafinteresting05:41
dafwhat files does it try to open?05:41
carlosonly the usual ones (the linker ones)05:41
carloscarlos@frodo ~/test $ strace ./a.out 2>&1|grep open05:42
carlosopen("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)05:42
carlosopen("/etc/ld.so.cache", O_RDONLY)      = 305:42
carlosopen("/lib/libc.so.6", O_RDONLY)        = 305:42
dafyou can do "strace -e open", by the way05:42
carlosok05:42
kikoright.05:44
dafcarlos: hmm, the only thing I can think is that you need to do -DGETTEXT or something05:44
carlosthat's what I'm looking now05:45
dafgettext is gnarly :(05:45
carlosgrre05:46
carlossetlocale05:46
carlos:-)05:46
carlosthat's the key05:46
dafoh, of course!05:47
daf:)05:47
carlosperfect05:47
=== carlos needs to program more in C...
carlosI'm starting to forget things :-(05:47
carlosdaf: it prints an empty string05:49
dafouch05:50
dafI think this is a bug in gettext05:50
carloscarlos@frodo ~/test $ LC_ALL=C ./a.out05:50
carlosTest singular05:50
carlosTest plural05:50
carloscarlos@frodo ~/test $ ./a.out05:50
carlosprimera prueba05:50
carlosdaf: so, what should we do?05:51
carlosmark it always as fuzzy?05:52
dafI think gettext should have fallen back to the untranslated string in that case05:52
dafyes, I think we should mark such message sets as fuzzy on import05:52
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: batching unit test fixed. (patch-727)05:52
dafit would be nice if we could warn the user about such things05:52
carlosdaf: well, I don't think that's correct, it's possible (but not probable) that a translator wanted to leave a translation empty...05:52
dafwhy?05:53
carlosI'm talking about the gettext behaviour you are talking about05:53
carlosnot the import thing :-)05:53
dafoh, ok :)05:53
dafperhaps we should open a bug "warn the user when marking message sets fuzzy on import"05:54
debonziBradB, the fix is in rocketfuel.. I hope is all ok05:54
carlosdaf: the user == who imports the file?05:54
carlosthat will be a script 99% of the imports...05:55
BradBdebonzi: great, thanks05:58
debonziBradB, no problem05:58
carlosdaf: ?06:07
dafthat's true06:08
=== kiko waves hands about wildly at BradB
dafforget it :)06:08
carlosok06:08
carlosthen, back to the "iscomplete" problem06:09
carloswhen should we set it?06:09
carlosas we are at this moment, if it's singular is easy, if it's plural... no idea06:10
carlos(to do it implicit inside makeTranslationSighting06:10
BradBstub: dude, i ROCK06:11
BradBstub: db_adapter.disconnect(), db_adapter.connect()!06:12
BradBstub owes me a kiss in spain now (it was his offer)06:12
carlosX-)06:12
=== carlos will take a picture of that
kikojesus06:13
BradBnow we can finally drop and recreate the db properly between test stories06:13
BradBa sloppy, wet one too, he said06:13
dafperhaps we should add a database constraint for NOT ((complete = TRUE) AND (fuzzy = FALSE))06:15
carlosdaf: sure, but that's to improve the schema06:15
=== BradB is really thankful for offline commits right now, given that i can't check anything in until pqm gives me the full error output so that i can actually see what was failing with my page tests on the server.
carlosthe problem at this moment is that makeTranslationSighting is called two times, one with the singular and another one with the plural06:16
carlosso if you don't want to change the schema06:17
dafyes, that was incidental06:17
carlosI see two options (not sure if they are correct):06:17
dafgo for it06:17
carlos1.- Assume that every time we update a plural form we will always call makeTranslationSighting twice06:18
carloshmm06:18
carlosno, this one will not work06:18
carloswe could have n plural forms...06:18
carlosthen, we only have an option:06:19
carlos2.- Change makeTranslationSighting and give a list with all translations06:19
dafhrm06:20
carlosso if it's singular the list will have only an argument06:20
carlosif it's a plural forms we will have all translations for that set06:20
dafI was thinking along the lines of "when makeTranslationSighting is called, calculate the flag and set it"06:20
carlosand we could know if it's complete or not06:20
dafthe information needed to set it is in the DB06:20
carlosme too06:20
dafthe problem is just keeping the flag up to date06:20
carlosnot really06:20
carlosthink on this scenay06:21
carlosthink on this scenary06:21
carlos:06:21
carloswe have: mststr[0]  = "foo" and msgstr[1]  = "bar"06:21
carlosand that msgset is marked as fuzzy06:21
dafok06:22
carlosfoo is correct, but bar is not correct06:22
carlosso we call makeTranslationSighting with "foo"06:22
dafwhich plural form?06:22
carlosat that moment we have all needed strings but it's still fuzzy06:22
carlosonly two plural forms06:22
carlosso we don't need extra strings06:22
carlosonly review them06:23
dafright, but makeTransltionSighting with plural_form = 106:23
carlosplural_form=006:23
carlosso foo with plural_form = 006:23
dafthat doesn't change anything, does it?06:23
carlosit should not06:23
carloswhen we do the second call with plural_form = 106:24
carloswe assume it's fixed the fuzzy, so we change  the flags06:24
carlosok06:24
dafwe don't make the first call if nothing has changed06:24
dafis it safe to assume it's no longer fuzzy?06:24
carlosnot really06:24
carlosthat's my point06:24
dafok, then we shouldn't :)06:24
dafthat's the user's choice06:25
carlosbut we talked about remove the fuzzy concept from rosetta06:25
carlosto simplify the UI06:25
dafok, my memory is bad06:25
dafI don't remember that06:25
dafcan you remind me?06:25
carlosthe fuzzy does not appears in the stats because that and I think we said it should not appear as a flag when translating for the same thing, simplicity06:26
carloswe show the strings as a hint06:26
carlosor suggestions06:26
carlosthat's why I remember from what we talked at Oxford06:26
dafhmm06:27
dafI see the benefits of this06:27
carlos /s/why/what/06:28
carlos:-)06:28
dafwhat about the use case "I think I know the translation for this, but I'm not sure, so I'll put it in and mark it fuzzy so it gets reviewed"?06:28
carlos[ ]  Finished [ ]  Review and mark finished by default?06:29
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Make test_on_merge.py check test results more accurately (Bug #2155) (patch-728)06:30
carlosdaf: next time we should a fuzzy string it will appear as a hint (when we implement that part)06:30
carlosgrr06:30
carlos /s/should/show/06:31
dafok, but how do we represent "this message set needs review" in the DB?06:31
carlosor we should change it to show also those msgsets wit hte review mark set (it's another option)06:31
carlosfuzzy06:31
carlos:-)06:31
dafhmmm06:31
carlosfinished = iscomplete review = fuzzy06:32
carlosin fact, we could forget about finishe06:32
carlosd06:32
dafI don't think icomplete should be up to the user06:32
dafright06:32
dilysBug 2155 resolved: test_on_merge.py doesn't check exit status, and thus ignores failures.06:32
dilyshttps://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=215506:32
carlosso we should introduce the fuzzy mark (with other name) 06:32
carlosit's ok for me06:32
carloswe can always remove it in the future if needed06:33
dafok, I'm going to write a reply to your email to the list, in light of what we've discussed06:36
dafthis will hopefully help me get things clear in my mind06:36
carlosok06:36
carlosthanks06:36
BradBeeg, malone sucks07:04
BradBthe way the UI is designed i have no real way to resolve a bug.07:04
BradBunless "Closed" is a good way of saying "I fixed this"07:06
=== BradB goes with that assumption (even though it should be "resolved" or "fixed" or something)
dafwell, that depends how you view bugs07:09
dafif it's "a bug is a report of a problem", and the problem is not currently there (because it was fixed, or because the report was innacurate, etc.) then it's valid to say "there is no problem, so the bug should be closed"07:11
dafI've found Bugzilla's complex states a little confusing (closed, resolved, verified)07:12
BradBdaf: one word: "rejected" :)07:12
BradB"closed" conveys very little meaning07:12
spivThere should be a way to differentiate between "fixed" and "won't fix" :)07:13
BradBthere is, in infestations07:13
spivWhat's the difference between "affected" and "victimized"?07:14
=== elmo [~james@82.211.81.249] has joined #launchpad
kikolol07:15
=== spiv looks it up in the dbschema.
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has left #launchpad []
BradBspiv: affected means the bug affects that release.07:23
BradBspiv: victimized means the bug manifests itself in that sp release, but it's actually a bug that comes from another sp.07:24
=== BradB mutters something about libneon
spivBradB: Yeah, I figured it out from the descriptions in the dbschema :)07:25
spivBradB: Btw, test_on_merge.py behaves a bit more intelligently now, as you probably noticed from the commit message.07:26
BradBcool...i can't wait till pqm is fixed so that i can actually see what's failing when i try to merge. :)07:27
dafBradB: rejected because the report is incomplete, or can't be reproduced, or because you don't want to fix it, or for some other reason? :)07:31
dafI think bug tracking is one of those problems that look easy from a distance but are really hairy close up07:31
dafcarlos: ok, sent07:32
=== carlos reads
dafsorry I've been slow on this issue, but I wanted to understand the problem well before making a decision07:34
carlosdaf: no problem, I had other things to do, if I were blocked you would know that :-)07:36
=== BradB is now known as BradB|lunch
=== BradB|lunch is now known as BradB
=== carlos leaves for a while
BradBdaf: what's the db table that represents one localization of a msg id?08:44
BradBit looks like it might be pomsgidsighting, but hopefully there's something clearer08:45
dafI'm not completely sure what you mean, but I suspect you want potranslationsighting08:59
dafdepends whether you want the localisation of the message ID as a whole, or for a particular plural form08:59
BradBhow do i know that the german translation of "hello" is fuzzy, for example (but that the german translation of "hey there", "what's up", and "yo dude" aren't?)09:06
BradBkiko: dude, we need title :)09:10
kikothen kill summary :)09:11
BradByes! (i corrected my question in a followup email)09:11
kikoheh09:12
kikowhy is title needed, btw?09:12
BradBkiko: so that i can see "Mozilla not saving .ch bookmarks" in a listing.09:12
kikowhy isn't that summary, just so I know? :)09:13
BradBEither/or...in its current form though, "summary" is a textarea where you summarize the problem.09:14
BradBThen description is the essay on the bug, heh.09:14
kikothis is bizarre :)09:15
BradByou come from bugzilla terminology, i come from plone collector terminology.09:18
BradBalso, "title" is used elsewhere in LP with similiar semantics09:18
dafBradB: you find the pomsgset which has a (pomsgidsighting which has a message ID of "hello") and a pofile which has a (language which is German) and a (potranslationsighting that's active) and has the fuzzy flag set to true09:19
BradBhm, i don't understand. all that criteria would be met by a non-fuzzy localization of a msg id.09:21
dafahem: "and has the fuzzy flag set to true"09:22
BradBdaf: yes09:22
BradBthere's no fuzzy flag on a potranslationsighting, only on the msg set.09:23
dafcorrect09:23
BradBthus if i'm a non-fuzzy localization, living in a fuzzy msg set, i'm screwed.09:23
dafwhy?09:23
BradBbecause there's no way of knowing that i'm not fuzzy, but some of my buddies in the same po are.09:24
BradBunless i'm missing something.09:24
dafI think you misunderstand what a message set it09:24
dafs/it/is/09:24
BradBnah, it's a cp .pot .po => give to translotor => out comes a message set.09:25
dafit's not a great name (but I didn't choose it :))09:25
dafa PO message set is a collection of a message ID, a possible plural message ID, and the associated translation(s)09:26
BradByep09:26
BradBsome of which might be fuzzy, some not09:26
dafno09:26
dafthe whole thing is fuzzy09:26
BradBwhy not?09:26
dafwhy? :)09:26
BradBwhy? i might be certain on some translations, and uncertain of others.09:26
dafa PO file has many message sets, each of which may be fuzzy09:26
dafeach message ID in a PO file has its own message set09:27
BradBoh09:27
dafyes09:27
BradBi didn't except that09:27
BradBi thought a message set was a set of messages, rather than a set of localizations09:27
dafyeah, the name is a bit misleading09:27
dafblame sabdfl :)09:28
dafI would have called it "message" myself :)09:28
BradBok, so that makes more sense....but what if only one translation of that msg set is fuzzy?09:28
dafwell, I'm still not entirely decided on that point09:29
dafthere's an argument which says you want each indivisual localisation to have its own fuzzy flag09:29
BradBit might be overkill at this point09:30
dafright, I suspect that one fuzzy flag for the set is good enough09:30
dafI'd argue you can only decide that a localisation is correct in the context of the other localisations that accompany it09:30
dafand that any win in control is outweighed by the loss in UI complexity09:31
BradBi would have thought that only the msg id (and "domain"? if i have my i18n terminology correct) matters09:31
dafwell, if you have 3 plural forms, you want the 3 localisations to be consistent in terminology and sentence structure09:32
dafand that's something you can only decide for the message set as a whole09:32
BradBreally? hm, i haven't really faced the issues before, but i would have thought that all i care about as the japanese translator is: 1. the original msg id, 2. its intended meaning (conveyed hopefully by the domain). i would have thought that the way each language deals with conveying that same thing may be wildly different.09:35
dafsure09:35
dafI'm talking about localisations within one language09:36
dafe.g.09:36
dafmsgid "I have one lemon."09:36
dafmsgid_plural "I have %d lemons."09:36
=== elmo [~james@82.211.81.249] has joined #launchpad
dafmsgstr[0]  "J'ai une citron."09:36
dafmsgstr[1]  "Citrons, j'ai %d."09:37
BradBj'en ai %d! :P09:37
daf(excuse my appalling French)09:37
BradBhm09:37
dafthe point is that you want the different translations for the same language to be consistent to each other09:38
BradByeah, i see what you mean09:39
dilysBug 2153 resolved: create-a-bug and too many required fields09:51
dilyshttps://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=215309:51
dafBradB: we should look into integrating Malone with Dilys10:02
BradByes10:03
dafall Dilys needs is some way to be notified when two events happen: a bug is opened, a bug is closed10:04
daffor Bugzilla, it's done through email10:04
BradBdilys: actually didn't quite give enough info there. i marked that bug as "NOTWARTY" when resolving it, because i couldn't think of a better status that expressed "we've already reported this in malone itself"10:04
BradBs/://10:04
BradBdaf: it is in malone too10:05
dafyou've already implemented it?10:05
BradByes10:05
spivThat's why dilys says "resolved" rather than "fixed" ;)10:05
dafI mean email notification10:05
dafDilys doesn't pay much attention to how bugs were closed -- I suppose she could10:05
BradBdaf: yes, that works in malone for all add and edit events for things related to bugs10:05
BradBdaf: it's still using stub's fancy email thing though, which redirects all email to me10:06
BradBbut it's just a matter of changing the zcml to say "send mail to the real addresses that it's addressed to"10:06
dafok, if you can arrange for me to receive all Malone mail for new bugs and closed bugs, I can probably do the rest10:06
BradBi implemented global notification too, so i could easily add you to that10:07
dafit helps if the emails are easy to parse :)10:07
BradBwell, they are, but there's lots of different kinds of notifications10:07
BradBabout 15 in all10:07
dafwell, I could always make Dilys receive them all and ignore the uninteresting ones10:07
dafbut if they can be filtered at source, that would be great10:08
BradBhm, it'd be more consistent to make dilys decide which reports she doesn't care about10:08
BradBimho10:08
dafwell, that's what she does for Bugzilla email10:09
BradB(the subject line makes it easy to figure out which ones interest you)10:09
dafcool10:09
BradBwhat's dilys's email addy?10:15
=== cprov announces nicole has been finished on mawson, notes & not_found files are in /srv/launchpad.ubuntu.com/soyuz
BradBdaf: ping10:25
dafdilys@muse.19inch.net10:27
lifelessBradB: pong10:32
BradBlifeless: woo10:33
BradBlifeless: think you'll have a chance to include full error output in pqm emails today? i can't checkin my changes until that happens.10:33
=== ddaa [~ddaa@nemesis.xlii.org] has left #launchpad []
dilysMerge to rocketfuel@canonical.com/arch-pqm--main--0: implement replay for pqm (patch-13)10:36
=== BradB [~bradb@modemcable165.196-131-66.mc.videotron.ca] has left #launchpad ["Leaving"]
=== BradB [~bradb@modemcable165.196-131-66.mc.videotron.ca] has joined #launchpad
lifelessBradB: send a debug email10:46
lifelesstell me how it goes.10:46
lifelessyou can be my test case (test infrastructure for pqm is ... lacking)10:46
BradBok...he wee go10:47
BradBlifeless: echo -e debug\nstar-merge... right?10:48
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad
lifelessBradB: yes11:02
lifelessunknown commands trigger warnings not errors, you can just put that debug in your script.11:02
=== Kinnison [~dsilvers@haddenham.pepperfish.net] has joined #launchpad
kikowhy is debugging conflicts in arch so painful?11:19
=== Kinnison [~dsilvers@haddenham.pepperfish.net] has left #launchpad []
lifelesskiko: how is it painful ?11:20
BradBlifeless: echo -e debug\nstar-merge "$(tla tree-version)" "$(cat {arch}/+upstream)" | gpg --clearsign | mail -s "$1" "$2" gave:11:21
BradBan email with subject "no valid commands given"11:21
kikolifeless, the fact that conflicts aren't displayed inline combined with the fact that the .rej is a contextual diff makes it *very* tiresome 11:21
kikoI end up rewriting the whole code usually11:22
lifelesskiko: erm. are you using a visual conflict resolution tool ?11:22
lifeless(And if not, why not ?)11:22
BradBi guess it has to be quoted, hm11:22
lifelessBradB: yeah, single quote the lot11:22
kikolifeless, because I want to be able to work on code over ssh and without X?11:22
kikolifeless, it would be essential to have some sort of inline-conflict mode if arch was to be adoptable here.11:23
spivlifeless: I've tried using both vimdiff and meld, but I couldn't figure out how to make it work with the way arch organises things.11:23
kiko(here meaning async where we use svn and cvs)11:23
lifelessspiv: ah. thats not good.11:23
spivThe gnuarch wiki has a rather unhelpful "well, I use emacs" page on the subject.11:24
lifelesskiko: start-merge -t will do inline markers.11:24
kikoit will?!11:24
kikothat's awesome!11:24
spivkiko: Yep, with diff3 (-t for --three-way)11:24
lifelessbut I really want to understand the issues before I consider making that sort of output the default, as it (currently) changes the merge algorithm slightly.11:24
kikoif an option cuts it, I'm happy 11:24
lifelessconsider yourself happy11:25
lifeless:)11:25
=== kiko_ [~kiko@200-206-134-238.async.com.br] has joined #launchpad
=== kiko tla undos
=== daf undoes tla
spivlifeless: I'd love to use a happy shiny graphical merge tool...11:26
spivlifeless: Perhaps there should be a "dealing with conflicts in arch" BoF at the December conference?11:26
lifelessperhaps :)11:27
lifelessmy intuition says that merge resolution tools are inherently orthogonal, and that arch should just setup things for easy use.11:27
spivYeah, I'd expect so too.11:27
lifelessI.E. if we had a script to take foo.c, foo.c.orig, foo.c.rej and make foo.c, that would make kiko happy.11:28
spivExcept for my inability to know how to invoke vimdiff or meld or anything in a useful manner :)11:28
lifelessif we can teach meld how to grok whats there, that would make you happy.11:28
spivYep!11:28
lifelessif we can then publish those lessons, as policy for tla, we can have tla trigger your-favorite-tool.11:28
lifelessare you using baz yet guys ?11:29
spivI'm not.. but I'll fix that now.  deb source on the web page, yeah?11:29
lifelessdeb binary on the web page.11:29
kikolifeless, interesting. when I used -t for inline conflicts I got *less* one conflict than I had originally.11:29
spivHmm, no apt line?11:30
lifelesskiko: as I said, it /changes/ the merge algorithm, in what on the surface is 'good', but actually is extremely dangerous manner.11:30
lifelessdeb http://bazaar.canonical.com/packages/debs ./11:30
lifelessI'll add that to the page later.11:30
spivlifeless: That should be on t-- yeah :)11:30
kikoone second11:32
kikothere's a rule, star-merge and commit.11:32
kikocan I star-merge, solve conflicts and *then* commit?11:32
spivYeah.11:32
kikohow much "solving conflicts" is allowed?11:33
kikoI mean, you could solve the conflict by world-hacking the tree.11:33
spivThe rule is really "merge and commit" in my understanding, and solving conflicts is part of "merging".11:33
dafspiv: yeah, that's my understanding11:34
BradBlifeless: 11:35
BradBSIG_ID kaawvOjzSnhm1MKkzIlT91hn4Tc 2004-11-03 109952096411:35
BradBCommand failed!11:35
BradBAll lines of log output:11:35
BradB(that's it)11:35
spivHeh.11:35
spiv$ baz help | head -111:35
spiv                        tla sub-commands11:35
kikoare you guys getting spurious errors with favicon.ico or is it just us?11:36
BradByes, depends on the browser you're using11:36
BradBe.g. with firefox, yes, with safari, no.11:36
kikowhy is that?11:36
BradBi guess it's up to the browser to ask11:36
kiko_I can't seem to understand your last remark. :)11:37
BradBi guess it's up to the browser to ask...for favicon.ico.11:37
BradBi'm not sure what rfc that belongs in.11:38
kikoI mean, it only fails half the time :)11:38
BradBoh11:38
BradBi was noticing that firefox was requesting favicon.ico where safari didn't seem to be at all.11:38
lifelessBradB: created my MS, not gonna be in an RFC11:39
kikoby the way, also.11:39
kikolifeless, can a set of users share a revlib?11:39
lifelessno11:39
lifelessnot safely and reliably anyway.11:39
kikoon our local net revlibs are going up to 10G..11:39
BradBrevlibs are nasty11:40
kikois there a way to purge them automatically and nicely?11:40
lifelessthats returned by du ?11:40
kikoyes11:40
lifelessgarh11:40
kikothat's for all users.11:40
lifelesssummed together ?11:40
kikoyes.11:40
lifeless# of users ?11:40
kiko4.11:40
lifelessso 2.5GB per user.11:40
kikoright.11:41
lifelessare they greey + sparse ?11:41
kikoindeed, they are.11:41
kikogreedy.11:41
lifelessare they sparse ?11:41
kikoand sparse. that was just my typo comment, sorry to be unclear.11:41
lifelessnp11:42
lifelesshttp://wiki.gnuarch.org/moin.cgi/Controlling_20Home_20Directories_20With_20Arch11:42
lifelesslook for shrink_library11:42
kikoI'll take a look, thanks.11:42
kikoany caveats I should be aware of?11:43
lifelessI haven't used it :)11:44
lifelessoh, don't run it while running tla, things could get confused.11:44
lifelessso put it in a 3am cron job or something.11:44
=== spiv has manually pruned his revlib in the past.
=== daf has nuked his revlib in the past :)
spiv(Not much point having things like the "soyuz" category in there anymore...)11:48
spivAlthough most of the space was in launchpad revisions, so I removed most of the oldest ones.11:49
daflifeless: "Canonical Limited doesn't build these and cannot vouch that they are unadulterated" -- who does provide them and why aren't there official packages?11:50
lifelessthey build on commits to pqm.11:50
lifelessexcept for the rpms (jamesh) and mac debs (justdave)11:50
dafso "Some volunteers make binary packages available." is misleading?11:50
lifelessas to when, well, when soyuz lets pqm upload a source package and get a mini repository automatically populated and build for linux ix86, amd64 & ppc, and rpms for the same.. then we will have official ones.11:51
lifelessdaf: no, not misleading11:51
BradBlifeless: dude, by the way, what's with that pqm mail then?11:51
dafwell, I was misled by it :)11:51
lifelessjamesh & justdave *are* volunteers, and I haven't audited, nor can, their build environments.11:51
lifelessdaf: chinstrap isn't a trusted machine either. I really *cannot* claim that those binaries are trustworthy.11:52
lifelessso - I don't.11:52
lifelessBradB: what do you mean ?11:52
daflifeless: hmmm11:52
BradB[17:35]  <BradB>lifeless: 11:52
BradB[17:35]  <BradB>SIG_ID kaawvOjzSnhm1MKkzIlT91hn4Tc 2004-11-03 109952096411:52
BradB[17:35]  <BradB>Command failed!11:52
BradB[17:35]  <BradB>All lines of log output:11:52
BradB[17:35]  <BradB>(that's it)11:52
daflifeless: to what degree is chinstrap not trusted?11:52
BradBi have no idea what that means11:52
lifelessoh, I thought you meant 'thats fixed' :)11:53
=== debonzi [~debonzi@200-158-107-151.dsl.telesp.net.br] has joined #launchpad
lifelessdaf: its not as secured, nor isolated, as the buildds.11:53
lifelessBradB: can you forward the mail to me please?11:54
lifelessactually, don't bother I know the problem.11:54
BradBlifeless: sure, email?11:54
daflifeless: neither are most machines11:55
lifelessdaf: exactly my point11:55
BradBlifeless: oh, ok :)11:55
lifelessBradB: try again please11:55
=== BradB sends off another request
daflifeless: I understand you're being cautious, but I suspect that warning may be scaring people off11:57

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!