/srv/irclogs.ubuntu.com/2009/02/12/#bzr.txt

lifelessspiv: so, I'm nearly human again00:14
lifelessspiv: want to pop over?00:15
spivlifeless: to Epping?  Sure.00:16
lifelesscool00:16
spivI'll finish humanising myself and head over.  I'll let you know my eta.00:16
lifelesskk00:16
=== kiko-fud is now known as kiko-zzz
lifelessOdd_Bloke: if you're looking at bzr send00:33
lifelessOdd_Bloke: apparently we should us xdg-email00:33
lifeless*use*00:33
Odd_Blokelifeless: My next few cycles are going to be spent looking at shelf.00:36
Odd_Blokes/shelf/shelves/00:36
r0bbyyeh if only i initialized the String :x00:36
r0bbythat wouldn't have made it less wrong00:36
Odd_Bloker0bby: Wrong channel? :)00:37
Odd_BlokeWhat's brisbane-core?  I keep seeing references to it, but missed the kicking off point.00:37
lifelessOdd_Bloke: next gen format00:41
ronnyis there any schema on how the database of the in bzr works?00:42
ronny(and if there are ways to extend it)00:42
lifelessronny: you can't really extend the core (though you can use it to do different things for you)00:42
lifelessronny: in terms of docs, there are the Classes stuff on the wiki, and docstrings in the code - pydoctor gives quite good results on that I believe00:43
ronnyhmm, any listing ? i missed the stuff in the wiki00:44
lifelesshttp://bazaar-vcs.org/Classes00:47
spivlifeless: eta 122000:56
lifelessroger wilco00:57
ronnylifeless: at what part of the src should i look?00:58
lifelessronny: well, what are you interested in? If you're interested in the 'db' implementation, btree_index, knit.py (the pack mapped index and access objets), and repofmt/pack_repo.py's RepositoryPackCollection class)01:00
ronnylifeless: mainly the db stuff01:01
lifelessif you're more interested in the model, I don't think there is a single good reference01:01
ronnythe model is important for me, too01:01
ronnyjust researching the different stuff01:01
lifelessI'd cast an eye over doc/developers/01:01
ronnyso far git's model seems the most reasonable01:02
ronnyjust the rest of git isnt01:02
lifeless:P01:03
ronnyany reason why bzr did choose uuid's over content hashes other than the rehashing (aka switch hash algo) issue?01:05
* ronny waves for attention01:12
mwhudsonwell, bzr-svn includes more information in the uuid01:13
* RAOF is by no means a bzr hacker, but IIRC it allows better tracking of file moves.01:13
ronnyRAOF: nope, not at all01:14
ronnymwhudson: like what?01:14
mwhudsonronny: uuid of the repository + revno of the import01:15
ronnyok, also nothing that would reqire a uuid01:15
mwhudsoni think it's more a matter of style of approach than requirement01:17
mwhudsonbut way way before my time01:17
ronnyRAOF: git's bad move tracking is derived in the fact that trees dont have parents, thus the parent/child relation is only in commits01:18
ronnyso any comments?01:26
Odd_Blokeronny: I'm not sure the IRC channel is the most appropriate place to look for this kind of discussion.  The mailing list might be better...01:31
ronnyhmk01:32
ronnyi mostly just want to know the reason tho, not discuss it over again01:33
Odd_Blokeronny: I still think a post to the ML is most likely to get a useful response.01:33
Odd_BlokeAnyway, I intended to go to bed half an hour ago.01:34
Odd_BlokeSo, good night #bzr.01:34
lifelessronny: we chose uuids for revisions for a couple of reasons; not wanting to redo everything when sha1 is broken, and supporting imports from arbitrary systems is the other (and its been very susccessfuly)01:34
lifelessronny: for file ids, we use uuids as a memo, but equally could use just history pointers01:34
ronnyhmm, why does import from others require uuid's?01:36
lifelessronny: transitive history is not always available01:41
ronnyi dont see how that makes uuid's an requirement01:43
ronnyi need to sleep01:44
mwhudsonoh that's right, ghosts01:44
mwhudsoni always forget that one...01:45
jelmernot just that01:49
jelmerhaving to calculate the contents in the native format for all contents in the ancestry of a revision is expensive01:50
jelmernever mind, just read up on what transitive means :-)01:52
mlhronny's design questions remind's me that poolie's design notes used to be available somewhere01:57
mlhlike old.bazaar-vcs.org or bazaar-vcs.org/old (I've checked there)02:00
spivmlh: http://doc.bazaar-vcs.org/obsolete-docs/ ?02:01
mlhthanks spiv02:02
mlhthat's an excellent historical document.  I remember meaning to give that link to ESR when he was going to (threatening to ? :-) write a history of (D)VCSs02:02
* igc lunch02:20
lifelessjml: we need to spend a few hours on 'how to represent skip etc for .unittest02:21
lifeless'02:21
jmllifeless: yes.02:22
jmllifeless: in fact, a mini-sprint on pyunit-friends stuff would probably be a Good Thing02:22
jmllifeless: let's go to Perth and visit jamesh :)02:22
lifelessjml: :P02:33
jameshlifeless: that reminds me.  I uploaded a testresources branch implementing the make/reset/clean API I suggested.02:34
lifelessyes, its in my aroundtuit pile :(02:34
jameshyou said my original description was a bit hard to understand, so maybe some code will make it clearer :)02:35
lifelessthank you02:35
jameshand I don't know whether you'd want to come to Perth at this time of year.  It may be a bit dryer, but it is also a lot hotter02:39
lifelessjamesh: yeesh, don't need more heat02:47
lifelessjml: I was thinking dinner, wine, laptops02:47
jmllifeless: sounds delightful03:19
=== mthaddon_ is now known as mthaddon
lamalexCan I version a single file only? For example I want to keep my .emacs file in sync across a few computers, is there a simple way to do this?03:58
lifelesslamalex: bzr init ~/my-emacs03:59
lifelessmv ~/.emacs ~/my-emacs03:59
lamalexlifeless: so "no"03:59
lifelessln -s ...03:59
lifelesslamalex: yeah, sorry03:59
lamalexno problem03:59
lamalexit's not the point of bzr03:59
lamalexthat will probably be cleaner anyway, I'll just make a dir of my misc files, then link to them04:00
bob2sure, cd ~/ ; bzr init ; bzr add .emacs ; bzr ignore ".*" ; bzr ignore "*" ; bzr commit04:00
lamalexcan someone help me set up a shared repo? I can't get it to not do working trees in the repo04:39
bob2bzr init-repo --no-trees04:39
bob2you can alias init-repo to 'init-repo --no-trees' if you like04:39
lamalex:P as soon as I asked i got it04:42
lamalexthanks04:42
lifelessvila: your --load-list is quite nice, thank you04:53
* jml <3 branch-todo04:53
lifelessjml: ?04:54
jmllifeless: I'll explain later :)04:54
lifelessjml: I have a feedback loop going with tests04:56
lifelessjml: bzr selftest --load-list=foo.list, where foo.list is from selftest --subunit | subunit-filter | tail -n +2 > foo.list04:57
lifelessjml: 'run only failing tests'04:57
jmllifeless: *nod* that'd be very handy to have for lp04:58
lifelessI'll do some more on it this evening I hope04:59
lifelesswould likst to get foo.list by $() rather than a file on disk, or something like that04:59
lifelessjml: so, see my most recent post to bazaar@, it has the glue needed for a pyunitish runner05:09
jmllifeless: cool05:10
ronnymoin06:37
* ronny still fails to see how transitive history needs uuid's06:38
ronnymlh: thanks06:53
lifelessjml: what are you doing tomorrow evening?06:59
vilahi all07:03
vilalifeless: glad you like it :-)07:03
dholbachhiya07:41
dholbachpushing a branch to LP with bzr 1.11-1 I get "Permission denied (publickey)" although my pub key is exactly the same as the one I have on LP07:42
dholbachis there any known issue?07:42
mthaddondholbach: sure you're connecting as the right username?07:44
dholbachmthaddon: I don't think I changed anything07:45
dholbachemail = Daniel Holbach <daniel.holbach@canonical.com>07:45
dholbachlaunchpad_username = dholbach07:45
mthaddondholbach: ok, just checking - not sure if it's a known issue, haven't used bzr 1.11-1 myself07:45
dholbachit's in jaunty now07:46
mthaddonbrave soul - still on intrepid here07:46
dholbachwhere do I use "-Dhpss"?07:47
dholbachit tells me to use it07:47
dholbachargh, now it worked07:48
dholbachok... whatever07:48
dholbachI'll let you know when I run into it again07:48
mthaddonI won't be much use - not an expert in any way, just happened to be idling here...07:49
mthaddonbut I'm sure someone else will07:49
jmllifeless: travelling to Hobart07:52
vilapoolie: ping07:58
spivlifeless: you'll be happy to know I have a working right arrow key again.09:16
lifelessspiv: cool09:21
lifelessspiv: you hit it harder?09:21
lifelessjml: well then, upon your return09:21
fullermdObviously, it started acting right   :p09:21
spivlifeless: if by "hit" you mean "took the cap off and removed a pile of impacted crud", then I guess so...09:25
spivIt doesn't quite like new, but it basically works...09:26
mbp__hello spiv, lifeless09:27
mbp__lifeless: thanks for the post this morning about gc09:29
fullermdI've managed to not have to do a significant keyboard cleaning on this one yet.  Next month is its 18th birthday, too.09:30
mbp__kiko, i'm writing up http://bazaar-vcs.org/Roadmap/BrisbaneCore09:30
* fullermd should throw a party.09:30
mbp__wow09:30
mbp__fullermd: it must even predate PS/2 connectors?09:31
fullermdWikipedia says PS/2 was 1987.09:31
fullermdBut the cable is detachable, so it could have come with an AT connector originally I guess.09:32
=== kiko-zzz is now known as kiko
mbp__kiko ^^09:34
kikoI don't know a lot about PS/2 but brisbane sounds like just the place for summer09:34
* fullermd recalls laughing his head off at http://ars.userfriendly.org/cartoons/?id=2001021109:37
kikombp__, can you tablify that? tables beat lists09:57
kikowell maybe.. hmm09:57
mbp__for the tasks?09:57
mbp__working on it09:57
kikomaybe09:57
mbp__at least a table is better if we have estimates09:57
kikoindeed, indeed09:58
mbp__at the moment i'm adding more descripiton of the changes and digging up some numbers09:58
mbp__yay numbers09:59
mbp__the infallible indicator of objective truth :)09:59
fullermdExcept 8.  I don't trust him.  Shifty eyes and all that.10:04
Toksyuryeland 1310:05
Toksyuryelunlucky n' such10:05
fullermdYeah, but it's reliably unlucky.  So it's infallible in a way   :p10:05
awilkinsYegods, this "Python DVCS comparison" thread is long10:07
awilkinsI think the attitude that "We want all the benefits of a DVCS without changing how we work" attitude is rather blinkered though10:08
fullermdIf only that were the most blinkering I ran across in a day...10:09
AfCBut it's worse than that - many people have already fought the learning curve to learn git, and now we seem both cumbersome and slow as a result.10:09
Odd_Blokeawilkins: I dunno, we claim to be flexible, but are we actually?10:10
Odd_Bloke(I think so, but maybe we could be more flexible)10:10
fullermdConsidering that the complaints all seem to boil down to "TOO flexible", how would that help?   :p10:11
Toksyuryelthat's a silly thing to complain about though10:11
Toksyuryelif you don't want to use the flexibility, don't10:11
fullermdIt's a silly world.10:11
AfCI suspect a global [per user, anyway] revision cache would help enormously.10:11
AfCbit late now, though10:11
Toksyuryelit's not foisted on you10:11
fullermdI don't see it, personally.10:11
fullermdTo be much use, it would have to be several times the size of a "large" project.  Otherwise anything you want would be cycled out by the time you'd profit from it.10:12
fullermdAnd that's *BIG*.10:12
AfCfullermd: (if you're talking to me) no, I'm not talking about in-memory, I'm talking about never ever forcing someone to network transfer the same revision twice in from a remote location. I imagine `bzr init-repo ~` would do it.10:13
fullermdOf course, the solution to the direct problem is "If you want to work just like svn, just use co --lightweight".  Then we can move on to "zomfg that's slow" and make forward progress on letting them keep marching toward the cliff.10:13
fullermdI don't mean in-memory, I mean wherever; it would have to be a couple gig at least to get a high enough hit rate to be worth it.  I don't have a could gig to spare.10:14
AfCfullermd: but since that isn't what the Bazaar hackers expect you to do, it's not a good idea to suggest.10:14
fullermdAnd "Use bzr, it'll keep anything you ever pass to it around forever cluttering your hard drive" isn't the best advertising either  :p10:15
AfCfullermd: assume for a minute you don't know about a) shared repos and b) creating local mirrrors of remote branches. Then do bzr log on a large remote branch a few times and you'll start appreciating how awful Bazaar appears to people.10:15
AfCThat is, in essence, the critique that the Python crew have levelled, and it has as a result disqualified us.10:16
fullermdDid I say something that gave the impression that I fail to appreciate how awful performance is in many cases?10:16
Odd_BlokeAfC: 'bzr init-repo ~' has a couple of problems.  Firstly, it's not a cache (you can't delete ~/.bzr safely), and secondly, as noted on the mailing list, it assumes people work underneath a single directory.10:16
AfCOdd_Bloke: sure. Admittedly, though, most people work under ~ :)10:17
* fullermd branches into /tmp with some regularity.10:17
Odd_BlokeAfC: Windows users don't.10:17
AfCfullermd: I don't really think any of us in this channel qualify as normal users in so far as Bazaar (or any DVCS) is concerned10:17
AfCOdd_Bloke: that's fine. They can `bzr init-repo c:`. Suckers.10:18
AfCENOSYMPATHY10:18
AfC:)10:18
fullermdAnyway, the solution to logging large remote is to use a dumb server.10:18
fullermdlog --limit 10 bzr.dev.   sftp: 7 seconds.   bzr+ssh: 40 seconds.10:18
fullermdDoesn't help when they branch into d: now does it?   :p10:19
AfCfullermd: it doesn't matter that there is a "solution". The problem is that out of the box the way that most people try to use Bazaar turns out not to be wise. So then we tell them how they should use the tool (thus voiding most of the supposed flexibility) and then they bitch at us for being so presumptuous.10:19
fullermdEr.  I was being ironic...10:19
* AfC has, in essence, given up advocating Bazaar. I'm tired of shouting at the rain. It's too bad we picked bzr because we really appear to be zealots out in left field for using it.10:20
fullermdYou seem to keep getting this impression that I'm defending the status quo and mocking the poor silly users who just don't Get why it's so vital to use the DUMB SERVER to get good performance...10:20
AfCSuch a shame, because I'm very happy with it.10:20
AfCfullermd: I would advise against sarcasm in discussions like this. Most people won't get it.10:21
AfCfullermd: especially when we're exploring the question of whether it's too late for this project.10:21
fullermdBut back to the thread in question, the activity of hg would be exactly the same; a fresh clone would still pull everything across the network.  The activity of git would be example the same; a fresh clone would still pull everything across the network.10:22
AfCfullermd: right, but in the Git case, the *second* transaction would NOT pull everything - or anything - across the network.10:22
fullermdThe difference is only when you pull another branch into an existing repo.  That brings us back to metabranches.10:22
AfCfullermd: since we support NOT forcing a full mirror since we support anonymous remote operations, we look bad for doing 100s of MB of transfer just to do a log only to force another 100 MB of transfer to run the same command again.10:22
AfCLike I said, too late now.10:23
fullermdAgain, what are you trying to convince me of?  Have you EVER seen me advocate to ANYBODY to do `log URL`?10:24
AfCfullermd: I'm not talking about YOU. Relax. I'm talking about the tool that you and I both have stuck our necks out for. The tool permits that behaviour, and so people think that's what they're supposed to do, and so they do, and then the tool looks horrible.10:24
* fullermd shrugs.10:25
fullermdI've lost much ability to care about those people.  The train has long since pulled out of the station, and it doesn't matter anymore.10:25
AfCfullermd: you're lucky, then. I work in a community where virtually every other project has adopted Git, or will. So I'm odd man out, and suffering for it.10:26
AfCit sucks.10:26
fullermdProjects will use bzr because political forces dictate (like emacs) or somebody with enough clout likes bzr and decides to impose it (like I did).  Anybody else will look at it and say "slower than other choices", and game over.10:26
AfCyup10:26
awilkinsI use Bazaar because I had a project that needed really good merge support, it's being used by neophytes, on Windows     ; hg can't handle the tree because it's too deep for it on Windows, git is too scary10:26
awilkinsThe performance leaps of bzr between 0.9 and 1.6 on win32 were really gratifying10:27
fullermdOn the day when bzr reaches performance parity, it still won't gain much, because then it'll be "the program that's no longer as slow as it used to be"10:27
AfCfullermd: shit, I've been trying that line for over a year now.10:27
awilkinsIt started off just "ooh, much faster than SVN" and became "wow, that's nice and fast"10:27
AfCfullermd: and indeed, it didn't help10:27
AfCWhatever. It's nice and fast for me. That's good enough.10:27
AfCBut as you said, game over.10:28
awilkinsYou then use it on Linux and go "Holy crap, WTF is windows DOING under the bonnet?"10:28
awilkinsThe fact that it's written in a langauge I grokked easily enough to pick up was a real plus ; several windows bugs have been fixed that way10:29
fullermdObviously, the real trick is to slow everybody else down.10:29
fullermdLook how well that strategy has worked for web browsers.10:29
awilkinsI'd like to see a 4-way DVCS/SVN benchmark on Windows10:29
fullermdRemember when you refused to move to Netscape 4, because it was a stupidly slow unbelievably bloated pile of crap?10:29
awilkinsI'm not sure git would be such a clear winner on Win3210:29
* fullermd laughs in his past self's face.10:30
fullermdThe flaming death for bzr is network.  The platform won't affect network that much.10:30
fullermdI'm left with the assumption that, for whatever reason, bzr didn't grab enough mindshare early on, and the manpower deficiency has left it permanently in the hole.10:31
Lo-lan-doI think bzr can still prevail within the "enterprise".10:32
Lo-lan-doIt is, after all, easy to use, and seeing how much effort is required to get people to switch from CVS to SVN, getting them to switch to git is going to be *ugh*.10:33
Lo-lan-doRemember not all paid developers are uber-elite geeks :-)10:33
awilkinsLinux format had a "bluffers guide to git" this month10:33
Lo-lan-do(And not every VCS user is a developer, either)10:33
fullermdPaid developers do whatever the paymaster says.10:33
ronnyhmm10:33
fullermdHeck, we just covered "bzr is way more flexible than everything else".  Flexible is kinda the opposite of what enterprise aims for  ;p10:33
ronnyi came to the conclusion that all dvcs's suck10:34
awilkinsWhat DVCS really needs for use in the enterprise is gui tools with a good visual metaphor for the distributed-ness10:34
Odd_Blokefullermd: I think Lo-lan-do's point is that it'll be easier to convince the paymaster than the paid developers.10:34
ronnyawilkins: i will probably do such a gui tool that manages git/hg/bzr10:34
Lo-lan-doMy point was that it took me *years* to get people to use CVS at a previous job, and I left before managing to get them to switch to SVN even though the syntax/UI is identical.10:35
fullermdI dunno if that's true.  Really, the business case is pretty much like the open source case.10:35
fullermdYou'll never convince the bulk of the project to move to foo.10:35
awilkinsI always do think that Tortoise[DVCS] should just be one codebase with backend plugins10:35
fullermdSome group of sufficiently interested and clouted parties will make the decision, and drag everybody else along.10:35
ronnyawilkins: im working on such a thing ^^10:35
ronnythe catch is i dont yet have history/sync support implemented ^^10:36
fullermdbzr's advantages in flexibility and workflow just aren't obvious unless you (a) think carefully about it, or (b)(1) use it for a while without (2) trying to make it act like $OTHER_VCS.10:36
fullermdPerformance, however, is trivially easy to test and very easy to natter on about to convince people.10:36
ronnyand the comclusion is - all dvcs's suck and are awfull (just less bad than the centralized ones)10:36
ronny-m+n10:37
fullermdSo really, there are 3 types of people who end up with bzr.10:38
fullermd(1) the people who are already there10:38
fullermd(2) the people who are drug there by someone with enough persuasive power10:38
AfCfullermd: re your original "flexibility and workflow just aren't obvious unless you (a) think carefully about it, or (b)(1) use it for a while without (2) trying to make it act like $OTHER_VCS", hear, hear10:38
fullermd(3) the people who like VCS's in particular or tools in general enough to spend a lot of time playing and fiddling with the options, and have usecases where the performance is "good enough".10:38
ronnyfullermd: i just recently moved some bzr managed projects i inherited to hg cause bzr wont let me do my workflow10:39
fullermdMe, I'm used to using totally superior solutions that most people bypass for mostly ill-thought-out reasons.  I run FreeBSD.10:39
Lo-lan-doIs FreeBSD still totally superior?10:40
Lo-lan-do(Genuine question -- it's been years since I last tried it)10:40
fullermdOf course.  That penguin doesn't stand a chance against something with horns and a trident.10:41
ronnyit certainly has less stupid10:41
Odd_Blokeronny: What's your workflow?10:41
fullermdI think so, obviously.  It's just so much easier to manage long-term.10:41
ronnyOdd_Bloke: inherited from using monotone, i want multiple heads in one place, and i dont particulary have to care if they get names10:41
fullermd(now, if we could harness the elastic force of yanking that far off-topic...)10:42
ronnyfullermd: bsd seems to be generaly free of micro-otimizing bullshit (compilers evolve for a reason)10:42
ronnybbl, gona eat10:42
bob2ronny: bzr can do that10:52
fullermdOno, not this discussion again...10:58
=== kiko is now known as kiko-afk
Mezare nested branches working yet ?11:09
ronnybbl, gona eat11:18
ronnybob2: until collated branches it can do it11:19
ronnyeh cant11:20
bob2ronny: the ui is a bit dodge, but you can do it11:26
bob2ronny: push to a repository and the tips will just hang around forever.  use 'bzr heads' to see the current ones.11:26
* fullermd blinks.11:27
fullermdUsing explicit branches is too obnoxious for him, so you suggest grubbing around under the hood instead?   :p11:27
bob2haha11:28
ronnybob2: fuck unnatural hacky in particular unplanned workflows - either it works good or it's useless11:28
fullermd"I'd like a sandwich, but until bzr's bread comes presliced, it's too much trouble."  "Well, bzr lets you grind wheat..."11:28
bob2ronny: ok!11:29
ronnyanyway, on the conceptual level i dislike all common dvcs's11:33
Odd_Blokeronny: How would you do it differently?11:34
awilkinsWhoa, python just ate 101% of CPU time doing a bzr-fast-export11:36
ronnyOdd_Bloke: collated branches for bzr will mostly solve it11:36
awilkinsIs that a known bug in `top` ?11:36
Odd_Blokeawilkins: How many CPUs do you have?11:36
awilkinsThis is a 1 CPU boxy (with HT)11:36
Odd_BlokeThat might do it.11:37
Odd_BlokeI don't really know.11:37
ronnyOdd_Bloke: oh, you mean how i would do dvcs different?11:38
fullermdRounding errors like that are hardly unknown in top   :p11:38
Odd_Blokeronny: Yeah.11:38
fullermd(rather, in stats reporting like that in general)11:38
fullermdRace conditions and observer skew and yada yada yada.11:39
Toksyuryelthis has me curious too11:41
ronnyOdd_Bloke: gits model is nice, but it needs more metadata11:41
ronnyand of course no git around it ;P11:41
ToksyuryelI bet you could write a bzr plugin to do it11:41
ronnyno11:42
ronnybzw wont get content addressing11:42
awilkinsMore like a git porcelain that looks like bzr11:42
awilkinsI dunno, people rate about gitk but I just fast-exported my big branch here and it looks a right mess in gtik11:42
awilkinsMaybe I'm not giving it enough hints11:43
ronnyduno, git only tracks snapshoots of trees11:43
ronnymakes it very messy for tracking history11:44
awilkinsDamn.... git _is_ fast12:05
awilkinsJust did git reset --hard on my fresh imported repo with no tree - p'chow!12:06
Mezany of the devvies around ?12:16
Odd_BlokeMez: Don't ask to ask, etc. :)12:19
MezOdd_Bloke: I asked earlier :D noone responded :D12:19
Odd_BlokeIn re: nested branches?12:21
Odd_BlokeI think the short answer is 'no'.12:21
Mez:(12:22
Mezlong answer?12:22
Odd_BlokeReal Soon Now. :)12:22
* Mez headwalls12:24
Odd_BlokeI believe LarstiQ is working on it.12:27
beunoMez, there are very strong rumors that someone will be working on it full time-ish soon12:27
beunoso maybe we'll get that in a few months12:27
=== asabil_ is now known as asabil
=== bac` is now known as bac
=== kiko-afk is now known as kiko
mrevellvila: ping14:40
vilamrevell: pong14:41
LarstiQOdd_Bloke, beuno: http://bazaar-vcs.org/NestedTreeProgress should be the focal point of nt progress14:56
Odd_BlokeMez: ^14:58
Odd_BlokeLarstiQ: Thanks. :)14:59
LarstiQnow, I'm down to a couple of conflicts in merge.py and transform.py, so updating that page is next14:59
LarstiQwe're going to visit my girlfriend's brother now, so ciao :)15:00
Odd_BlokeLarstiQ: Have fun. :)15:04
* vila doesn't quite follow how the nested boyfriend comes into play...15:10
=== kiko is now known as kiko-afk
=== thekorn_ is now known as thekorn
jammorning vila16:46
vilahi jam, stop loonking above my shoulder I am *already* reviewing your patch !16:47
jam:), I was just saying good morning16:47
vila:)16:47
beunohealthy paranoia16:48
jamwell.. paranoia, we can discuss the "healthy" part16:48
jam8)16:49
vilaOn my right screen I was looking into bbc tests, I think the first failing ones are for you, but obviously your plate is already pretty full today16:49
vilaI say for you because they seem to be related to some '\n' splitting16:49
vila./bzr selftest -s bzrlib.tests.per_repository_chk.test_supported.TestCHKSupport.test_pack_preserves_chk_bytes_store16:49
vilashould include them all16:49
vila-s rocks :-)16:50
Goundyguys I want your advices on organizing my project repository16:51
GoundyI'm writing a server/client gaming suite (for poker atm)16:51
GoundySo I have the client + the server + the project website16:52
awilkinsIs it a problem to just have it all in the same tree :-)16:52
GoundyAtm I've two branches: One branch mainline which contains two directotries (client and server)16:52
Goundyand another one for the website16:52
awilkinsWhy separate client/server branches?16:52
Goundysomeone think i can do better ?16:52
Goundyawilkins they're not seperated16:52
awilkinsAh, sorry,16:53
awilkinsMisread16:53
beunoGoundy, is the client open source?16:53
Goundyit's the same branche and it contains the sources in different dirs :)16:53
beuno(is the server?)16:53
Goundybeuno all's open source :)16:53
GoundyI'm hosted on launchpad :)16:53
beunoGoundy, then I'd think the separation is good16:53
Odd_BlokeHeh, 'in before'.16:53
beunoclient + server on one side, and webpage on the other16:53
Odd_BlokeGoundy: Sounds good to me.16:53
Goundybeuno well I thought the same thing also but guess what a serie can only have one branche :/16:53
Goundybeuno client and server in the same branch ?16:53
Odd_BlokeGoundy: It does depend how closely linked they all are.16:53
GoundyThat's what you're saying ?16:54
beunoGoundy, a LP series you mean?16:54
Goundybeuno yes16:54
Odd_BlokeIf the website is going to heavily depend on code from the other branch, maybe you want it in the same branch...16:54
GoundyOdd_Bloke well the link is the networking heh client <> server :è)16:54
Goundywell the website is totaly in xhtml atm16:54
Goundythe server is in C and the client in Java :è)16:54
GoundyThe server and the client aren't linked at a source level16:55
Goundyand the website isn't linked to these sources.16:55
Goundy( https://code.launchpad.net/~auresdev )16:55
GoundyHere's my current organization16:55
GoundySo you think I'm good keeping it that way guys ?16:59
=== kiko-afk is now known as kiko
=== bac is now known as bac_lunch
=== bac_lunch is now known as bac
=== thekorn_ is now known as thekorn
=== KangOl_ is now known as KangOl
jamvila: yeah, that failing test is because we changed the serialization format, and didn't change it there19:23
jamit isn't really about '\n', just about having another line of data19:23
jamvila: fixed in brisbane-core19:28
funkychicken818hey19:30
funkychicken818i have a merge a repository and it want me to run bzr update but i do not want to run the merge i want to simply remove it cause it screws up my files19:31
funkychicken818and when i try to run a push from another repository i says that nothing has changed19:31
funkychicken818hello?19:33
Demosthenesregarding nesting, isn't there some support for nesting in bazaar?19:39
Demosthenesi'm trying to model several users with a copy of their own data, centralized into on place for reporting, by pulling from the user branches....19:40
bialixfullermd: what do you mean by: "(b)(1) use it for a while without"19:55
bialixfullermd: you talk about: "flexibility and workflow just aren't obvious unless you..."19:58
lifelessMez: its not finished, and I don't know anyone currently developing it20:27
=== kiko is now known as kiko-afk
Mezlifeless: apparently LarstiQ is...20:59
Mezthough, by-value should suffice for my needs20:59
lifelessMez: 'actively' :P21:11
lifelessjam: ping, test_sprout_uses_bzrdir_branch_format21:11
jamlifeless: pong21:12
lifelessvila: "is used as an id by several tests" -> does this load them all, or fail to laod ?21:13
lifelessjam: hi, I replied to the mail21:13
lifelessjam: like to get this bedded down today so I can put the branch (which contains a lot more fixes :P) up21:14
jelmerif somebody could have a quick look at my InterBranch patch, that would help me a lot21:14
jamso what are you trying to change that would cause this test to break?21:14
jamI can sort-of agree that RemoteBranchFormat doesn't contain a lot of info21:15
jambut I don't see why the test would specifically break because of it21:15
lifelessjam: the direct cause is that branch_implementations was testing RemoteBranch using the real branch object21:15
lifelessdue to round about things21:15
jamand so it was passing by accident?21:16
lifelessoh yes21:16
lifelessand when I looked at it21:16
lifelessI could see it actually ends up asserting that the proxy object is a proxy object, which while it meets the letter, doesn't meet the spirit21:17
jamso what we want to assert is "source.sprout()" creates a target branch in the type that was initialized by the bzrdir object.21:17
jamI don't know that it matters for Remote21:17
lifelesswell sure, because if I sprout into a remote url, I want to copy across still21:18
jamIf you push into a remote url, you want to preserve the source format, yes. But that isn't what this is testing.21:18
jamIf you push "--stacked" into a remote url21:18
jamyou want a stackable format on the target21:19
lifelesswhat you specifically test though is, 'branch.sprout(a_bzrdir) uses a_bzrdir's branch format'21:19
jamlifeless: right21:19
jamas that is how "branch --stacked" support is implemented21:19
lifelessspiv and I were nearly quoting zork looking through this yesterday :)21:20
lifelessso21:20
lifelessif I change21:21
lifelessself.assertIs(self.branch_format.__class__, target._format.__class__)21:21
lifelessto21:21
lifelessself.assertIs(target_bzrdir.branch_format.__class__, target._format.__class__)21:21
lifelesswould that still be correct? It seems more obviously so to me, because its testing the direct behaviour21:22
lifelessrather than relying on the assumption that self.branch_format == target_bzrdir.branch_format21:22
jamumm... if "self.make_bzrdir('target').branch_format != self.branch_format" we have a serious problem with the test permutations code21:23
jamas it means we aren't actually testing the permutations we think we are testing.21:23
lifelessjam: one is backed by a real bzr dir object21:23
lifelessone is completely fictional21:23
pooliehello21:23
jamlifeless: but it is important to be testing the "fictional" apis21:23
jamhi poolie21:23
jamWe *need* to be testing that  RemoteBranch conforms to the api that the rest of Branch does21:24
jamI could accept that _format members may not be identical, etc.21:24
jamSo if you have a case that "X._format != self.branch_format" I can accept that21:25
lifelessjam: get_cloning_metadir gets a real branch format, not a RemoteBranchFormat21:25
lifelessjam: *because* of the way stacking is addressed21:25
jamAs long as isinstance(X, ?) is still correct21:25
lifelessjam: so we need to test the apis that are used, not the fictional ones21:25
lifelessjam: self.branch_format is a RemoteBranchFormat; target_bzrdir is a RemoteBzrDir; target_bzrdir.branch_format is a BranchFormat5/BranchFormat6/BranchFormat721:26
lifelesshi poolie21:26
pooliehi21:27
jamlifeless: I'm willing to give in to someone who is focused on that portion of the code right now.21:27
jamBut if target_bzrdir is a RemoteBzrdir then it seems that target_bzrdir.branch_format *should* be RemoteBranchFormat21:27
jamI need to go pick up my son to be back in time for the standup.21:28
jamI don't want to block you21:28
jamand I'll admit to not having a perfect understanding of what the code should be21:28
jamget_cloning_metadir() probably needs real objects21:29
lifelessjam: I would have thought so to, but then I looked :)21:29
lifelessand cloning_metadir() on remote delegates to _real_bzrdir21:29
lifelessso yes, we end up with real objects being initialized on a remote branch21:29
lifelessone side effect of that is that we initialize via VFS calls21:29
lifeless100 or so in fact21:29
jamlifeless: which seems incorrect21:30
lifelessandrew and I would like to fix this21:30
jamanyway, I do need to go, bbiab21:30
lifelessciao21:30
* lifeless is fooding21:43
bialixa while ago I've read the article about dagger fixes. I can't find it anymore with google. Anybody has the link or the saved article text?21:44
lifeless'dagger fixes?'21:44
jelmers/dagger/dag ?21:44
mwhudsonpoolie: can you explain to me the relationship between progresstask and progress bars?21:44
lifelessbialix: oh, 'daggy fixes'21:44
bialixdaggy? mmm, perhaps21:45
jelmerbialix: a dagger is a kind of knife IIRC21:45
bialixit sound similar, is not?21:45
lifelesshttp://monotone.ca/wiki/DaggyFixes/21:45
lifelessbialix: yes, its a false friend21:45
bialixyes, it's what I need21:46
poolieit is kind of similar, being a pointy bit21:46
pooliemwhudson: um21:46
bialix"daggy" -- queer word21:47
mwhudsonpoolie: bzrlib.ui.ui_factory.nested_progress_bar returns a task it seems21:47
pooliemwhudson: we used to have just one ProgressBar class21:48
bialixlifeless: thanks21:48
pooliei'm now doing a model:view separation21:48
mwhudsonah right21:48
pooliethe model object is a ProgressTask21:48
pooliehowever some of the apis have not been renamed yet21:48
pooliedoes that help?21:49
mwhudsonyes21:50
mwhudsonwhat launchpad wants to do is intercept all progress reports21:50
mwhudsoni just don't quite see how to impose my own progressbar class any more21:51
mwhudson(or indeed, if attacking this at the view level is the right place)21:51
mwhudsonit seems like i could do this by overriding _progress_updated in my uifactory, but um21:52
poolieyou should provide your own ui21:53
pooliemodulo bugs, that should be able to completely replace any concept that progress bars are being drawn on a tty21:53
mwhudsonright21:53
mwhudsoni'm just not completely sure what this ui should do :)21:53
mwhudsonmaybe it should override _progress_updated21:54
poolienested_progress_bar should not be overridden21:55
poolieyes21:55
poolieprogress_updated is the main one you should care about21:55
mwhudsonthe _ scared me off21:55
pooliedo you just care about "it's still alive"?21:55
mwhudsonyep21:55
mwhudsonthe process gets killed after 15 mins of inactivity or something21:55
pooliecalls to that indicate that it is21:55
poolieum21:55
pooliepossibly we should give the ui a chance to return an object upon which progress_updated will be called21:56
poolieie the view object21:56
pooliebut i didn't do that yet21:56
pooliethen it would make sense for the model just to be directly constructed21:56
mwhudsonyou mean get rid of nested_progess_bar?22:01
mwhudsonanyway, i'm at least moderately happy as i can delete some code now :)22:02
igcmorning22:02
jampoolie: I just missed it, ring again22:03
mwhudsonthough overriding a _method means that i'll get to do this again in a month22:03
pooliesorry22:04
poolieit is the intended method22:04
mwhudsoncool22:04
mwhudsonit's hard to distinguish between "don't call this unless you know what you are doing" and "this may go away"22:05
lifelessmwhudson: 'method' is for 'clients of bzrlib use/fully public/fully supported'22:05
lifelessmwhudson: '_method' is for 'for subclassing/private do not use/unsupported use but be ready to update'/22:06
pooliemwhudson: also and "this is public for subclassing" and "for calling"22:06
lifelessmwhudson: too many bits, not enough space22:06
pooliewot he said22:06
lifelessmwhudson: so ready the docstring, we try to be clear there :)22:06
mwhudsonyeah, this says "Should be specialized to draw the progress."22:07
mwhudsonso woot22:07
pooliemwhudson: i'd like to come back and clean it up more22:09
pooliewill ping you when i do22:09
mwhudsonpoolie: thanks22:09
=== bac is now known as bac_afk
Odd_Blokelifeless: I think LarstiQ has been doing some nested tree stuff recently.22:14
vilalifeless: they are loaded, that's how I detect that several ones have the same id (which may be a problem or not, it seems wrong to me in general, but I don't know that it can cause a problem except when one fails and you try to understand which one)22:15
Odd_BlokeHe and jelmer were pairing on it at FOSDEM, possibly...22:15
lifelessvila: cool, we should fix them, but not-right-now22:15
vilajam: thks for the fix22:15
lifelessvila: did you see my two patches yesterday (in bzr.dev now)22:15
vilalifeless: if you found same, mail them to me, I'll record them in my TODO list22:16
lifelessvila: the second one has a plugin for bzr/subunit, which you will probably like :P22:16
lifelessvila: '"bzrlib.tests.tree_implementations.test_walkdirs.TestWalkdirs.test_walkdir_versioned_kind(DirStateRevisionTree)" is used as an id by several tests22:16
lifeless'22:16
vilalifeless: I would like to look at the one around the command, but didn't find th etime yet22:16
lifelessvila: you can just drop the code in the second one into ~/.bazaar/plugins/subunit22:16
lifelessvila: as long as you have subunit installed :P22:17
jelmersubunit \o/22:17
lifelessjelmer: yeah, I got around to my long threatened 'I should be able to use this with bzr'22:17
jamvila: which fix would that be?22:18
vilasubunit appeared on my radar quite strongly today especially the 'reports to the parent as tests begin and end' since I'm currently thinking about parallelizing the test suite...22:18
vilajam: hehe, the bbc one :)22:19
jamah, yeah no prob22:19
jamare the tests close to all passing now?22:19
jam(did you get poolie's work?)22:19
vilaI didn't work much on them I wanted to review igc patch about log multiple files and directory22:20
vilaI've seen poolie's work yet22:20
vilaIn fact, I'm not there, I'm in bed and I sleep :)22:21
vilaI've *NOT* seen poolie's work yet22:22
vilagrr22:22
vilasleeping indeed :)22:22
lifelessspiv: can I delete FakeRemoteTransport? used in one, disabled, test22:22
spivlifeless: sounds good22:22
poolievila, i'll send today i promise22:23
vilapoolie: I asked nothing ! I don't even know what you're talking about :-) But I'm curious now... will I be able to sleep ? :)22:24
jamlifeless: I'd like to chat quickly about '\n' delimited chk records22:25
jamvila: poolie did some work on making the test suite pass22:25
jamhe claims he made progress22:26
jamnobody else has seen the results :)22:26
jamI think he is secretly planning on actually doing the work22:26
jamand then sending it22:26
lifelessjam: sure thing22:26
jamlifeless: so... I think it is a good decision to use '\n', as it means we don't have to try quite as hard to make a compressor that is not line based22:27
jammy main concern is "compatibility"22:27
lifelesswith?22:27
jamI introduced the hash prefix stuff22:27
jamin such a way that we can read -dev4 or hash based ones22:27
jamshould I try to do the same for this22:27
lifelessso the hash thing I think thats worth doing, because we're still comparing IMO22:27
lifelesshowever this \n is trivial its not a strategic decision, if you like22:28
lifelessits should have little to no long term impact22:28
lifelessso JFDI imo22:28
jamk22:28
lifelesstwiddle a bit in the dev3 and dev4 disk format labels to stop confusion22:28
jamit makes *my* life a lot easier :)22:28
jamdoing it means fixing a lot of serialization dependent tests, so getting the answer up-front is important22:29
jamI sent my hash prefix stuff to the list just now22:29
jamigc: I think I know why you couldn't reproduce bug #32813522:30
ubottuLaunchpad bug 328135 in bzr "bzr init-repos --development-wt5-rich-root gives: "AttributeError: 'module' object has no attribute 'WorkingTreeFormat4'"" [High,Fix committed] https://launchpad.net/bugs/32813522:30
jamI would guess you had a plugin that did "import bzrlib.workingtree"22:30
jamwhich was happening *before* the initialize() code was doing it22:30
=== Guest65438 is now known as mxab
=== mxab is now known as maxb
jamI'm not sure why I *don't* have a plugin which does that22:31
jamthough I did spend a bit of time to make a couple of my installed plugins a bit more "lazy"22:31
igcjam: interesting. Thank you *so* much for tracking this down22:36
jamigc: you can test yourself with "python -c 'import bzrlib.workingtree_4'"22:36
jamthat should break22:36
jam(even with my fix)22:36
jambut at least it isn't user-visible for now22:36
igcjam: yep, that breaks for me22:37
jamlifeless: do you think we need to keep -dev3 around?22:37
jamigc: now, in theory, this would pass "python -c 'import bzrlib.plugin; bzrlib.plugins.load_plugins(); import bzrlib.workingtree_4'"22:38
lifelessjam: I think its clearly substandard, so no22:38
jamlifeless: that was my feeling22:38
jamif I was going to change the format string, I may as well get rid of it22:38
lifelessjam: sure22:38
igcjam: yes, that works22:40
jamigc: there you go :), I assume "bzr init --development-wt5 --no-plugins" would also fail for you22:40
igcjam: yes22:42
jamI believe that should work on the bzr.1.12 branch22:42
igclifeless: so groupcompress has a minor bug - it needs to import repo_registry before the 'if chk' test22:42
igclifeless, jam: also, so we please start using WorkingTreeFormat5 in the new dev formats22:43
igcs/so/can/22:43
igcthat will increase testing22:43
jamigc: not by a lot, but sure22:44
jamI'll go ahead and bump everything to v522:45
jamjust to make it obvious22:45
lifelessjam: have you looked at performance with mmap?22:45
jamlifeless: I have a branch which changes LocalTransport.readv() to use mmap to return the strings22:46
jamMy initial tests showed no real difference22:46
jamBut I didn't test thoroughlty22:46
lifelessjam: I'd like to try minimising the open() calls22:46
jamlifeless: yeah, it cached the mmap22:46
jamand then trapped for rename(), tec.22:46
lifelessok call22:46
lifelessok cool22:46
jamlp:~jameinel/+junk/bzr-mmap-readv22:47
igcjam: were you going to send the development-wt5 to bzr.dev or wait for poolie to merge the 1.12 changes across?22:47
jamIt does a "trace.note()" when used22:47
jamjust to be sure22:47
jamigc: I was just waiting for 1.1222:47
jamsince it is ~today22:47
igcjam: np. I'll update the bug report to say as much22:48
lifelessdo teams have +junk?22:49
lifelessspiv: so, the disabled test turns out to be one that would have trapped the double get_stacked_on verb call :)22:52
Demosthenesregarding nesting, isn't there some support for nesting in bazaar?22:52
Demosthenesi'm trying to model several users with a copy of their own data, centralized into on place for reporting, by pulling from the user branches....22:52
Demosthenesthe master doesn't seem to like committed when subdirs are branches.22:54
Demostheneser, committing22:54
lifelessDemosthenes: there isn't user-ready code, no.22:55
lifelessLarstiQ: you need a bot to pipe up here22:55
lifelessspiv: bzr: ERROR: [Errno 2] No such file or directory: '/tmp/testbzrG-RDn6.log'22:55
lifelessspiv: I think there is a bug actually, in the log related test code, cause I'm getting that and I'm not working on write groups ;P22:55
lifelessspiv: something like a gc event causing it22:56
Demostheneslifeless: so i'm better off symlinking or putting the "child" branches in sibling directories then.22:59
lifelessDemosthenes: or merging them into subdirs - see the merge_into plugin23:00
spivlifeless: chatting to thumper atm23:00
lifelessspiv: when you can, I have a nontrivial issue in this branch23:01
mwhudsonpoolie: this is the ui factory code i have now, does it look vaguely sane? http://pastebin.ubuntu.com/117472/23:01
garyvdmpoolie,luks:  Alex is not around so I'm asking you guys. We have a regression in qbzr 0.9.7 - bug 327395 - we allready have a fix - should we do another release with just a cherrypick of that fix - to be included in bzr 1.12 finial?23:14
ubottuLaunchpad bug 327395 in qbzr "qinit does not work" [Medium,Fix committed] https://launchpad.net/bugs/32739523:14
pooliehey23:15
pooliemwhudson: yes that looks good23:15
pooliei'd also like to factor out the various types of questions we ask the user into abstracted methods23:15
poolieso you don't need the icky string compare23:15
mwhudsonpoolie: yes, that would be nice :)23:16
mwhudsonpoolie: thanks for the sanity check23:16
pooliegaryvdm: so where would this change have to be included?23:23
lifelesswoo nearly there23:23
pooliein the bzr branch, or just in the windows installers?23:23
lifelesspoolie: windows / macosx installers from the look of it23:23
lifelessgaryvdm: doing a release makes it clearer to folk, I'd say do one23:24
garyvdmOk -23:24
garyvdmShould I call it 0.9.8 or 0.9.7-rc2 or ...?23:24
pooliewhat was your previous release, rc1?23:25
garyvdmJust 0.9.723:25
poolieif you're just changing that i'd just call it final23:25
garyvdmI guess that because we did not specify rc1 on the prev release - we have to call it 0.9.823:27
lifelessspiv: ok, that fail list all passes now.23:28
lifelesswhew23:28
lifelessspiv: so I'm running all tests again, see if there are any new fails23:28
spivlifeless: woo23:34
spivlifeless: yeah, I'm pretty sure from yesterday that the test infrastructure's handling of the log file is busted, because I kept hitting it23:35
spivsomething to do with raising an exception during a cleanup func perhaps?23:35
spivSo long as my tests weren't erroring it was fine ;)23:35
mthaddonanyone able to comment on https://bugs.launchpad.net/pqm/+bug/191393/comments/3 - I'm assuming this is a bug in bzrlib rather than PQM, but just checking23:54
ubottuUbuntu bug 191393 in pqm "PQM outputs 'No handlers could be found for logger "bzr"'" [Undecided,New]23:54
lifelessmthaddon: its likely a case where pqm needs to setup a handler or some such23:55
mthaddonlifeless: but how come I can reproduce it in such a simple test? doesn't that suggest bzrlib.branch should be doing something different?23:56
lifelessmthaddon: maybe :P23:58
mthaddonwho'd be best to comment on that?23:58
lifelessmthaddon: its coming from the pytohn logging stuff23:58
jelmerwould somebody perhaps have time to have a look at my InterBranch patch?23:58
lifelessbzr uses that to output progress data to  ~/.bzr.log23:58
lifelesswe kindof want that facility to work23:59
lifelesspossibly a better thing to do would be to check if there are no handlers, and if not setup either our normal ones, or null handler23:59
jelmerIt's blocking my bzr-git work a bit atm, as it's required to do bzr pull from remote git branches23:59
lifelessjelmer: I'll try23:59

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