dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: pagetests updated, but still failling locally (patch-712)12:16
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Mostly page fixes. Include bug #2144 (patch-713)12:34
debonzithanks dilys12:36
=== ddaa [~ddaa@nemesis.xlii.org] has left #launchpad []
=== debonzi [~debonzi@200-158-107-234.dsl.telesp.net.br] has joined #launchpad
debonziHi BradB... do you know why the data Ive put yesterday in launchpad_dogfood was deleted?01:46
BradBdebonzi: nope01:51
BradBdebonzi: sounds like somebody screwed something up though.01:52
BradBdebonzi: what data was deleted?01:52
BradBi can see the source packages fine01:53
debonziBradB, the sourcepackage stuff 01:53
debonziuhmm!! 01:53
BradBthey're in there01:53
debonzijust a second01:53
debonziBradB, right.. they are there but the publishing table for them was deleted... thats why I can see them in soyuz01:57
debonziProbably it was done when the available distrorelease was changed from warty to hoary.. 01:58
debonzithanks BradB01:58
BradBno prob01:58
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: cherry pick recommended fix for get-changeset by abentley (patch-18)02:38
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: edit notification additions and fixes, and small UI fixes (patch-714)02:59
=== BradB is now known as BradB|away
=== stub [~stub@dsl-] has joined #launchpad
=== stub [~stub@dsl-] has joined #launchpad
=== doko [doko@dsl-082-082-068-160.arcor-ip.net] has joined #launchpad
=== mako [mako@micha.hampshire.edu] has joined #launchpad
=== ddaa [~ddaa@nemesis.xlii.org] has joined #launchpad
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Fixing id for test-get-changeset (patch-19)09:12
=== ddaa [~ddaa@nemesis.xlii.org] has joined #launchpad
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Input validation for join-branch (joelatrosdahl.net) (patch-20)09:19
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: create a minimal unit test for arch_chatter, and tweak the test Makefile a little to support that (patch-21)09:21
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Cosmetic changes to archive-mirror and cmd-tag (Cameron Patrick) (patch-22)09:24
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Various small star-merge changes (patch-23)09:38
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Grab fixes (Thaeter) (patch-24)09:50
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Automatic changelog tag fixups (Droneaud) (patch-25)10:06
ddaalifeless: running a replay/commit script?10:08
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: --no-greedy-add to buld-cfg (Riiser) (patch-26)10:16
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Changing default inventory options to saner defaults (Walters) (patch-27)10:30
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Adding --silent option to file-find (Bentley) (patch-28)10:36
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Break hard links in set-tree-version (Bentley) (patch-29)10:41
!Md:*! oops... we have lost a main rotation server. sorry for the inconvenience10:47
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Fixed missing exit in set-tree-version (Bentley) (patch-30)10:47
=== lifeless [~robertc@dsl-] has joined #launchpad
=== daf [daf@muse.19inch.net] has joined #launchpad
ddaalifeless: ping10:50
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Try using revlibs with cmd-changes (Bentley) (patch-31)10:52
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Get-changeset fix (Bentley) (patch-32)11:03
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Prevent getting from -MIRROR, _SOURCE, etc (Bentley) (patch-33)11:12
ddaaHaha. #arch is awakening to baz.11:14
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: files other than regular, links and dirs should be tagged precious by default (Johannes) (patch-34)11:18
=== Kinnison [~dsilvers@haddenham.pepperfish.net] has joined #launchpad
Kinnisonelmo: ping?11:23
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Fix the star-merge works only one way problem. With test case (Bentley) (patch-35)11:24
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Give more useful error if the library cannot be created because parent is missing (Johannes) (patch-36)11:30
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Remove incorrect help from inventory -H (Jivera) (patch-37)11:43
ddaahey carlos11:44
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Help cleanup for cmd-changeset.c (Palmer) (patch-38)11:54
carlosddaa: hi11:55
dilysMerge to thelove@canonical.com/bazaar--devo--1.0: Contant time version of DAV file_exists (Bentley) (patch-39)11:59
Kinnisonjblack is on a roll today12:01
jblackYeah. I'll be busy for the next few days.12:01
jblackI'm done for tonight though.12:01
jblackTomorrow the hard work starts -- merging the patches that don't go cleanly.12:02
=== Kinnison has faith
KinnisonHow; if I could have a bloody archive I could set-to getting gina running12:03
ddaajblack: duh, I thought lifeless set up a replay script...12:21
jblackddaa: Nope. those were done by hand, one at a time.12:21
jblackAbout 3/5 of the patches replayed, and about 2/5 didn't. 12:22
ddaaWhat was the strategy? Follow 1.2.2rc2 ancestry?12:22
jblackfor a variety of reasons. I'll go over them starting tomorrow.12:22
ddaaOr start with Tom's 1.2.1 and then merge your patches?12:22
jblackHe started off of lords patchlog pruned gnua tree. 12:23
jblackAlready fixed.12:23
jblackI replayed a patch that put the patchlgos back. 12:23
ddaaI would have hated to see the brain damage spread.12:23
jblackI would have rebelled. 12:23
jblackOh, want the punchline?12:24
jblackApparently Tom knew exactly how evil it was, because he treated himself specially, and _put_his_patchlogs_back_12:24
jblackNobody else's mind you. Just his own.12:25
=== ddaa is suprised by how apathetic the gnu-arch community is... almost no reaction from the announce of baz yet.
ddaaYeah, you told me.12:25
ddaaThat just does not make any fucking sense.12:25
jblackSure it does. Tom wanted to replay. 12:25
jblackHe just doesn't want anyone else to. 12:25
ddaaWhat I said.12:26
ddaaMakes no sense.12:26
jblackI replayed most of jblack@inframix last night. Almost everything went in from there.12:26
jblackThen while I was sleeping, lifeless, not realizing I hadn't finished yet (I had jb@gnua yet to do), applied some other patches.12:26
ddaaBTW, how the release policy going to be like?12:27
jblackSo for the last 3 hours or so, I had to merge dance for the last few hours. 12:27
ddaaAnd the versioning policy.12:27
jblackddaa: If I get to decide, the same as I did the rc/release policy.12:27
ddaaSo, you'd start at baz-1.2.2?12:27
jblackOnce I'm done getting my stuff out of my old archives into baz, then I'll cut a new archive and tag off of that. 12:27
jblackWhat number will we start with? Hmmmm.12:28
jblackDidn't consider that yet.12:28
ddaaThat's an important issue.12:28
ddaaStarting with 1.2.2 will makes it easier to see how it relates to tla.12:28
jblackloaded with all sorts of meaning an innuendo.12:28
jblackddaa: As it relates to tla, it'll be 1.2.3 12:28
ddaaBut it might be perceived as more conflictual.12:29
jblackI've put in 1.2.2rc + 1.2.3rc patches together.12:29
ddaaI would have made sense to just start off 1.2.2, add the missing one-line patch, and release.12:29
jblackHeh. You think development stopped just because 1.2.2rcX was released? Nope. I kept going towards 1.2.312:29
ddaaThe point of it would have been being _immediately_ better than tla.12:30
ddaaAnd giving a release for contributors to tag from.12:30
jblackTalk to lifeless about making the announcement a mere 24 hours after opening up the archive.12:30
ddaaThe early announcement makes sense.12:31
ddaa"We are not hiding anything, you see."12:31
jblackyou can't have it both ways.12:31
ddaaBut, in addition, an early release would have made sense too.12:31
jblackeither its immediately better, or nothing's hid. 12:31
jblackin this case, nothing's hid, so there's a lag time of a few days while stuff goes in.12:31
ddaaStarting off a finished 1.2.2 would have immediately given a production-grade release.12:32
ddaaBut anyway. The choice is made.12:32
jblacktell you what.12:32
jblackIf you want to promise to forward port the patches that are waiting for 1.2.3 after 1.2.2, I'll back them out. 12:33
ddaayou know I can't promise that.12:33
jblackThen I'll have to do it now, before too much gets in.12:33
jblackI'm going to be too busy to forward port 40 patches.12:33
jblacknot to mention the tree will probably move too quickly to do it.12:34
jblackregarding release process, archive setup, et. al, I have to talk to lifeless first.12:34
jblackThere's an impedance mistmatch between the old release process, and lifeless' merge process. 12:35
ddaaBut I still think that the rc process was basically a good idea.12:36
jblackOh, its a resolvable issue.12:36
ddaaProbably we could apply Linus release process here:12:36
ddaafreeze the trunk during rc, so devels will get involved in testing it.12:37
ddaaLike 2 weeks hacking, 2 weeks freezing.12:37
jblackAre you serious? 12:37
jblackLets do something better.12:38
ddaaThe debian release process is notoriously ineffective: keep unstable moving while hoping that testing gets fixed.12:38
jblackGive me until monday to outline a way to do it, which I'll present at the meeting.12:38
ddaaWell, maybe the fact we have paid staff to make it work will help that. But RCs need as much testing as possible.12:38
jblackUh huh.12:39
jblackI don't think that the "freeze to make software better" idea works.12:39
ddaaNot that I am any authority in matters or release process management...12:39
jblackIf that were true, Tom's 6 month freezes would mean that tla would be of very high quality.12:39
ddaaThat was not a freeze, that was a stop.12:40
ddaaA freeze involves RC bugfixing.12:40
ddaaMy two cents.12:40
jblackHere's the process I'm imagining. 12:40
jblackI tag a rc from the tree that is dev-current.12:41
jblackI review all of the patches. That I don't like, I pull out.12:41
jblackI then announce the rc. 12:41
jblackpeople start testing, saying where things are broken in the rc, etc.12:42
jblackdevelopers see complaints, put in patches to fix the rc complaints, which gets pulled into the rc.12:42
jblacksimultaneous with an rc being out, I'm already reviwing the first rc for the next revision.12:42
ddaaI assume you realize that's a massive amount of work...12:43
jblackI'm making the best of the situation.12:43
jblacklifeless seems to think that I can review patches on the backend.12:44
jblackwhich really just shifts the backlog around.12:44
ddaaChi va piano, va sano; chi va sano, va lontano.12:45
jblackDont' forget that eventually I'll have the supermirror equipment too, and I'll be doing that on top.12:46
jblackSo I'll have a bit of fun.12:46
ddaaGo in the direction you think is best. If you get swamped we are not going to wait 6 months before reacting.12:47
jblackWhere I have choices, I'll of course try for what I think is best. ;) 12:48
jblackSo, anything else we need to discuss before I head off to bed? 12:49
ddaaNothing in particular.12:49
jblackddaa: Don't worry. I like having lots of work.12:50
=== ddaa is busy refactoring the backend layer of pyarch...
ddaaDuh... the baz support was the drop that made it urgent to clean up a lot of accumulated nastiness in some dark corners...12:50
jblackand if I consistantly have more than I can realistically do, we'll figure something more sane out.12:50
ddaaIt's a lot of work to figure all the details out...12:51
ddaajblack: g'night....12:52
jblackddaa: Thats ok. You'll do fine. :) 12:53
Kinnisonelmo: reping?01:04
=== debonzi [~debonzi@] has joined #launchpad
jblackwhich airport is right for south kensington? LHR ? 01:42
Kinnisonyeah LHR is good01:42
debonzijblack, hi man01:44
jblackheya debonzi01:44
debonzijblack, how is it going?01:44
jblackpretty good. Just realized how close the arch sprint is01:45
debonzijblack, yeah.. the time flies :)01:46
jblacktravelocity can't find me a 3 leg hop.01:47
debonzijblack, ahh, btw... do you know how to describe me that "problem" when tla wants to merge some modifications that was already applied?01:47
jblackdebonzi: Yes. That happens if you star merge rocketfuel before rocketfuel is done star-merging you.01:48
debonzijblack, yes.. this I know and I happily did't get this anymore :).. but there is a guy that have a tag from cprov and got this problem.. he ask me what should he do to avoid it but I could not explain01:49
debonzijblack, and there is no pqm involved.. or better, cprov is the PQM :)01:50
Kinnisonhey debonzi.01:51
debonziKinnison, hi01:51
jblackdebonzi: He should only merge to and from one guy.01:51
Kinnisondebonzi: is it possible for anyone but elmo to update the archive on mawson?01:51
jblackAnd to make sure that he and the other guy doesn't merge each otehr at the same time01:51
spivjblack: And that their mirror are up to date before merging?01:52
debonzijblack, right.. I know the guy only star-merge from and to cprov..01:52
debonziKinnison, I don't know.. sorry01:52
=== Kinnison is doing other stuff in the meantime; but I can't do the gina run on mawson until the mirror actually has hoary in it
jblackoh my.01:54
jblackspiv: correct.01:54
jblackdebonzi: Then probably they merged each otehr at the same time.01:54
KinnisonI thought star-merge was meant to cope with this01:55
spivKinnison: Teehee.01:56
debonzijblack, probably because the mirrors should always be up to date since both are using hook for it 01:57
jblackKinnison: Can't. 01:57
debonzijblack, so, a right way to handle it could be: both working in diferent things and commiting. At a given time on star-merge from the other and when it is finished, commited and mirrored, the other one can make the star-merge.. right?02:01
jblackexactly right.02:01
debonzijblack, and if after the firt one finish the star-merge the second one work a little more, make some commits and only then make the star-merge. Is it ok to?02:03
debonziright.. Ill talk about it to them.. thanks jblack02:04
=== kiko [~kiko@] has joined #launchpad
carlosdebonzi, kiko: Is it normal that when using the launchpad sample data celso gave me and going to http://localhost:8086/soyuz/distros/ubuntu/src/warty/apache/1.3.31-6 postgresql and launchpad start eating all my CPU and IO channel?02:38
ddaahey spiv02:39
ddaaI'm reorganizing the pyarch backend model.02:39
ddaaThe twisted stuff used to live in arch._twisted, now I'd like to move it to arch.backends.twisted.02:39
debonzicarlos, it not normal, but sometimes it happens... cprov has done some work to get it better.. are you up to date with rocketfuel?02:40
ddaaHowever, that would cause a name conflict.02:40
carlosin fact, my postgresql is mad now, with launchpad stopped it continues eating my CPU...02:40
carlosdebonzi: yes02:40
ddaaspiv: any idea for a better name? arch.backend.twisted_process is a bit of a mouthful imho.02:40
debonzicarlos, will try to firgure it out..02:40
kikocarlos, sound like a broken query; I did post a fix to that I believe02:40
kikoor was it salgado?02:40
ddaaand things like arch.backend.reactor or arch.backend.meltdown not really obvious imho.02:41
kikocarlos, at any rate, let me get salgado on it02:42
ddaaMaybe arch.backend.untwisted?02:42
=== salgado [~salgado@200-206-134-238.async.com.br] has joined #launchpad
spivThe Twisted bits of pyarch only affect process handling?02:42
kikosalgado, dude02:43
kikowith the sampledata cprov has given carlos02:43
spivI guess I'm fuzzy about what "backend" means for pyarch :)02:43
kikohttp://localhost:8086/soyuz/distros/ubuntu/src/warty/apache/1.3.31-6 02:43
spivIt's a very generic term.02:43
kikosalgado, pgsql starts blowing up 02:43
ddaaspiv: yes, that's essentially a ProcessProtocol and a thread-side blocking API.02:43
kikocan you look into it? it's probably a query missing a join clause02:43
carlosThat's the file I'm using02:43
kikosalgado, debonzi: which brings me to the matter: I think we should start considering using views to avoid this sort of problem02:44
ddaaspiv: in the case of pyarch that's going to be all the stuff that relates to interfacing with tla, baz, and the mythical libarch.02:44
spivOk, they feel like different things to me.02:44
salgadokiko: I've just had the same problem02:45
spivIf anything, the twisted support is a layer between tla/baz and the rest of pyarch.02:45
ddaaWhich is going right now to include the command name (tla/baz) the spawning strategy (pyarch/twisted) and the process logging (silent or debug).02:45
kikosalgado, fixes and merges appreciated02:45
=== carlos -> lunch
salgadokiko: I was waiting the notie come back to life to fix it02:45
spivRather than at the same level as tla/baz.02:45
kikosalgado, if you want you can just tag off debonzi or mail him patches for fast merges02:45
=== Kinnison -> town
ddaaspiv: yes, but all those different things are somewhat tightly coupled.02:45
salgadokiko: ok02:46
kikosalgado, but seriously, I think we should talk about using a view to simplify this02:46
kikoI think we are forgetting join clauses too often..02:46
ddaaThe cli interface depends on process spawning, which depends on cli logging...02:46
ddaaAnd the process name stands somewhere in the middle of that.02:47
ddaaSo, from pyarch perspective, they are quite the same hairball.02:47
spivkiko: Is this related to clauseTables?02:48
ddaaspiv: but what you are saying is essentially correct. Only twisted/pyarch is only one axis of the backend configuration.02:48
kikospiv, I don't think so, I didn't review that part of cprov's crack yesterday, I'll only have time to look at it tomorrow02:48
kikospiv, did anything like that land?02:48
ddaaspiv: so, any kind of conventional name for this sort of thing in the twisted world?02:49
spivddaa: Right.  So, not being an expert in how pyarch works, I'd naively expect there to be pyarch.spawning.{twisted,popen}, pyarch.cli.{tla,baz}, etc.02:50
=== debonzi [~debonzi@] has joined #launchpad
=== ddaa ponders
debonzicarlos, for sure there is a problem there.. it killed my machine.. :(02:51
ddaabtw, PyArchSpawningStrategy is not based on popen. It's doing the fork/exec and pipe handling itself.02:51
spivkiko: No, but I was just curious, only half-listening to what you were saying to salgado... I saw you say something about joins, and wondered if it was related.02:51
spivddaa: pyarch.spawning.diy then ;)02:51
spiv(Plus I haven't seen a reply to my post to the launchpad list about it)02:52
ddaaMh... the point of arch.backend is that there needs to be a single place to glue all the parts toghether.02:52
kikospiv, I saw it but haven't discussed it yet02:53
ddaaAnd anyway arch.spawning.twisted is not going to help the fact that I cannot import twisted from there!02:53
ddaaWhat is annoying me is that name conflict.02:53
spivOh, right, now I get what you were asking about.02:53
ddaaAnd please do not give me any of that sys.module crack :-)02:54
spivNo, I don't know of any conventions for this.  Relatively few projects don't go 100% twisted.02:54
spivHah, no :)02:55
spivPython's import stuff is frustrating enough  ;)02:55
spivpyrad has a module called "curved" for this purpose.02:55
ddaaspiv: so, what would be evocative to a twisted person?02:55
ddaa"wedged"? :-P02:55
spivAn obtuse Monty Python, Pokey the Penguin, Isometric reference ;)02:56
spivs/, I/, or I/02:56
spivddaa: Most of the Twisted devs are mildly obsessed with webcomics.02:57
ddaaI terrible lack culture in all those domains.02:57
spivI'd say "knotted" would be good.02:57
spivAnd then you can tell people to "get knotted" ;)02:57
=== ddaa misses the reference
spivIt's english slang, similar to "get stuffed" I guess.02:59
ddaaThat's something involving penetration I guess.03:00
spivSimilar to "get <insert random verb here>" ;)03:00
ddaaIn french, "noeud" (knot) is slang for penis.03:01
=== kiko is now known as kiko-afk
ddaaOkay. Sounds good.03:01
debonzispiv, can you help me to check one query?03:02
ddaaMind if I give credit for the name?03:03
kiko-afkit's a trade secret!03:04
spivdebonzi: Sure, but I'm about to duck out for 10 min.03:06
debonzispiv, it very fast I think.. 03:06
spivSo either be fast or patient :)03:06
ddaa"""Twisted process handling.03:08
ddaaThe name of this module"knotted", was suggest by Andrew Bennets as a03:08
ddaaway to avoid the name clash with the "twisted" top-level package:03:08
ddaa<spiv> I'd say "knotted" would be good.03:08
ddaa<spiv> And then you can tell people to "get knotted" ;)03:08
spivddaa: Hehe.  But my surname has two "t"s :)03:08
ddaaI disclaim all responsibility for the bad taste of Twisted devels :-)03:08
ddaaOoops. Fixed. Thanks.03:09
kiko-afkstub, are you around?03:12
kiko-afkstub, debonzi and I are this weekend going to move some queries into views03:14
kiko-afkwe've got a lot of massive joins and the code is kinda unwieldy03:14
stubSounds sane03:14
kiko-afkwhat's your take on this?03:15
kiko-afkwe'll probably drop some sql on your lap sometime soon then03:15
kiko-afkbtw, did you get my index request?03:15
stubYup - that went in the last patch, yesterday I think03:15
=== kiko-afk perf munster
lifelessjblack ddaa we are working towards 1.0. Sorry to beat you to the punch, but I needed a decision when tagging.03:21
jblacklifeless: Pardon? 03:22
jblackOh, you mean uh, baz version #.03:22
jblackWhatever you want to start at is cool with me.03:22
ddaaI'm not sure that the namespace version excludes anything for the release version.03:22
ddaaBut 1.0 is certainly less controversial, even if less evocative.03:23
lifelessddaa: true, but having 1.0 in the namespace makes 1.0 as the release natural ond abvious to folk.03:23
jblackThe starting number isn't the part I'm thinking about atm.03:23
jblackthe part I'm thinking about is the potential falling behind between what gets into dev and what I review before making an rc.03:24
ddaaBTW, maybe 0.9 releases would be in order until we have redone the command set. What do you think?03:24
ddaaBecause we are surely going to redo the command set...03:24
lifelessjblack: thats release policy. I don't have a strong opinion on what we should do there yet, so I'll be seeking input.03:25
lifelessddaa: well, 1.0preX releases are equally visible to the user.03:25
lifelessI think we need to set a few feature goals for the first release, and then a timeframe for that.03:25
lifelessthat will give us structure to consider the other priorities in.03:26
jblackpreferably XrcY, acceptably XpreY, but XpreXrcY, yuck no.03:26
ddaaApparently jblack's feature goals are "whatever was scheduled for inclusion in 1.2.3"03:26
ddaaI think that a quick release is a damn good idea.03:26
jblackYeah. I want that code out. 03:27
lifelessddaa: I asked jblack to incorporate all of that work, and hes' doing a great job of doing so.03:27
=== debonzi will be back in a minute
ddaaIf I were in jblack's shoes I would have made the first release the equivalent of 1.2.2-final.03:27
lifelessjblack: remember that when you review 'on the backend' - you are doing a final sanity check - any patch has already been 'oked' by one of us four.03:27
lifelessddaa: we don't have a release manager for bazaar 03:27
jblacklifeless: Um, lifeless, here's the problem....03:28
jblackPeople make mistakes. _frequently_. 03:28
ddaalifeless: we are going to make releases, aren't we?03:28
jblackFrom arch experience, the accuracy rate on patch submissions for high calibre people is about 90%.03:28
ddaaEternal Beta is not what the community needs.03:28
lifelessddaa: act.03:28
lifelessddaa: ack.03:29
ddaalifeless: ?03:29
jblackThat means that if there's 10 revisions that haven't been looked at by at least two people, the chance of a serious problem is very high.03:29
lifelesscan we unmultiplex these conversations. jblack - lets focus on the process stuff.03:29
jblacksure boss.03:29
lifelessjblack: which is what you are talking about :)03:29
ddaaSo, releases w/o release manager? Sounds... risky...03:29
=== stub [~stub@dsl-] has left #launchpad []
lifelessI was just putting ddaa's stuff to the side.03:30
jblackHere's the cycle I envision.03:30
=== ddaa goes back to turning pyarch guts upside down.
lifelessso. there are two ways of addressing the review bottleneck.03:30
lifeless(two fundamental ways).03:30
jblackI get an Xrc out. While Xrc is being reviewed for 1~2 weeks, I'm reviwing for X+1rc. 03:30
lifelessa) scale out the review process into lieutenants.03:30
jblackIf a fix is needed, it goes into devel, and I merge it into both rcs.03:31
lifelessb) allow the review process to lag the development03:31
jblackLong term, yeah. We can do that with buddy systems.03:31
lifelessnow, the process I've introduced here has both element.03:31
jblackWe pair frequent developers up, and they check each other.03:31
lifelessa) - there are 4 lieutenants - you, me, ddaa, bob2.03:32
lifelessb) - the review is allowed to lag, but we have a nominated reviewer who will check.03:32
lifeless(you for now, if your bandwidth is wide enough)03:32
jblackyes, it is03:33
lifeless(when I say 'for now' - when we get this dedicated C programmer, I'm expecting to make this his|her problem)03:33
lifelessso the question that matters w.r.t. 'released code' is: how many layers of review are enough?03:34
jblack(btw, I like that)03:34
jblackWhat level of quality do you want? 03:34
lifelessBoth you and Tom, in series, for the 1.2.1 release accepted bugs.03:35
lifelessso 2 reviewers obviously isn't enough :)03:35
jblackIf we start with a accuracy rate of 80%, and assume that each developer cuts the error rate in half...03:35
jblack(the original submitter counts as reviewer 1) 03:36
lifelessSo, what I'd *like* - and here is where we can debate about if its doable - is for us to aggresively introduce things to increase that quality per reviewer.03:36
lifelessI've put a unit test suite into libarch now, that is easy to extend.03:36
jblackI don't get you.03:36
lifelessSo, when *I* review stuff, I'll be writing tests.03:36
lifelessI hope my accuracy rate will be ~ 95%.03:37
ddaatest cases, test cases, test cases03:37
jblackYou're not that good.03:37
lifelessdude, I'm better than that, but I have multiple priorities.03:37
jblackTrust me. You're not. You're one of the three best, but you're not 95%.03:38
=== lifeless shrugs
lifelessI've run enough projects, and know how often I need to back out changes I thought were good, to have a pretty good idea of how good I am.03:38
lifelessanyway, leaving that aside, the goal I'd like us to reach is an 80%-90% code path coverage on the tla code base.03:39
lifelessin terms of test cases.03:40
jblackI agree.03:40
lifelessthat sort of coverage allows rapid review.03:40
lifelessrather than hour long code path picky sessions.03:40
jblackI'm not sure how we measure that metric though. 03:40
lifelessgcc compiler coverage tool.03:41
lifelesstells you what parts of a binary are exercised by a specific code run.03:41
jblackYeah. I'm looking at the man page. 03:41
jblackOk. That answers that.03:41
lifelessso, I'm confident that good coding style from our changes, which will be the bulk of 'risky' changes, will address the quality aspect.03:42
lifelessbut, we have a window between now and the test suite being mature, which is higher risk.03:42
jblackNo sir.03:42
lifelessits not higher risk ?03:42
jblackWe may be able to cover the code base, but we won't cover some of the most important things.03:42
jblackPrevious comment.03:43
jblackIn fact, the test suite can catch most everything but the most dangerous changes. Unintentional compatibility changes.03:43
jblackat least not with a conventional test kid.03:44
lifelesserm, the test suite can absolutely catch those. you run the previous version test suite against the newer version code.03:44
lifelessthats a few hours work to setup a script to checkout & copy in the right things.03:44
lifelesswe need an archive format test suite, for all these implementations floating around.03:46
lifelessthat would be (IMO) a good third party project, perhaps one we could kick off under the bazaar umbrella.03:47
jblack Yes, we do.03:47
jblackBug out on archive format, warn on library and working tree03:47
jblackOh, and bugout on changesets.03:48
lifelessor flag to choose :).03:48
lifeless'I care if I broke anything'03:48
lifeless'I care if I broke archives'03:48
jblacksame difference, as long as those are the defaults. :) 03:48
lifelesslet me fire up a browser, gonna note that down on the wiki03:48
lifelessok, I've noted that so we won't forget .03:50
jblackAnother issue that needs discussing real soon is divergance.03:50
lifelessso the bottom line on this review thing: I absolutely want the 4 of us able to commit when we are happy with what we want to commit.03:50
jblackwe're developing at a different rate. developers very quickly are going to have to decide which tree to target, and port to the other tree.03:51
jblackeven if the code is conceptually similiar, patch just ain't very smart.03:51
lifelessas long as we are able to do that, I will happily entertain discussions on ways to increase the amount of peer review, and reduce the lag from commit -> review.03:51
lifelessjblack: right. 03:51
jblackok. peer review.03:52
jblackOne thing we could do is put up a website with the revisions in -dev listed. 03:52
lifelessarchzoom ?03:52
jblackdevelopers are listed one way, revisions another.03:52
jblackin a table.03:52
jblackin each field of a table, there is a Good and a bad tick. They can tick either one. If X number of developer tick good, it goes in. if anybody marks bad, its pulled out.\03:53
jblackSay a Good/Bad/Undecided radio03:53
lifelesserm, too complex.03:53
lifelessthis has to be -simple-. Thats why I made you post-commit 'nazi', cause thats real simple.03:54
jblackOk. I'll try and come up with a simpler way to parrallize.03:54
kiko-afkwhere's the eggmeister03:55
jblackI mean, sure, we can add as many developers as you want, and keep it serialized (and thus very simple). 03:55
lifelessright. My criteria are: we commit when someone with commit rights is happy. (If they aren't trustworthy to decide whats good & whats not, we pull those rights).03:55
lifeless  any processes we introduce on top of that need to be dead simple.03:55
jblackhow about an email to with a subject along the lines of "Q--R--V-N good" or "Q--V--R-N bad"03:57
carlosdebonzi: your patch fixes the problem, thank you03:57
jblackon the other end is a procmail script.03:57
lifelessemail to ?? with 03:57
lifelesswhats the good email for ?03:57
jblackto count reviews.03:57
lifelesssounds like the same idea, just via email.03:58
jblackWell, we have to count good reviews, otherwise we can't distinguish between whether or not a patch has been reviewed, or just neglected.03:58
debonzicarlos, cool .. :)03:58
lifelessI think the email thing has merit... what about a pqm command 'revert' to revert out a commit - and everything past it if the patch won't replay --reverse cleanly.03:59
jblackTHat works for "QVRN bad". (In fact, I like that)03:59
jblackBut the alternative to counting goods is counting time, and then we're just hoping somebody looked in a window.04:00
jblack(within a window)04:00
lifelesswe've limited resources right?04:00
lifelessand a huge pool of contributors in theory.04:01
jblackthe subset of reviewers is much smaller.04:01
lifelessright, so its inevitable they will get swamped.04:01
jblackThe process needs to handle every revision as if its a complicated star-merge fix.04:01
lifelessthats overengineering.04:01
lifelessleave room for the humans to be motivated and interested in the thing.04:02
jblackwant me to unpack that? 04:02
jblacksimple revisions get reviewed quickly and often.04:02
jblackthey are, after all, obvious.04:02
jblackdifficult revisions don't. They get put off because they're difficult. "I'll dive into it later, after coffee...dinner...sleep...etc"04:03
jblackso the patch that needs review the most inevitably ends up getting reviewed the least.04:03
jblackSo if we rely on a timer, we need to set the timer for the amount of time necessary to make sure the most difficult patches get looked at.04:03
lifelessno, we don't.04:03
jblackbecause if we set it towards the simle ones, the simple ones will fly by and get checked, but the tough ones won't.04:04
lifelessthats what I meant by overengineering.04:04
lifelesslets walk an example complex patch through.04:04
lifelessabentley's backbuilder for instance, which he is interested in getting into a mainline tree.04:04
lifelesshe has to convince one of us to merge it.04:04
jblackatm, yes04:04
lifelessthat means, that one of us has to give it a proper review before it goes in.04:05
lifelessif the reviewer doesn't feel 100%, they won't merge it. And they can ask someone else to help, or to co review.04:05
jblackOk. Lets say we do that.04:05
lifelesswe're all sensible people. You know when you need an extra pair of eyeballs to decide something. Trust in that, for yourself, and for the rest of us.04:05
jblackwho's in charge of tracking that patch for review? 04:06
lifelesswhoever says to abentley 'I'll review that'04:06
jblackwho's in charge of saying "nobody's merging this, so I need to chase it down to get somebody to say the buck stops here" 04:06
jblackso instead of me simplying doing mutt pqmaster@hbd.com -s "aaron.bently@panoramicfeedback.com--2004/baz--devo--1.0--patch-43 good", we're going to have people running around in a disorganized manner, seeking out patrons, and the patron seeking out super patrons, and so forth and so on? 04:08
lifelessdo you see my point? we can swamp ourselves in process when we have more committers - and thus more reviewers. I'm sure the community @ large will have an opinion by then.04:09
lifelessjblack: exactly.04:09
jblackOk. Lets do it your way for now.04:09
jblackI think you'll change your mind eventually, though. :) 04:09
lifelessin other news, I've done up a baz diff, heading towards the strawman cli's 'diff'04:12
lifeless(I needed something to hack on in the train :))04:13
lifelessanyway, ddaa - you wanted to talk release process.04:13
lifelesslay it on me.04:13
=== ddaa reads backlog
ddaapoint on the discussion that just ended: jblack, I believe we can give a chance for the community to self-organize.04:15
jblacklifeless: I just had a crazy thought. :) 04:15
jblackWhat if we stood pqm on its head.04:16
jblackInstead of waiting for merge commands, what if it scanned other trees, and if it saw a revision in more than X trees, it merged into -dev? 04:16
ddaalifeless: so, I was saying "we want a quick initial release and frequent releases after that".04:16
jblackI.E. if abentley's patch-5 shows up in my tree, and ddaa's tree, then pqm merges it, and it comes down the pipe to everyone else ?04:16
lifelessjblack: I think thats a cool idea, for crack of the day, but it shouldn't be the devo tree.04:17
lifelessthat could be 'experimental' or 'premerged' or something.04:17
jblackreasoning? 04:17
lifelessI want simple, but human.04:18
jblackultimately, it is human.04:18
lifelessthats complex (heuristics)04:18
jblackIt doesn't go in unless X number of trusted people already merged it locally.04:18
lifelessit also means you'd need to be using replay --skip-present as the merge operator.04:18
ddaalifeless: I think a good feature goal for 1.0 whould have been "complete tla-1.2.2". Now jblack is merging the 1.2.3 stuff, so "what was in the pipe for 1.2.3" is still a good release goal to start with. A early release will give something to use and tag from to contributors.04:18
ddaaAlso you said there is no release manager. So I wonder how we can make regular and reliable releases w/o that.04:19
lifelessddaa: 'complete tla 1.2.2' would be a tla process dig. we're not going there.04:20
lifelesswe may well need a release manager. but I haven't assigned one at this point.04:20
ddaaMh. Not sure I understand... pragmatically that is the best thing to start with...04:20
jblackthen I'm confused about what I'm supposed to be doing.04:21
jblackbecause I thought I was supposed to be reviewing for release.04:21
lifelessno, you are reviewing full stop.04:21
ddaaAnd "what would have been 1.2.3" is equally a "process dig". But ultimately baz itself is a "tla process dig".04:21
lifelessddaa: we can avoid having that comparison drawn until we are an established meme, if we are careful04:22
ddaaSo, you are saying "we are not making a release in the forseeable future"?04:22
lifelessI'm saying thatL04:22
lifelessI'm saying that:04:23
lifeless* I haven't thought deeply about release schedules etc. And I'm taking input from you guys right now.04:23
ddaaThe GNU Arch community is totally ripe for accepting baz at the moment. I really think that's the good time for a release. Tell me that you disagree.04:23
lifelessWe should also get some input from the arch community, and I'll email them to ask once we've bounced this around a little.04:24
lifelessone sec04:25
ddaaI assume that is going to have mostly good feedback. If I am correct, we could put out a RC in say, two weeks?04:25
jblackpersonally, I think we're in a fight against time.04:25
ddaaI do not think that's a fight against time.04:25
lifelesswe are absolutely in a fight against time.04:25
jblackTom's not going to stand by idly, regardless of the semantics you use. He's going to sabotage this.04:25
lifelesssvn is gaining traction 'out there'.04:25
jblackThat's what patch-log pruning was all about.04:25
lifelesseven folk that love arch will spend an entire meeting bitching the UI,04:26
ddaaI just see that people in the community are waiting for someone to stand up. That's the Right Time.04:26
lifelessddaa: releases don't make the difference here. patch merging does.04:26
jblackddaa: Not in my experience.04:26
=== jblack agrees with lifeless
ddaajblack: I'm say that now is the time. Not that it was the time before.04:27
lifelessjblack did patch merging, and from what I saw, folk flocked to feed him patches.04:27
ddaaSorry typo.04:27
ddaaBecause he was working on tla and they was seeing the release coming.04:27
ddaaCurrently bas is vapor to the community.04:27
lifelessI'm willing to bet that if we did out first 'release' in 3 months, we'd have 50%-60% of the arch developers using and contributing to bazaar by then, and some large % of the community also.04:28
ddaaWe put a release out and suddenly we are there and in good shape.04:28
jblack3 months? 04:28
jblackyou want to wait until 2005 for a release? 04:28
lifelessI'm not proposing that as such, I'm simply putting it out there: the release aspect is not the rush for us, right now. IMO the rush right now is the user interface.04:29
ddaaI'm willing to bet that if we make a release soon, either Tom amend his proposed release process or we have 80% of the devs in 3 months.04:29
jblackI want a release candidate by friday, and a release by the friday after.04:29
lifelessddaa: releases have pros and cons.04:29
ddaalifeless: I'm listening to you.04:30
jblackbtw, you're both right.04:30
jblackHere's how04:30
lifelesswhen we do a 'release', expectations will be set about ...04:30
=== lifeless waits
jblackrelease drive users. development drives developers to develop more. developers are also a subset of users.04:31
lifelessusers will happily use auto-built binaries. ALL the tla users I know in SLUG here use asuffields daily builds.04:31
lifelessthats users: not developers.04:31
jblacklifeless: Ok. Well then, can you explain to me why the download rate for tla goes up *hugely* whenever a release or a release candidate goes up? 04:32
lifelessthats probably me being rong.04:32
ddaaI must be some kin of maniac then. I use releases almost exclusively.04:32
jblackddaa: For normal use, so do I.04:32
lifelessok, I'm convinced. we'll start releases soon.04:32
=== Kinnison uses whatever apt-get gives him :-)
lifelessLets define soon in a minute.04:33
=== lifeless paints Kinnison purple
ddaaa VCS is something way too mission-critical to use "maybe broken" and untested versions of.04:33
=== Kinnison sneezes on lifeless
lifelessI want our releases time based, with feature goals.04:34
lifelesslet me explain why, and you can try to change my mind.04:34
jblackddaa: Yeah. That's why I think the "lets hope review happens" dump-every-thing-in-the-tree-and-review-after-the-fact is a colosal screw up.04:34
lifelesstime based gives users regularity, an expectation of when they can have a supported release with their per bugfix in it.04:34
=== ddaa is skeptical, time-based/feature-based seem to be a "pick one" choice.
lifelessddaa: we just released a freaking linux distro that was time based with feature goals.04:35
lifelessWe've got a fantastic example of how to do it all around us.04:35
ddaajblack: I can use a rc VCS with some precautions if I am not too much in a hurry. After he has passed the eyeballs test.04:35
lifelessthe feature goals thing stops the developers freewheeling, in a positive way.04:36
ddaa*after it04:36
jblacklifeless: We're not doing a gnome app here. We're doing a revision control system. One archive eating bug sneaks into a release, and we'll pay *dearly*04:36
jblackIn fact, we'll prove to the community that Tom's snail pace is correct.04:36
lifelessdude, tom has released more archive eating bugs in tla than anyone else.04:36
lifeless(thats 2, IIRC).04:37
ddaalifeless: you may have noticed that several feature goals have been backed out to honor the deadline...04:37
lifelessddaa: true. thats why its 1) time based, 2) feature goals.04:37
jblacklifeless: I think the method you want will have more, not less.04:38
ddaaMh... so it's time-based to decide what to put in or not, with feature goals to set priorities?04:38
spivddaa: Yes, that's the point... they're goals, they give direction to development, but the deadline is still the priority.  That's my understanding :)04:38
jblackThey'll pick "2 over 2 years" over "3 in six months"04:38
lifelessddaa: exactly.04:39
spiv(and because the next release already has a deadline in the not-too distant future, pushing a feature back one release doesn't hurt too badly)04:39
lifelessjblack: we've a track record of 0 releases so far.  give me some credit as project lead ok? I'm not using this to exercise random project theories.04:39
ddaajblack: I think there are enough arch saviness and paranoia among the three of us that if we all say "I'm sure there is no archive-damage bug" we stand against pretty good odds.04:39
jblacklifeless: Just so long as you understand that I'm not making any guarantees on the process you've setup.04:40
ddaalifeless: okay, about the time-then-features.04:40
lifelessjblack: if you do what I've asked, I will be happy.04:41
jblackI'll try my best.04:41
ddaaSo, about the first release. When and what?04:41
lifelessso in 3 weeks we hit london for a two week sprint.04:41
lifelessI think a good time for the first release is in 5 weeks.04:41
=== ddaa notes that soon has an interesting value there...
lifelessthat gives us time to get a couple of small but significant features in play, get some traction in the arch developers, and be confident in what goes out.04:42
ddaaI am not really convinced that a sprint is the right way to put out a _release_04:42
lifelessddaa: 3 weeks from a cold start means, if we do 50-50 code & stabilise, 1.5 weeks to do code in.04:43
=== ddaa stands on his position that just merging what's almost ready is a good thing to do in the first release.
lifelessif we do 66-33, thats 2 to code in.04:43
lifelessddaa: that would send a very wrong message.04:44
Kinnisonit'd send a bad msg. regarding the ui04:44
lifelessmiles bader asked 'what is baz, it looks just like tla'.04:44
Kinnisonour first release *must* be visibly and palpably different in the UI front04:44
=== BradB|away is now known as BradB
jblackso what if he asked that?04:44
jblackHe won't be asking that for wrong.04:45
ddaaOkay. I buy that we need to change the color of the bike shed first.04:45
jblackfor long04:45
Kinnisonso three weeks to merge stuff and stabilise; then a two week sprint to sort the UI out; release-candidate at the end of the sprint... one week... release ?04:45
Kinnison(says he, rambling entirely uninformed :-)04:45
lifelessddaa: we need to change the bike sheds size and shape, f*ck the colour.04:45
lifelessjblack: sure, my point is our first release is a statement about our conviction to our mission.04:46
ddaaSo. What is the release goal you have in mind, in addition to jblack's backlog?04:46
lifelessKinnison: 5 week schedule would be '3 weeks code like crazy, 2 weeks to sort out any issues, release at the end'.04:46
lifeless@ the sprint, we'd be working on the next release after.04:47
ddaaI'd think something that would set it straight would be reorganizing the UI>04:47
lifelessddaa: right.04:47
ddaaI mean the command set.04:47
ddaaFewer, more relevent commands with options.04:47
lifelessjblack: ok, night. looks like we'll have a straw man release process before long...04:48
Kinnisonlifeless: I think the "rc, wait 1 week, stamp the official release" process is good04:48
ddaae.g. "baz cat-log [-d DIR]  [--library|--archive]  [spec] " where spec can be a simple patchlevel if the directory is within a tree.04:48
lifelesslibrary vs archive shouldn't be there.04:49
ddaastuff like that...04:49
lifelessit should just work.04:49
lifelessbut yes.04:49
ddaaLow risk.04:49
lifelessnuke cat-archive-log.04:49
ddaathe log from the archive can me different from the log in the library can be different from the tree.04:50
ddaaSo we need all the options.04:50
lifelessactually, we don't. library is by definition == archive, or the library is corrupt.04:51
ddaaThey _should_ not be different, but the devil is already out of the box.04:51
ddaaExcept logs can be mutated.04:51
lifelessoh damn, ..04:51
lifelessforgot about cached log vs log in resulting tree.04:51
ddaayou are correct about archive/lib btw...04:52
ddaaSo, there is still the need for one option... --canonical... errr scrap that!04:53
ddaa--revlog ?04:53
ddaaWell... we agree on the general direction.04:53
ddaaWe can hammer out the specific with our pool of very demanding users.04:54
=== ddaa radiates enthusions
lifelessbaz log [-r spec]  [--archive]  [path] 04:55
lifelessis what I would propose04:55
=== Kinnison absorbs some of the enthusions and slowly becomes interested in the world again
Kinnisonlifeless: yay, simple short command names rock04:55
Kinnisonlifeless: if baz could end up feeling as easy to use as perforce does, then it'd be ace04:55
lifelessKinnison: show me perforce some time04:55
ddaalifeless: log would be confusing with logs. And the spec is the commonly used argument.04:55
lifelessddaa: in tla.04:56
Kinnisonlifeless: I could come down to london in the middle of the arch sprint and show you if you like04:56
Kinnisonlifeless: at the w/e04:56
lifelessKinnison: love to have you 04:56
lifelessrock up04:56
=== cprov [~cprov@] has joined #launchpad
lifelessddaa: use case : show me the logs for 'configure.ac'04:56
ddaalifeless: If we need to hammer out all the uses cases, we are not going to make it.04:56
lifelessddaa: the simplearchcli page has a huge number already hammered out.04:57
lifelesswe could take a couple of commands, and just /do those/.04:57
ddaause case: show me the details of patch-4204:57
ddaain your use case, --archive is superfluous04:58
lifelessddaa: yes, but its needed because tlas semantics on {arch} are problematic.04:59
ddaaand maybe my use case could use a "revlog" command instead.04:59
lifelessso, your use case:04:59
ddaaThey are clear to me.04:59
lifelessbaz log -r patch-4204:59
lifelessmy use case:04:59
lifelessbaz log configure.ac04:59
lifelessbaz log [-r spec]  [--archive]  [path ...] 04:59
lifelessis actually better.04:59
lifelessbaz log configure.ac Makefile.am - shows logs for all revisions that alter either of the two.05:00
ddaa--archive is not relevant to path and -r and path together do not make sense.05:00
lifeless-r and path do so make sense.05:00
ddaaWe want overloading, but not abusively05:00
lifelessif the path is not altered in that log, nothing would be shown.05:01
ddaaBTW, I fear I'm going to miss my promise of supporting baz in pyarch for monday.05:02
ddaaIt turned out that it was great time to do some heavy duty refactoring.05:02
lifelessno problemo.05:02
ddaaI'm taking baby steps, this stuff is totally hairy.05:03
lifelessso heres a point. revisions -s is really useful.05:03
lifelessis it better to do05:03
ddaalogs -s is really useful too05:03
lifelessbaz log -r patch-1 -r patch-4 -s ?05:03
lifelessor have the separate revisions command ?05:03
ddaaI think we need to make it clear that tree patchlogs are a different thing, structurally, than archive patchlogs...05:04
lifelessright, thats why --archive is there.05:04
lifeless'--archive    show the archive logs, rather than the cached log for the selected logs'05:05
ddaabaz logs -a -s05:05
lifelesswould show all the logs making up the code base, in summary version, from the archive.05:06
lifeless(if it was baz log :))05:06
ddaaequivalent of "tla revisions -s `tla tree-version`"05:06
ddaamaybe you want "baz log" instead...05:06
ddaa"logs" is muscle memory for me...05:07
lifelessaliases :)05:07
Kinnisonaliases will be implemented as something in .arch-params ?05:07
ddaathough... logs makes a nice shortcut for "tla logs -s" in tlash...05:07
lifeless% baz log [-r package [-r package2] ]  [-d date [-d date2] ]  [-a|--archive]  [-s|--summary]  [file_or_directory ...] 05:07
lifelessthe requirement for tlash is a bug in tla05:07
lifelessthe above strawman is the proposed log from the simplearchcli page.05:08
ddaaI need to have some time aside to exercise my annoyance skills on that stuff.05:08
ddaafor example, I do not like multiple -r options.05:09
ddaaWhat if the versions are different?05:09
lifelessthen we traverse the tag05:09
ddaaI'd rather like an interval notation, a la abrowse05:09
Kinnisoncvs/svn/p4 people are used to multiple -r arguments05:09
ddaawhere the vsn of the second spec defaults to the vsn of the first05:10
lifelessddaa: thats harder for scripters, and harder to parse.05:10
ddaascripters can give both versions explicitely05:10
ddaaAnd of course the version of the first defaults to the tree-version05:10
lifelessbut they can't do '$first $second' and just define second when needed, as trivially.05:11
ddaaI'm not concerned with "harder to implement" at this point, just "easier to use".05:11
lifelessddaa: agreed.05:11
=== ddaa tries to figure out what lifeless means
lifelessKinnisons point is also very valid, there is a huge body of knowledge in muscle memory in cvs commands.05:12
=== ddaa goes to fetch coke
spivlifeless: I thought svn used an interval notation, e.g. -r111:22205:12
lifelessspiv: it does.05:13
spivYeah, svn doesn't use multiple -r args that I can see, it just allows intervals to be passed to -r.05:13
lifelessspiv: that has an annoying property under the hood.05:14
lifelesscommands then parse this and barf wwhen they didn't want a range.05:14
lifelessI think from a ui perspective, that -r -r is actually easier.05:14
spivI don't feel strongly either way here, I'm just giving a data point :)05:15
lifelessddaa: please do contribute to the wiki page. I plan to move it to the public wiki soon as well.05:15
spivI think overloading -r to accept ranges sometmes is eqaually bad as overloading it to mean a range when it's specified twice.05:15
lifelessspiv: hmm.05:16
lifelesstechnically, its not overloaded to mean a range :).05:16
lifelesseach -r specifies a point.05:16
spivWhat does that mean? :)05:17
lifelesssaying that -r -r is overloading is like saying Rectangle(Point(), Point()) is overloading Point().05:17
=== ddaa comes back with coke and nutella...
spivWell, in the sense that -r  means different things depending on whether it's the first or second -r... makes writing docs annoying.05:17
lifelessspiv: thats the point, it doesn't mean different things.05:17
spiv"If this is the first -r, then it means this, but if it's the second it means this"05:18
Kinnisonthe form: "baz diff -r patch-100 -d yesterday" should work05:18
lifelessKinnison: yes, absolutely.05:18
lifelessbut -r patch-50 -r patch-200 -d yesterday05:18
lifelessis more useful :)05:18
KinnisonOooh 3-way diffing05:18
lifelesswell, just intersection.05:19
spivForgive my weak cvs-fu, but what would two -rs and a -d mean? :)05:19
spiv(I was actually a pretty limited user of cvs.)05:19
lifelessspiv: dunno about cvs, but I'd *expect* it to do the intersection of the two ranges.05:20
ddaalifeless: when you first wrote the multiple -r command, I thought it was a way to specify multiple exact revisions.05:20
ddaanot a way to specify a range...05:20
spivlifeless: Which two ranges?  I can guess at multiple interpretations.05:20
lifelessread the Log section05:21
spiv(I'm not saying it's a bad idea, I'm just being curious)05:21
ddaamonkeying cvs is so not the right to do05:21
ddaaEven as tla is know, people keep doing and expecting things that are completely inappropriate because their brain is cvs-washed. We do not _need_ to encourage the confusion.05:22
lifelessddaa: actually, we do.05:22
lifelesshere's why.05:22
lifelesswe want as many folk as possible at the peak of arch knowledge and skill.05:23
spivlifeless: Hmm, it doesn't give an example of multiple -r options... and it seems to use -r as a way to specify a version?05:23
lifelessthat means that the learning curve must be approachable at all levels.05:23
lifelessany point of insane steepness will dramatically drop the # of folk that traverse the entire path.05:24
ddaalifeless: I follow you so far05:24
lifelessCVS has a very simple model.05:24
lifelessWe need the basic interface to baz to present a simplified model.05:24
lifelessAnd to encourage and support folk working with more and more complex facilities.05:24
ddaayou want "baz update foo.c" do the same stupid thing as cvs does?05:25
lifelessnot necessarily.05:25
ddaaBecause that's a pretty common expectation.05:25
lifelesstla update is just about right.05:25
ddaaI reckon that simple things needs to be simple.05:25
lifelesscvs update -Pd is used to restore a file that is missing.05:25
lifelessand thats the usual expectation that update foo.c usually appears in IIRC.05:26
ddaaAnd not gratuitously different from established practise.05:26
ddaalifeless: yes05:26
ddaaHowever, users should be pushed at reading the damn --help output for any operation which is not done 10 times a day.05:27
lifelessso, update, needs some thought, but I'm inclined to have it restore foo.c, IF: the file is missing (not tla renamed).05:27
ddaalifeless: that's a job for undo and you know it.05:27
lifelessddaa: UI UI UI.05:27
spiv(oi oi oi!)05:27
lifelessbaz baz baz!05:28
ddaaYes. We do not want update to restore a file to the pristive version, ever.05:28
ddaaThat's what undo is for.05:28
lifelesswe need to deliver what users need though.05:28
lifelessthis is a balancing act.05:28
ddaaI understand. The first thing user need is a consistent UI.05:28
ddaaThe second thing is a familiar UI>05:29
ddaaThe third thing is a concise UI.05:29
lifelessperhaps actually, I'd reverse those priorities.05:29
lifelessfamiliar, concise, consistent.05:29
ddaaThe last is a powerful UI.05:29
ddaaI so disagree.05:29
lifelessemacs is consistent, so why does it have a vim emulation mode ?05:30
lifelessddaa: join the wiki page.05:30
ddaaWill do once I run out of fuel on the pyarch stuff.05:30
ddaabtw, I was still not able to test taxi.py05:30
spiv("rm somefile; svn update somefile" will restore the pristine copy of somefile, if you're wondering)05:31
ddaaThe debug logging is considerably slowing stuff down, it seems.05:31
spiv(even though "svn revert somefile" will do it too (and faster?))05:31
ddaaDunno what to do. If I disable debug logging, it is certainly going to hang according to murphy.05:31
ddaaProlly, I should use a known-good and short project...05:32
ddaalike x-fonts-thai-ttf...05:33
spivddaa: Run it without debugging, use gdb?05:33
ddaaspiv: ?05:33
spiv(use gdb once it hangs)05:33
ddaahow is gdb useful to debug python code?05:33
lifelessspiv: page updated05:34
spivThere are hacks that let you get a python backtrace via gdb macros.05:34
ddaaand btw, is there a python with debugging symbols in ubuntu?05:34
spiv(And there are some hacks in dist/src/Misc/gdbinit in python cvs)05:34
spivNot that I know of :/05:34
ddaaspiv: your mission, shall you accept it, is to document that for the benefit of the buildbot-debug staff.05:35
ddaaI can rebuild python. That's not a big issue.05:35
lifelessok, here's my proposal for release process.05:36
lifelessrelease date: 5 weeks.05:36
ddaaspiv: please05:36
lifelessrelease date: 3 weeks.05:36
ddaalifeless: that's not a date05:36
lifeless2 weeks coding.05:36
lifeless1 week release candidate.05:36
lifelessthen we start a new cycle @ the start of the sprint.05:37
lifelessfeature goals:05:37
spivddaa: Ok, I might write up a HeavyDutyPythonDebugging page or something.05:37
lifelessimplement 3 of the revamped commands in simplearchcli05:37
ddaaspiv: thank you very much, that would help a lot.05:37
lifelessfix 2 of the arch gripes.05:37
spiv(I don't have much experience here either, but I'll jot down what I know)05:38
lifelessin terms of release management, I'll do that. but release management != code review.05:38
lifelesswhat do you think?05:39
ddaaNot qualified to judge that.05:40
ddaaNever hacked tla.05:40
ddaaWhat about the imports?05:40
ddaaThat is sort of a very time consuming and very urgent task...05:41
lifelessddaa: yes, and its my primary focus. I'll be hacking on that all weekend.05:41
lifelessbaz is parallel urgency, no point having archives no one can stand using.05:41
ddaaOkay. Let's call that over.05:41
BradBSorry for the random, I-slept-in-this-morning sniping, but I'm really hoping this rewrite considers Apple HFS+ performance tips: http://tinyurl.com/5qupk05:41
BradBs/Apple/OS X/05:42
ddaalifeless: very good point...05:42
BradBI can give you guys an account on my new machine, if needed.05:42
ddaaBradB: the focus of this release is not performance, sorry.05:42
ddaaBut I'll bookmark it once I can see it...05:43
lifelessheh, we're getting traction:05:43
lifeless The devel versions of tla and baz already have fixes for 05:43
lifelessget-changeset, so that issue is likely fixed.  If not, you'll probably 05:43
lifelesshave to rewrite your patch anyhow.05:43
lifelessthats a quote from abentleys latest email to -users :)05:43
ddaaabentley is already sold to us.05:43
ddaaThat's going to be a considerable edge :-)05:44
lifelessBradB: there are several things to answer your request.05:45
ddaaI mean, he did not tell me that.05:45
lifelessfirstly, none of us use macOS X.05:45
ddaaBut as far as I know him, I believe he just want to ride the non-stalled train out the dark tunnel.05:45
lifelesssecondly, performance is a UI metric. Its a factor, but not a feature goal in v1.005:45
lifelessthirdly, a profile-run of tla giving us detailed breakdowns on the major speed overheads on macos X would be a good start.05:46
lifelessyou can build that by exporting CFLAGS='-pg -O2'05:47
BradBlifeless: "us" being whom?05:47
lifelessme, jblack, bob2, ddaaa05:47
KinnisonBradB: the Bazaar team05:47
lifelessthe arch team.05:47
lifelesshere @ canonical.05:47
KinnisonBradB: also known as the 'Bizarre' team05:47
lifeless'how bazaar, how bazaar'05:47
BradBlifeless: yeah, that's why i've offered an account on my machine. I don't have the time to actual do any work on this myself.05:47
lifelessBradB: so, our goals will roughly be 'make it work, make it work right, make it work fast'. I'm not discounting your performance needs, but there are other serious issues that need to be addressed ASAP.05:48
lifelessfor example, potential archive corruption because of macos X's default HFS+ configuration.05:49
BradBcase sensitivity, you mean?05:49
BradBer, insensitivty, but yeah, same difference05:49
lifelesscase sensitivity is UI, should /not/ be a core property, and apples decision there was/is a PITA.05:49
BradBlifeless: eh, that's a windows thing too05:50
BradBlifeless: and mark will happily agree that fs case *sensitivity* is insane. :)05:50
lifelessBradB: NTFS is able, without being reformatted, to be case sensitive, case preserving.05:50
BradBHFS+ isn't able to at all.05:50
lifelesson windows thats just a file open flag.05:50
ddaalifeless: Name suggestion request. I am making a arch.backends module with all sorts of stuff (cli info, process handling, logging, etc), and I keep spelling it arch.backend. But I also want to have a arch.backend object which is the glue object used by the high-level bindings. Any idea how to rename/reorganize things?05:51
ddaa* a arch.backends package05:51
lifelessBradB: for a UI, case sensitivity is bad. For a file system, case insensitivity is bad.05:51
BradBlifeless: it's only a pita if you wrote it without that in mind.05:51
lifelessBradB: HFS+ can do case sensitive just fine, just gotta reformat it :).05:51
lifelessBradB: I'm not really interested in having this argument right now. I've won it every time I've had it, but its 2am.05:52
BradBlifeless: nope, HFS+ is always case insensitive.05:52
lifelessBradB: apples documentation differs.05:53
BradBlifeless: you're thinking of UFS.05:53
BradBwhich Doesn't Work on OS X, really.05:53
lifelessno, I'm not.05:53
BradBok, well, i've pasted an apple link that concurs with what i say, i can't do anymore before this turns into bikeshedding. :)05:54
lifelessBradB: I climbed through all the apple doco on this when researching the issues with tla & case sensitive/insensitive ~ 1 year back.05:55
lifelessnote ""Case-sensitive HFS+" 05:55
KinnisonYou can't have Case-sensitive Journalled HFS+ afaict though05:55
Kinnisonelmo: ping05:56
BradBlifeless: dude, i pasted an apple documentation link. if they're wrong, i'm not sure how to defend that. :)05:57
lifelessI'm willing to accept if I'm wrong... but so far, I've seen nothing to indicate I am wrong.05:57
lifelessthat doco link only documents hfs+'s default behaviour05:57
lifelessthere are extensions to it introduced by apple in OS X updates.05:58
=== debonzi is now known as debonzi|lunch
lifelessBradB: http://developer.apple.com/technotes/tn/tn1150.html#HFSX05:59
lifelessso technically, its HFSX I'm talking about.05:59
BradBbaz has to work on a case-insensitive fs because no matter what fs's os x can do, and what can be formatted to be case-sensitive or not, os x in general just Doesn't Work with case sensitivity (according to limi, anyway)05:59
carloscprov, debonzi: Could you give me an easy way to get the list of source packages that are inside Ubuntu warty?05:59
lifelessBradB: I'm not debating that at all.06:00
BradBok, then let's stop wasting time on this. :)06:00
carloscprov, debonzi|lunch: I'm a bit lost with all DB objects06:00
lifelessYou made two assertions, one is factual and trivial to refute, which I've done. the other is opinion, and I'm not debating that right now.06:00
lifelessbaz's requirements are a completely different ballgame :)06:00
cprovcarlos: sorry, I didn't understand ..06:02
cprovcarlos: are you using soyuz ?06:02
carloscprov: I'm looking at it06:02
debonzi|lunchcarlos, just a moment06:02
cprovcarlos: do you want a query ?06:02
carloscprov: I need to get the list of SourcePackageRelease that are inside a concrete distribution release (for instance, warty)06:03
debonzi|lunchcarlos, from canonical.launchpad.database import SourcePackageRelease06:03
carloscprov: well, a query will help me to map that into sqlobjects, yes06:03
debonzi|lunchmy_list = SourcePackageRelease.getReleases(distroreleaseSQLObject)06:04
carlosdebonzi|lunch: that's all?06:05
debonzi|lunchshould be06:05
cprovcarlos: nop, we have it inside database/sourcepackage.py already done, I think 06:05
carlosit's simple06:05
debonzi|lunchcarlos, Im going for lunch.. if you have problems with it send me a mail06:06
debonzi|lunchcarlos, Ill be back soon06:06
carlosdebonzi|lunch: sure, thank you06:06
=== BradB discovers with glee another cup of coffee in the coffee machine
BradBcarlos: I noticed that you didn't get any response on-list about your proposed DB schema changes. It might move along quicker if you use the process Mark suggested: https://wiki.canonical.com/DatabaseSchemaChanges06:35
carlosBradB: didn't know about it, thanks for the suggestion06:36
BradBno prob06:36
carlosBradB: well, it's not exactly the same case, I need that daf/Mark validate it before I request the change to Stub 06:38
carlosthe main "problem" is that both are more offline than online this week06:39
BradBdaf is getting overwhelmed by life in NYC, or what? :P06:39
carlosBradB: I think he's trying to visit the whole city before leaving it :-)06:41
=== BradB is now known as BradB|lunch
=== debonzi|lunch is now known as debonzi
carlosdebonzi, cprov: about:07:02
carlos# FIXME: (distinct_query) Daniel Debonzi - 2004-10-1307:02
carlos        # the results are NOT UNIQUE (DISTINCT)07:02
carlosI think we had a similar problem in Rosetta and Lalo fixed it using a Set07:03
carlos(with a note to remove it when the DISTINCT problem is fixed in SQLObject)07:03
debonzicarlos, yes.. we use it sometime.. but look07:06
debonzisupose we have a set of sourcepackagerelease and 10 of them have the same sourcepackage07:07
debonziI want it to be distinct by sourcepackage.. can you see that Set does not solve it?07:08
debonzithats the point :).. but thanks anyway07:08
carlosI see your point07:08
carloswe need to fix sqlobject soon :-P07:09
carlosdebonzi, cprov: Another suggestion, is it possible to give a public API that gives SQLObjects instead of the string at builddepends07:14
carlosso I don't need to use python-apt O:-)07:14
cprovcarlos: Set() sucks !!!08:01
carloscprov: :-)08:01
cprovcarlos: python-apt is a serious problem, but do you really thinks it is a problem to linux users ? for Mac OS it is, for sure 08:02
carloscprov: I mean that I don't want to use it directly, if we use it inside a method I don't see it :-)08:03
carloscprov: I have a script to get the warty packages using it since some weeks ago08:03
cprovcarlos: about the DISTINCT, yet, we should have it on SQLO soon (distinctBy=<fieldname>)08:03
carlosI'm moving it to use soyuz data now08:04
carlosso I know it sucks :-)08:04
=== daf_ [daf@muse.19inch.net] has joined #launchpad
=== BradB|lunch is now known as BradB
cprovcarlos: We are not using your approach in DB, since we have text dependencies, but would be nice to have it in a table SRCdeps & BINdeps, there we will have coerent .deb deps08:11
carloscprov: I know, that's why I'm suggesting a public method that does it so we have it done in a concrete place instead of needing to do it everytime from external scripts (like mine), I know that you do it also inside soyuz code so we could reuse that code easily08:15
carlosdon't think is needed to change the database schema for it 08:15
=== daf_ is now known as daf
cprovcarlos: ehe, maybe was flying a bit :) but your suggestion is not implemented inside soyuz, we just parser DEPS to build links not for the SQLO08:20
=== dilys [daf@muse.19inch.net] has joined #launchpad
carloscprov: well, it's more or less what I need08:21
carloscprov: I just need to know if the package depends on 'cdbs' 08:21
carlosBradB: do you have rights to relaunch the Rosetta alpha server?08:23
BradBi'm only handling the dogfood app. daf was the one who deployed the rosetta alpha (which I know sabdfl wasn't folded into the dogfood app soonish, dunno what your guys' timeline for that is though.)08:28
BradBs/wasn't folded/wants folded/08:28
carlosBradB: I know that08:30
carlosis just that the alpha server is down08:30
carlosand I need someone to relaunch it :-)08:30
carlosand Daf is not available at the moment08:31
cprovcarlos: ask daf !!! he has joined some minutes ago ( idle 00:11:56)08:32
carloscprov: that's his irc session08:32
carloscprov: but he's not online08:32
carloshe has it always online08:32
carloswith screen from his server08:33
cprovcarlos: if you look on sql.py, we will see our depContainer() = {'srcpkgname', 'version', 'operator'}08:33
=== daf is around
BradBcarlos: ask elmo to give you an account on mawson. i know nothing about the rosetta alpha.08:35
cprovcarlos: it's not that difficult to turn is in a new container sqlodepcontainer = {SourcePackageRelease, 'operator'}08:35
carlosdaf: !!08:35
carlosdaf: you are offline in jabber O:-)08:35
carloswell, Away08:36
carloscprov: don't worry, I'm still looking at it, if get a concrete proposal I will mail launchpad08:36
carlosdaf: Jordi told me that the alpha server is down08:37
carlosdaf: could you execute it ?08:37
dafI'll take a look08:37
carlosdaf: thanks08:44
dafok, Launchpad is running08:44
daflooks like the certificate is borked, though08:44
carlosdaf: should we ask elmo?08:49
dafI suppose so08:51
dafbasically, the problem is that the certificate for rosetta.sf.o is for mawson.u.c08:51
dafwrong hostname08:51
BradBmdz: ping08:52
=== daf foods
mdzBradB: pong08:54
BradBmdz: so i'll be adding a "note" field to assignments (product and package). should infestations have notes too?08:55
mdzBradB: have you reviewed this with Mark?08:56
mdzI know he wants to be rather cautious with changes to the data model08:56
BradByeah, i haven't reviewed it, but there's nothing to review if you don't think it's necessary.08:56
BradBthere's a small process to follow to get new schema changes approved/added, which would have been my next step.08:56
BradBs/haven't reviewed it/haven't review it with mark/08:59
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: added labels for comment fields on the bug index form and fixed all the dreadful id = 1 hardcoding for owner and creator ID's (patch-716)09:53
=== cprov [~cprov@] has joined #launchpad
=== mdz [~mdz@69-167-148-207.vnnyca.adelphia.net] has joined #launchpad
BradBmdz: So what was your answer re: wanting notes on infestations?10:18
mdzBradB: let's wait and see10:18
mdzthe thing which is crucial for us is the additional status data (forwarded upstream, needinfo, etc.)10:19
mdzbut Mark was against adding those as states10:19
BradBhm, interesting10:19
=== salgado [~salgado@200-206-134-238.async.com.br] has joined #launchpad

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