/srv/irclogs.ubuntu.com/2010/09/24/#bzr.txt

mkanatcheater99: Also, for people who are familiar with CVS or Svn, it has a basically-compatible command set.00:00
mkanatcheater99: And finally, it can do remote operations, which git cannot.00:00
cheater99ok00:00
mkanatcheater99: git's advantage is that it is ridiculously, blindingly fast.00:01
cheater99what's the slowest thing in bzr?00:01
mkanatcheater99: Probably annotate, like every DVCS (git and hg will be the same). Also, "bzr log -v" can be slow on large projects.00:01
poolie_interesting question00:01
poolie_'check' is probably the least optimized code00:01
cheater99what is the slowest thing in bzr that is comparably very fast in git?00:02
mkanatpoolie_: But also one that normal users will almost never be running.00:02
poolie_probably also check00:02
cheater99what about local branching?00:02
poolie_bzr being in python has a startup time overhead of a fraction of a second on each command, which git doesn't have00:02
cheater99how does that work out?00:02
cheater99aha00:03
mkanatcheater99: If you have created a "repository" with bzr, local branching is very fast.00:03
cheater99but can't you have a python daemon..00:03
poolie_bzr commit was recently measured (benchmarks are all bogus) as faster than hg00:03
poolie_which didn't used to be true00:03
cheater99mhm00:03
mkanatcheater99: The day-to-day difference of speed using bzr and git makes no significant difference in my development productivity.00:03
cheater99but if you have a running python process already then there's no startup overhead00:03
mkanatcheater99: But if I had 100,000 commits in my repo, that might be a different story.00:04
mkanatcheater99: The startup overhead is not something that's going to affect your productivity.00:04
mkanatcheater99: There isn't any common operation where there isn't a linear difference between bzr and git.00:04
cheater99aha00:04
cheater99that is good to know00:04
poolie_cheater99, there is a plugin that gives you a longrunning python process00:05
poolie_and then a c program that passes commands to it00:05
mkanatpoolie_: That's cool; I didn't know that.00:05
cheater99nice00:05
mkanatcheater99: Also, I suppose one of the advantages of bzr is that you go into #bzr and the project lead helps you out, there. Hahaha.00:06
mkanat(Although actually, pretty much everybody in this channel I've found to be pretty helpful.)00:06
cheater99who's the project lead?00:06
mkanatcheater99: poolie00:06
cheater99ah00:06
cheater99nice00:06
cheater99hi00:06
cheater99also, very different experience from the git channel :)00:07
mkanatYeah.00:07
mkanatWhere you go in and people insult you because you're not doing it right. :-D00:07
mkanat(Well, not always, though. Sometimes #git is helpful.)00:07
cheater99that's sadly the kind of experience i got00:07
cheater99what do you think is missing most in bzr?00:08
poolie_ah, cleaner colocated (git-style) branches00:09
poolie_s//and built-in00:09
poolie_ditto built in nested trees aka submodules aka externals00:09
cheater99is it far off?00:10
cheater99i guess it doesn't matter that much though :)00:12
cheater99bzr feels very solid00:12
cheater99what i really like about it is the manuals are so friendly00:12
cheater99big difference from cvs, git, svn, rcs, ..00:12
cheater99can i somehow make bzr version files inside archives?00:13
poolie_how do you mean?00:13
cheater99well00:13
cheater99some applications save documents as archives. for example, mysql workbench00:14
cheater99it has this .mwb file format, which is in fact a zip with xml and other ascii files in it00:14
cheater99:)00:14
fullermdcheater99: The answer to that is "no, but it comes up from time to time"00:15
cheater99cool00:15
cheater99i would need to convert from cvs to bzr.00:16
cheater99will that make historical commits in cvs atomic?00:17
mwhudsonmost of the conversion tools put some effort into that, yes00:17
cheater99cool00:18
cheater99does that actually work?00:18
cheater99the repository i'm talking about isn't huge00:18
fullermdOften   :)00:18
cheater99and it wasn't extremely busy00:18
cheater99about up to 5 developers at any time... doing just a handful of commits every day00:18
mwhudsonshould be fine00:18
cheater99that will atomize the non-atomic commits in cvs?00:19
cheater99really?00:19
cheater99nice!00:19
cheater99hm, one thing that would be cool: to be able to use bzr for my editing buffer in vim ;)00:20
cheater99for undo/redo00:20
cheater99:)00:20
fullermdWell, most converters try.  CVS makes it difficult to be sure of success, so results vary.00:21
cheater99that's cool though00:21
cheater99after all we're not talking about rocket brain surgery00:21
fullermdIf you haven't done repo surgery, or a lot of cross-branch work, it usually turns out OK.00:22
cheater99not at all00:22
cheater99i would say, maybe 3 concurrent branches at most00:22
fullermdWell, things like having a file on one branch that are later added to another branch can be squirrely.  And figuring branch points is educated guesswork.00:23
fullermdIt really just ends up as "try and see".00:23
jbowtiecheater99: I'm drafting a blueprint specifically for that use case (diffing and merging zip files)00:24
fullermd(that's not bzr-specific; it's the "figure out what actually should have happened from CVS records" side of things)00:24
cheater99jbowtie: nice!00:24
cheater99jbowtie: any cool bits to talk about? :)00:25
jbowtieThe proposal is specifically for working with free software formats that we currently treat as unmergable binaries.00:26
cheater99yes00:27
cheater99but then i ask myself00:27
cheater99if a zip has a zip in it00:27
cheater99you will have to merge recursively.00:27
jbowtieFor zip files (and variants and other archives) we should be able to treat them as folders.00:27
cheater99and then you are really defining a new "dimension" of files00:27
cheater99so not only horizontally across the file system00:28
cheater99but also vertically inside files.00:28
jbowtieAnd we already know how to merge folders recursively.00:28
cheater99yes00:28
cheater99i guess if you think of it that way00:28
cheater99then it becomes easy00:28
cheater99a folder is just a different "file format" then00:28
cheater99and then, i guess, other formats which do not depend on zip etc, but still have some sort of modules in them, could possibly have a plugin that talks to some sort of api00:29
jbowtieWell, there are going to be performance issues working with archives (particularly tar files) but the improved user experience should make up for it.00:29
cheater99yes00:29
jbowtieYes, that's what I really need to pin down in the blueprint proposal - what the API looks like.00:29
cheater99but those "performance issues" should only happen when they choose to merge, right?00:29
dOxxxany operation that requires accessing the contents of the files is going to incur some overhead from decompression00:31
cheater99i think the simplest api would be: present the plugin with both files to be merged, expect a third file in a special location :))00:31
jbowtieCorrect; I imagine in the first iteration of an implementation you'd have to turn it on via plugin.00:31
cheater99dOxxx: that's obvious :)00:31
dOxxxthat's me, captain obvious :P00:31
cheater99jbowtie: but if you want your merge to only overwrite?00:32
cheater99jbowtie: you'd need to have a special way to do that too00:32
cheater99i.e. i want to merge, but all my binaries overwrite remote binaries.00:32
dOxxxsomething like that might be possible with the per_file merge hooks00:32
cheater99ah00:33
dOxxxthere's already a plugin that handles merging of NEWS files specially00:33
cheater99but, that's a bit crappy not to have this granularity then and there00:33
jbowtieWe just need to make sure the merge hook API covers our scenarios, and add corresponding diff hooks.00:33
cheater99i would even like to be able to say "bzr always-overwrite-on-merge myarchive.tgz"00:34
dOxxxyeah, I'm not sure how configurable it is, whether it can selectively operate on some files some of the time00:34
jbowtieWhat you do is have your plugin use the hooks, then make the plugin configurable.00:34
cheater99:)00:34
dOxxxtheoretically, the plugin could add a file to the .bzr directory in the branch which contains a list of files that have to merged specially00:34
cheater99btw00:35
cheater99can i use bzr with github?00:35
cheater99not as the main repository00:35
cheater99but just so that i can use github statistics, graphs, and all that silly stuff00:35
jbowtieBut I'm also looking at more complex scenarios, like merging Photoshop files - the diff and merge works on layers instead of lines of text.00:35
cheater99yes00:35
jbowtieYes, just use the bzr-git plugin.00:35
cheater99i guess you'd need a graphical log then huh?00:35
cheater99displaying graphics :)00:36
cheater99i really like this jbowtie00:36
jbowtieI think you need to work with the GIMP folks to see what can be reported in text (layer names perhaps) as well as hooks for the (existing) graphical diff tools.00:37
jbowtieMy goal is to ultimately make bzr a good experience for artists as well as programmers.00:37
mkanatjbowtie: Does bzr even do binary deltas right now?00:38
jbowtieWorking on, say, a game, you should be able to version your art assets in the same repository as your code assets.00:38
mkanatjbowtie: That would definitely fix the third common unanswerable question that people come in here with.00:39
mkanatjbowtie: "I have this repository with these 20GB files in it, and..."00:39
jbowtiemkanat: I'm pretty sure it does, but diff and merge is reduced to (these binaries differ) and (choose mine or theirs) respectively.00:39
jbowtiemkanat: Though I'd actually have to look at the branch format to see how it stores things.00:40
mwhudsonthe problem of course is that compressed content doesn't diff well, on the whole00:40
mkanatjbowtie: *nod*00:40
cheater99jbowtie: great idea00:41
mwhudsonhard to squeeze out entropy in two ways at once00:41
cheater99jbowtie: does it let you interactively download and open the two binaries?00:42
cheater99jbowtie: so that you actually know what you're overwriting,00:42
cheater99and so that you can open it in, for example, photoshop.00:42
jbowtiecheater99: Yes, if you use qdiff right now it shows you images side-by-side, that sort of thing.00:43
cheater99yeah but what if they're, say, UnrealED maps.00:44
cheater99i need to open them in the level editor00:44
cheater99(just giving you an idea of where you need access to the files)00:44
jbowtiecheater99: That's the point of the blueprint I'm drafting; so you have an API that lets plugins hook in and provide that for both diffing and interactively merging.00:45
=== sidnei-dinner is now known as sidnei
cheater99yep00:45
cheater99but that api won't be implemented for everything!00:45
cheater99so the situation i describe will still be the default for most things..00:46
jbowtieAbsolutely - but we'll start by handling zips (I would think) and start talking to the main free software artist tools.00:46
jbowtieOnce we've got a decent API and good examples to build of off, people will be able to write plugins for any binary format.00:47
jbowtieAnd we always have a fallback for generic, unhandled binary files, which is the current behaviour.00:47
cheater99yup00:47
cheater99:)00:47
cheater99i'm off to sleep, cya guys!00:48
cheater99thanks for the info!00:48
cheater99:)00:48
dOxxxciao00:49
mkanatpoolie: I'm going to do some loggerhead research and possibly some work today. :-)01:00
pooliemkanat: nice01:07
mkanatI can't help but feel like loggerhead.config is a reinvention of a wheel that exists somewhere else.01:14
mkanatIt's not that complex, though.01:14
mkanatThere's got to be duplicate code in bzrlib, though, since it's doing very bzr-ish things.01:15
mkanatIn fact, looking over the general startup code for loggerhead, I'm tempted to join the "this should entirely be a bzr plugin" camp.01:17
mkanatMan, there's a lot of Paste stuff in loggerhead, strewn about. :-(01:26
mkanatLargely because Paste itself does too many things.01:28
mkanatjam: Does the existing bzr-history-db stuff do on-disk file locking? That is, would multiple loggerhead processes running be OK?01:32
mkanatI assume it does, and that it's just part of the normal bzr locking mechanisms.01:32
pooliemkanat: i think that's correct01:52
poolieit uses a pack db i think, which is multi writer safe01:52
mkanatpoolie: Okay.01:52
jbowtiepoolie: Did you need any supporting material for my CV?  Last time I asked you were still waiting on HR.02:01
* poolie looks02:02
pooliei still am waiting :/02:02
pooliewill ping them tonight02:02
poolieactually can you send me a copy direct, in parallel?02:02
jbowtieSure, will do.02:04
jbowtiepoolie: Sent through to your canonical account.02:12
pooliethanks02:26
mkanatpoolie: I'm starting to lean toward's lifeless's suggestion of making a 1-thread paste server and running it multiple times, and just putting it behind a proxy.02:27
poolieok, interesting02:28
pooliewhy behind a proxy?02:28
mkanatpoolie: The reason being that Paste is sort of littered throughout the code.02:28
mkanatpoolie: For load-balancing.02:28
mkanatpoolie: That is, we simply would run serve-branches four times, on four different ports, on a four-core machine.02:29
mkanatOr we'd run it 10 times, if we wanted to be able to handle 10 simultaneous requests.02:29
poolieyou know you can actually have multiple processes listening on the same port02:29
mkanatpoolie: Yes, with a master + forking situation.02:30
mkanatpoolie: Which would be Spawning, then, not Paste, since Paste can't do multi-process.02:30
pooliedoesn't SO_REUSADDR let you bind a port that's already open?02:31
mkanatpoolie: Unless you just mean have the process release the port when it's working, and then wait in a queue.02:31
poolieimbw02:31
pooliei'm just saying it seems nice to avoid adding a proxy if it's only going to distribute work across ports02:31
mkanatpoolie: What lifeless suggested is what Launchpad does now.02:32
mkanatpoolie: The advantage is that it's just a configuration change.02:32
mkanatAlthough I'd have to test it locally and make sure that running multiple loggerhead processes actually works.02:32
mkanatpoolie: The scaling problem is only a problem at Launchpad, AFAIK.02:37
poolieok, that makes sense02:37
mkanatpoolie: The complexity of threading is a problem everywhere, so it would still be nice to switch to a multi-process model, and I'd love the code cleanup that would involve. But I feel like the best time investment might be to investigate the 1-thread paste server solution.02:38
GungaDinhow do I get the source for bzr-rewrite? using bzr?02:40
GungaDinI have the url for trunk... but how do I check it out?02:40
GungaDindoesn't seem to be a repo02:40
poolieGungaDin: 'bzr branch lp:bzr-rewrite' doesn't work?02:41
GungaDinwill try02:41
GungaDinworks02:41
GungaDinthx02:41
mkanatpoolie: Next time I work on loggerhead I'm probably going to try out the 1-thread system and see if it works and what would need to be fixed.02:58
jbowtiespiv: Thanks for reviewing those doc patches so quickly.02:59
jbowtieI was thinking that more of those links should be turned in Sphinx ref directives, might reduce link breakage bugs.03:00
spivjbowtie: yeah, that sounds good03:03
spivjbowtie: we only switched to just Sphinx relatively recently03:03
spivBefore that we were a bit limited by also supporting plain docutils.03:03
GungaDinI've accidently rebased a branch and I'd like to undo it... how can I do that?03:05
GungaDin(using bzr rebase)03:05
spivGungaDin: Perhaps with 'bzr pull --overwrite -r revid:OLD_REVID', if you know the old revision ID (or can find it with 'bzr heads' from the bzrtools plugin)03:07
GungaDinsomething very weird happened.. because I specified a branch I had merged into and not the parent branch03:08
GungaDinand now both branches looks the same03:08
* spiv -> lunch. Looking forward to some replies from PQM when I get back...03:33
anteruGood evening04:24
anteruhttp://img137.imageshack.us/img137/2454/bzr3.png (some more work on a new website)04:30
anteru(for bzr, that is :) )04:31
pooliehi there anteru04:33
pooliespiv could you take a pass through the New bug queue?04:33
anteruSlow progress, as I'm investing 1 hour every two weeks or so right now, busy with work...04:33
poolieit's good04:34
pooliei wonder if the command-line samples are a bit too directly derivative of the git homepage?04:34
anteruhg has the same :)04:34
pooliealso, to me, the different shades of blue kind of clash with each other04:34
anteruYeah, the colors are crap, I need to fabricate a few images later on.04:35
anteruAnd I still wonder how to place the explorer screenshot04:35
anteruafter all, it's a usp for bzr04:35
poolieright, i think we want to communicate both the gui and cli bits04:36
jbowtieI assume you're going to align the second block to the grid at some point?04:36
anteruI'm going to pull a grid over this really soon now, wanted to get the big fat bazaar text right today.04:36
anterunavigation will be close to what ubuntu.com has, that shouldn't be a problem as it's canonical here as well04:38
anteruI wonder if someone agrees that it's enough to have the version number at the downloads instead of having it below the bazaar text?04:39
anteruAt least for me as a user, I'm going to search the version at downloads, to see if X.Y is available for my OS.04:39
jbowtieI agree, though it would be good if a major release made a bit of a splash on that page - is there an obvious place for that?04:42
poolieagree04:42
pooliei like having the blog and announcements syndicated there04:42
poolieabove the fold04:42
pooliealso it kind of sucks to say "no test release"04:42
poolielet's just omit that if there is none04:42
anteruwell, you could always add a big 3 next to bazaar04:42
=== FryGuy_ is now known as FryGuy-
anteruOk, taking some notes: Different color scheme, gridified layout, place for syndication, less version numbers.04:45
jbowtieFor the color scheme you might want to see what the full Ubuntu palette looks like (I'm sure they have compatible shades of yellow and blue to go with their dominant colors)04:49
jbowtieOnce you've nailed down the grid I'll start overhauling the documentation templates to coordinate.04:51
jbowtieThat'll probably bring up color issues with the images in the doco.04:51
anteruDo you have a link to the ubuntu color scheme?04:53
jbowtieI'd probably start on design.canonical.com - I'm just running off to a meeting or I'd hunt it down.04:58
anteruOk, thanks!04:58
anteruShould do it04:58
anteruFound the color palette04:59
GungaDinwhen merging only several commits, how come you can't see the merged commits in qlog?05:28
anteruYou don't see the plus sign?05:30
GungaDinnope05:31
GungaDinjust one commit05:31
GungaDinwithout a plus sign05:31
anteruand bzr log --include-merges shows it?05:32
GungaDinqlog doesn't accept that. and with just log doesn't seem so .05:37
anteruIf bzr log doesn't show it, then it's not a qlog problem.05:38
anteruAre you sure you didn't push?05:38
* anteru never had an issue with a merge loosing history ...05:38
GungaDinjust merged and commited05:46
GungaDinno, log doesn't show them.05:47
anteruSounds like a bug.05:49
spivGungaDin: "merging only several commits", you mean "bzr merge -r x..y"?05:56
spivGungaDin: if so, then that's cherrypicking, bzr can't record those as merges, it's more like just applying the diff05:57
spivGungaDin: if you look at the "bzr st" output before committing that sort of merge it won't have any "pending merges"05:58
spivGungaDin: so I think it's not a qlog issue, just a bzr limitation: http://doc.bazaar.canonical.com/latest/en/user-guide/adv_merging.html#cherrypicking05:59
GungaDinyes06:01
GungaDin-r x..y06:01
GungaDinI'm just looking for a way to move commits to a different branch... if that's possible.06:02
GungaDinI have a branch where there are two sets of commits which are mutually exclusive.06:02
spivWell, one option may be to "bzr branch original-branch different-branch; cd different-branch; bzr merge -r Y..X; bzr ci -m 'Revert changes from X to Y'" — note the order of Y..X, i.e. a reverse cherrypick.  So all the revs are still in the history, but then you add a rev that undoes the changes those revs make.06:08
spivNot sure if that suits your needs or not.06:08
anteruHm, is bzr going to track cherrypicking in the future?06:09
spivanteru: hopefully, but we're unlikely to work on that in the near future :(06:10
spivStuff like co-located branches are higher on Canonical's todo list... but patches are always welcome ;)06:10
anteruOk. I often cherry-pick something before merging the rest of the branch later on, didn't notice that yet.06:10
anteruspiv: I'll look again at contributing to bzr when I'm back at home, ~ 2 months.06:11
anteruThe use case I'm running into is that I do some quick fix on a feature branch, and I want to move that fix immedialtey back to my trunk, and merge the rest of the feature later.06:12
spivIn practice cherrypicking often works out ok, because although bzr doesn't track them, it does avoid reporting a conflict when you merge two branches that appear to have independently made an indentical change.06:12
spivs/indentical/identical/06:12
anteruAh ok. Colocated-branches is branches svn:external?06:12
anteruArgs: Colocated branches are the svn:external equivalent?06:12
spivNo, colocated branches is having a single working tree that can contain multiple branches that you can 'bzr switch' between.06:13
anteruSimilar to what git does?06:14
spivRight.06:14
anteruAh ok. All the DVCS are so similar now, it's just a question until they converge to a common feature set ...06:14
spivThere's a bzr-colo plugin already, but there's some progress towards making it a polished feature of core bzr.06:14
anteruSounds useful for some of the C++ stuff I do, as I won't need to have several build trees.06:15
spivRight.06:16
spivYou can already have a single working tree for multiple branches in bzr, but it's a bit more effort to set up and use than we'd like.06:17
spiv(Make a shared repo of tree-less branches, and have a single lightweight checkout that you 'bzr switch' between those branches, and of course create/remove/etc branches in the repo)06:18
anteruI can see why colocated branches are moving into core :)06:22
spiv:)06:22
anteruI really hope that some more high-profile projects finally pick up Bzr, the amound of Fud on the intertubes is incredible.06:25
GungaDinit'd be nice if cherry picking was better supported.06:25
GungaDinif you could see the actual partial commits that have been merged..06:25
anterunight06:51
pooliei'm using colo now06:58
pooliequite good so far06:58
vilapoolie: quick chat ?07:51
vilaerr, hi all !07:52
spivHi vila :)07:52
vilaspiv: hey !07:52
vilaspiv: did I thank you for the unicode patch ? I don't think so, so THanks !07:52
vilaspiv: is there a reason you didn't try to target it at 2.0/2.1 ?07:53
spivvila: 2.2 was the source of the initial repot07:54
vilaspiv: ok07:54
spivIt's probably easy to backport (at least of the affected tests doesn't exist in 2.1, I'm fairly sure).07:54
vilaspiv: if we try to activate the testsuite during the builds in the future we may want to backport it07:54
vilaspiv: if you could do that that will be great07:55
spivvila: your 644855-test-isolation just bounced due to a NEWS conflict, btw07:55
spivyeah, a backport makes sense to me.07:55
vilaspiv: shudder, thanks for the heads-up07:55
vilaspiv: I thought about it and... forgot :-/07:56
vilaspiv: I mean, I suspected that adding the first bug entry may lead to problems down the road and forgot to check07:56
viladOxxx: thanks for merging my README changes !08:03
viladOxxx: <cough> of course I made typos :-/ I'll fix them in the 2.3 branch08:03
pooliehi there vila08:04
vilapoolie: we can't officially release 2.2.1 yet, we still miss the windows installers, and a complete bzr-proposed PPA08:08
poolieok08:08
maxbvila: I just uploaded the last bits to bzr/proposed08:10
maxbUnfortunately the launchpad build farm is broken08:10
vilamaxb: hurrah !08:11
=== vila changed the topic of #bzr to: Bazaar version control | try https://answers.launchpad.net/bzr for more help | http://irclogs.ubuntu.com/ | Patch pilot: spiv | Release Manager: vila | bzr 2.2.0 is officially out | bzr-2.0.6, 2.1.3, 2.2.1 and 2.3b1 need installers, aTdHvAaNnKcSe ! Some of them are already available, please test !| work on bzr: http://webapps.ubuntu.com/employment/canonical_BSE/
vilamaxb: does this means that *you* need to resubmit something or only that your submissions are delayed ?08:12
maxbJust a delay, I hope08:15
maxbvila: Is there anything left to do under "ping Debian maintainers" on http://wiki.bazaar.canonical.com/Releases/2.2.1 ?08:16
vilamaxb: hmm, I was waiting for an answer from them, but I think you proxied quite nicely so I guess we should delete this item08:17
jelmer'evening maxb, vila08:35
vilajelmer: wow, now, *where* are you ?08:36
vilajelmer: maxb, maxb: jelmer, I think you have matter to discuss and I will carefully listen :)08:36
jelmervila: I'm in California :-)08:37
maxbwe do? Debian packaging? Nothing urgent if jelmer is somewhere esoteric08:37
vilajelmer: cool :)08:37
pooliehello jelmer!08:38
poolieare you at a conference?08:38
jelmer'morning poolie!08:38
vilamaxb, yes, debian packaging and plugins for the PPAs needing (or not( new releases), this also can have an impact on OSX and windows installers08:38
vilameh08:39
jelmeryep, I'm at the storage conference in Santa Clara08:39
vilamaxb, yes, debian packaging and plugins for the PPAs needing (or not) new releases, this also can have an impact on OSX and windows installers08:39
vilaI can't tolerate typos in parens, no way08:39
vila:D08:39
maxbvila: On the second point, if bzrlib has not api-bumped in 2.3, then it's purely an issue with the debian packaging metadata assuming it will08:42
maxbvila: proposed PPA is now complete apart from one karmic build which is still running08:46
vilamaxb: rock-and-roll ! Thanks a lot for all your efforts there !08:47
vilamaxb: started 28 minutes ago on shipova ?08:48
vilaso all we need now are the windows installers and we can push for testing, which means the official release is already delayed until at least monday08:52
vilaI will mail the list as soon as I get feedback from Gary08:52
vilathat's for 2.2.108:53
vilamaxb: what's the overall status of the bzr-beta-ppa ? Already testable ?08:53
jelmermaxb: email is perhaps the best medium for me at the moment, the connection is pretty bad here.08:56
jelmeralternatively we can discuss it when I get back on monday08:56
poolievila, re the SRU08:59
pooliehttp://doc.bazaar.canonical.com/bzr.dev/developers/releasing.html#getting-the-release-into-ubuntu08:59
pooliebasically says subscribe the sru team08:59
poolie(it should say) tag it sru08:59
poolieand add a comment asking for it09:00
vilajust a comment then and "they" will now how to get the diff ?09:00
pooliewell, you may need to get in #ubuntu-devel and nag someone to help with it09:01
pooliethey're basically just going to pull in the new tarball or tag, i think09:01
vilaok, yeah, I'd like to better understand what happens there and what is missing to make it easier and/or address the issues (or at least understand what they are)09:02
vilaI know it's about parallel imports but I'm unclear about what workarounds are available... or not09:03
poolievila, well, i think diving in and trying to document or solve things that come up is pretty worthwhile09:05
vilapoolie: so, bug #636930 to start with. It already affects 'bzr (Ubuntu)' so I sould nominate it for maverick09:06
ubot5`Launchpad bug 636930 in Launchpad Bazaar Integration "Upgrading a repository fails with 'Inter1and2Helper' object has no attribute 'source_repo' (affected: 4, heat: 876)" [High,Triaged] https://launchpad.net/bugs/63693009:06
vilabut there is no 'nominate' button anymore ;) so is it 'also affects distribution' or 'target to release' ? Neither it seems09:07
poolieboth i think09:10
vilapoolie: well, 2.2 is already targeted, and distribution seems to be for Ubuntu (not maverick or lucid)09:11
* poolie looks09:12
vilaor may be I don't have enough access to add the needed distrotask (or whatever it's named) to the 'bzr (Ubuntu)' part09:13
vilaI can't even change the assignee to 'ubuntu-sru'. 'no items matched "ubuntu-sru"' >-/09:14
poolieso basically you want to follow https://wiki.ubuntu.com/StableReleaseUpdates#Procedure09:15
vilaeerk https://bugs.edge.launchpad.net/ubuntu/+source/bzr 28 New bugs ???09:15
pooliethough, you can't do all of that09:15
spivOk, I have a small human grabbing at my foot, time to go I think :)09:16
poolieyou need to subscribe them, not assign them09:16
poolieomomom09:16
poolieg/l09:16
maxbpoolie: the StableReleaseUpdates wike page still says subscribe ubuntu-sru, not tag sru09:16
spivHappy weekend, everyone!09:16
vilamaxb: yeah but we want to tag it anyway for easier tracking for *us*09:17
maxbah09:17
poolieyou can tag it09:17
poolievila, so i think: tag it, subscribe them, create a distro task, post a comment asking for an SRU09:17
poolielet's do that and see if they have any further feedback09:17
maxbvila: HAH09:18
vilaok, but still, how do I 'create a distro task' ?09:18
maxbI have found the missing nominate button09:18
vilamaxb: haaa, where ?09:18
poolie"also affects distribution"09:18
maxbnope09:18
pooliecan you add this to the docs too?09:18
vilapoolie: no, it's the already existing 'bzr (Ubuntu)'09:19
maxbSo, it appears that Launchpad shows "Target to release" if the selected bugtask is a project one, and "Nominate for release" if it's a distro one09:19
poolieok, you don't need to do anything else then09:19
poolieah yes, you can go into the distro bug context09:19
pooliethat's pretty damn obscure09:19
pooliehttps://bugs.edge.launchpad.net/ubuntu/+source/bzr/+bug/63693009:19
ubot5`Launchpad bug 636930 in Launchpad Bazaar Integration "Upgrading a repository fails with 'Inter1and2Helper' object has no attribute 'source_repo' (affected: 4, heat: 38)" [High,Triaged]09:20
maxbSo, if you want to create an Ubuntu maverick task, you first hack the URL changing bzr to ubuntu/+source/bzr09:20
poolieso this would be maverick only?09:20
=== poolie changed the topic of #bzr to: Bazaar version control | try https://answers.launchpad.net/bzr for more help | http://irclogs.ubuntu.com/ | Patch pilot: jam | Release Manager: vila | bzr 2.2.0 is officially out | bzr-2.0.6, 2.1.3, 2.2.1 and 2.3b1 need installers, aTdHvAaNnKcSe ! Some of them are already available, please test !| work on bzr: http://webapps.ubuntu.com/employment/canonical_BSE/
vilamaxb: 8-(09:20
vilapoolie: pfewwwwwwwwww. ok, I'll try to replicate that for the others and will document in in releasing.txt09:22
vilamaxb: thanks the back-magic hint09:22
vilablack09:22
* vila kills one more chicken, deploring that it becomes a bad habit especially for the chikens09:22
pooliei'll comment there09:23
poolie:)09:23
vilapoolie: ok, I'm watching the blinken lights :)09:23
vilapoolie: p-e-r-f-e-c-t, that's all I needed, I'll do the others09:26
vilaadapting the comments as the policy will be slightly different (open to discussion) for 2.1 and 2.009:27
vilaand 2.309:27
fullermdvila: Maybe you should switch to goats?09:27
vilabut 2.3 is irrelevant for now09:27
pooliedone09:28
maxbvila: Hmm, didn't the TB want us to run the testsuite as part of the buildd build?09:28
poolieyes09:28
maxbIn which case, shouldn't we be doing the packaging work for that *first*09:28
poolieistm the reasonable thing is to grandfather the current releases where that doesn't pass09:28
vilafullermd: chickens and chicken thieves are the rage in France these says (black humour)...09:28
vilathese days09:29
vilamaxb: it will most probably fail with various degrees for 2.0 2.1 2.2, we can only try to make it succeed for the next releases for the *build* itself09:30
vilamaxb: see my mail about the related bugs09:30
maxbah, ok09:30
maxbSo, we're going to opt for getting a -proposed upload done, and then playing with selftest against the built package until we've convinced ourselves the world is good?09:31
vilamaxb: I'm trying to target as low as 2.0 as possible and spiv will also try to backport its fix, but that will probably not be enough09:31
vilamaxb: how, we *are* convinced the world is good :) We want to reach the point where the build itself share this conviction ;D09:31
maxblol09:32
fullermdYeah, but chickens have limited power.  Sacrificing a few goats can be much more effective at smoothing the way.09:32
maxbnoooo09:32
vilamaxb: care to add some goats to the packaging branches ?09:32
vilaI... am not sold yet myself on goats09:32
* fullermd sells vila to some goats.09:33
vila. o O (Great, as if my desk wasn't already such a mess...)09:33
fullermdSee?  Perfect solution; a couple goats will eat your desk clean in no time   ;)09:34
vilaNoooo ! Not these notes ! Boom, one goat sacrificed already... there goes the restriction...09:35
fullermdMy neighbor has been mostly out of town for, like, the last year.  I keep her front lawn mowed, but the back is an absolute jungle.09:36
fullermdShe quite seriously says she'll just drop a few goats back there when she gets back.09:36
vilaI see where the goat selling stuff is coming from now...09:37
vilayou've got mail: Want some goats ? I'm the lawyer of...09:37
fullermdTeehee.  "My late husband was Minister of Finance for Ghana.  I require your assistance to transfer five million US goats..."09:38
poolieok, good night all09:40
vilapoolie: good night !09:49
vilafullermd: lol09:49
vilamaxb: I'm sure you could answer this one: I'm about to ask for an SRU for 2.1 in lucid and 2.0 in karmic, should I also target jaunty and hardy for 2.0 ? Or are they already considered EOLed and we should just tell people to use the stable ppa for them ?09:52
maxbjaunty is EOL real soon now09:53
maxbIt's not worth the effort of SRU processing09:53
vilamaxb: just what I wanted to hear :) And about hardy ?09:53
maxbThe only kind of SRU that would be eligible for hardy would be a 1.3.2 release :-)09:53
vilamaxb: good ! I'm making progress :)09:54
maxbHmm. I have a question. Is there any way to move the tree root file-id to not-the-tree-root, and create a new root?09:54
vilamaxb: where to you want to move the old root ?09:55
vilamaxb: you can't09:56
maxb:-/09:56
maxbI was pondering Chris Hecker's "help getting a clue about tracking changes in an integrated library" email09:56
vilawhat you can do is merge a whole tree inside an existing one (eventually into a sub folder)09:57
vilaI don't remember if we support this directly and from which release, but that's definitely something we want to improve09:57
maxbWon't that lose the root-id of the secondary tree?09:58
vilano, we fixed a bug about that09:58
vilaso you can then merge again from this tree09:58
maxb*blink*09:58
vilamaxb: was I unclear ?09:59
maxbHow can that work? You merge the secondary tree, and all its contents end up in the root of the merge target initially09:59
maxbHow is the root-id of the secondary tree going to end up assigned to the new subdir that you then make to move all the stuff into?09:59
vila1) you can move the merged content 2) we manage to track the parent of the merge files and recognized that they once was in the other root-id10:00
vilamerged files10:01
maxb2) sounds very magic10:01
vilawe don't track the root-id itself, we track where it was used as a *parent*10:01
vilamaxb: that was bug #37589810:02
ubot5`Launchpad bug 375898 in Bazaar "bzr merge fails: bzr: ERROR: No final name for trans_id 'new-1' (affected: 11, heat: 13)" [High,Fix released] https://launchpad.net/bugs/37589810:02
* maxb reads10:02
vilamaxb: prepare some coffee first :)10:02
vilahttps://code.edge.launchpad.net/~vila/bzr/375898-fix-root-more will NOT show you the diff because... it has been merged... sounds like a bug to me even if I kind of understand why the diff is empty :-/10:04
vilaha no, silly me, it's there: https://code.edge.launchpad.net/~vila/bzr/375898-fix-root-more/+merge/2262510:04
vilaI'm afraid the patch itself will make you think it's even more magic though :-/10:05
maxbhrm10:08
maxbI think this is a subtley different thing to what I want10:08
maxbI am addressing the question of newly added files in the subproject's upstream branch, which I want to *automatically* merge in underneath the subtree in the aggregate branch10:09
vilamaxb: right, it fixes a case in the same area so most of the support was there already10:09
maxbFor what I want to work, I think the tree_root fileid of the subproject needs to end up propagated to the container directory within the aggregate branch10:09
vilamaxb: I'm not sure about this precise point but at worst they will end up in the root of the new tree and may need to be renamed10:09
maxbyes, that's what happens10:09
vilaha10:10
vilafile  a bug10:10
vilaor search for a duplicate maybe10:10
maxbI think the fix basically involves making bzr merge-into a first-class command10:10
vilamaxb: I think spiv worked on that to make it possible to define it in core or something10:11
vilaI don't remember the outcomes though10:11
maxbeither that or doing something loathesome like resetting the fileid of an added directory to match the old parent of its children if they are all being freshly added10:11
maxbIt is at this point I should stop pondering the guts of bzr and actually go to work10:12
vilabzr-builddeb may also have some hacks for some cases, I'm not (yet) up to date there10:12
vilawell, I'm totally out-of-date here to be honest :-}10:12
vilamaxb: and the plan is to get involved in the bzr packaging using udd to address that10:13
vilamaxb: starting now by watching what you're doing :D10:14
* maxb chuckles and enworkifies10:24
cheaterhi10:31
vilachuckle10:35
vilalol, bad window :)10:36
cheater:)10:36
vilacan't find the meaning of enworkify though :-/10:36
cheaterquick question: bzr on an older suse system - does bzr have a lot of dep's?10:36
cheaterwe can't use the package manager for one thing10:36
Glenjaminit has mostly python deps10:37
cheatermhm10:37
Glenjaminso pip/easy_install should do it10:37
cheaterthis one has no internet connection10:37
cheaterbut i can handle that10:37
vilayou'll need pyrex to generate the c files unless you start with a tarball that shoul contain them10:37
cheateri don't know10:37
cheaterwhat's the best thing to install from source?10:37
vilathen you'll "just" need to run 'make'10:37
vilacheater: if you need to bootstrap you can't 'bzr branch lp:bzr' so you need to start from a tarball10:38
cheateryes10:39
vilacheater: from there it depends when and how you intend to update10:39
cheatermhm10:39
vilacheater: you can't use the package manager because you don't have an internet connection ?10:39
Glenjaminis there any way to get remerge to only do bits that are still herringboned? I fixed half a file manually then ran into two methods which were mixed up together, after a remerge --weave its fixed the really broken one, but undone my other fixes10:39
cheateryes10:39
cheaterwell, i can use the package manager10:40
vilaI confess I don't know what is packaged in suse anyway10:40
cheaterbut it's an old suse that hasn't been supported for the last 3 years :p10:40
Glenjaminat the risk of asking a silly question10:40
vilawow, so better start from source then,10:40
Glenjaminwhy not upgrade/replace the box?10:40
cheateryes vila :)10:40
cheaterGlenjamin: it's not mine :)10:40
vilacheater: which python version ? python -V10:41
cheateri think it's 2.610:41
cheaterso that shouldn't be a problem10:41
cheatermaybe 2.5..10:41
cheaterlet's see10:41
vilareally ? 3 years old and already 2.6 ?10:41
cheateri think they updated it10:41
vilasuse or opensuse ?10:42
vilathere is http://wiki.bazaar.canonical.com/DistroDownloads#openSUSE but I don't know how up-to-date it is nor how it applies to your case10:42
cheater2.3.3 xDD10:44
vilacheater: updating the wiki page with your own case will be welcome ;) (hint hint nudge nudge)10:44
vilacheater: python ? argh10:44
fullermdWell, either that or a REALLY up to date bzr   :p10:44
cheaterthat'll be FUN.10:44
vilacheater: end of story then, we support >= 2.4 ~< 2.710:44
cheatervila: that's ok, i'll upgrade it10:44
cheater:)10:45
* cheater has root10:45
vilacheater: go for 2.6 then10:45
cheateryeah10:45
cheateri see no reason to go for 2.7 yet10:45
cheatermost libs aren't ported are they?10:45
* cheater doesn't actually know10:45
vilacheater: the support for 2.7 is... a bit unknown10:45
cheaterok10:46
vilacheater: from a bzr pov that is10:46
fullermdvila: You could upgrade that vm and make it known  ;p10:46
vilafullermd: the vm *is* upgraded and we know we have failures but no time to investigate :-/10:46
fullermdWell, knowing is half the battle, so we're almost done!10:47
vilafullermd: hehe, yeah almost...10:48
vilafullermd: except almost when it comes to regression testing is marginally better than not at all. I've missed several incidents because I'm used to the red icon meaning  'failures' even when the failure involved a vm crash and a file system corruption :-/10:49
fullermdAh, you just need to run a more reliable OS then...10:50
vilahehe, I'm pretty sure the OS is not involved here as the failures has happened across all the OSes used by babune including ... nah that would be cheap ;)10:51
fullermdPfft.  Since when has that stopped you?   :p10:52
vilafullermd: always ! You saw only the expensive ones ;)10:53
cheaterlol10:55
Glenjaminis there anything I can do about ghost revisions?11:11
cheaterwhat are ghost revisions?11:15
vilacheater: revisions created by a bzr ghost, but you won't be there until you kill your bzr, you need a bzr first11:15
vilaGlenjamin: it depends on where you encounter them and if it causes problems or not11:16
cheateri have bzr on my laptop11:16
cheater:)11:16
vila;)11:16
spivmaxb: I actually did implement a cmd_merge_into, but removed it before the final landing, but it should still be in the revision history11:17
spivmaxb: look at the parent revisions of where MergeIntoMerger landed, I guess11:18
spivOr use bzr-search ;)11:18
vilaspiv: what was the rationale for not landing it ?11:18
spivvila: we weren't sure it was a good feature, IIRC, but check the review comments on the merge proposal.11:19
spivhttps://code.edge.launchpad.net/~spiv/bzr/merge-into-merger/+merge/28824 I think?11:19
vilaspiv: nah, just wanted a quick summary ;) My stack already includes too many pending items ;)11:20
vilaincluding reading the night mail...11:20
spivHmm, actually the reason isn't in those comments.11:20
spivBut the comments do say "(This history of this patch includes an11:21
spivupdated cmd_merge_into it could use.)"11:21
spiv(talking about updating bzr-merge-into to use the APIs from this patch, rather than its own old code that doesn't work with 2a)11:21
vilaha right, so the plan is more to update merge-into than to make it a core command, at least for now, right ?11:22
spivYeah.11:24
Glenjaminvila: in the history, some blame/log commands wont work11:24
spivAnyway, there's a UI for it now: make a recipe and use bzr-builder ;)11:24
Glenjaminit's not crucial, but it's annoying sometimes. And i think it messes up loggerhead a bit11:24
spivBut the cmd_merge_into I had had a fairly flexible (although perhaps not intuitive?) UI.11:24
* spiv wanders off11:25
viladOxxx: small problem here, It seems I can fetch pycrypto, I will copy the 2.2/src one manually instead11:26
vilaGlenjamin: first, try 'bzr check' just to be sure11:26
vilaGlenjamin: then, do you know where these ghosts are ?11:27
Glenjaminhttp://pastebin.com/Yv6f1cXS11:27
spivvila: http://bazaar.launchpad.net/~spiv/bzr/merge-into-merger/revision/5272 is the diff removing cmd_merge_into11:27
vilaGlenjamin: if you do, it may just be a matter of fetching these revisions into your repo11:28
GlenjaminI'm not sure they exist anywhere11:28
vilaGlenjamin: like 'bzr branch -r<ghost> <dummy> ; rm -fr <dummy>'11:28
vilaGlenjamin: ha, this kind of ghost11:28
Glenjaminwe used bzr locally with an svn server for about 8 months11:29
Glenjamini've got the rev id of a ghost; GhostRevisionError: {mbrown@macbook-mb.genesys.local-20100716092059-4so0wsqli7tqcxwy} is a ghost.11:29
vilaGlenjamin: we intend to support them as gracefully as possible, so file bugs if you're annoyed so we can fix it11:30
vilaGlenjamin: do you know who mbrown is ? Can you check whether or not this revision exists in one of its repos ?11:30
vilaGlenjamin: start by checking in whatever central or shared repo you have of course11:31
Glenjaminhe's sitting next to me, how do i find out?11:31
fullermdStart with a pair of pliers and a blowtorch...11:31
vila...of course11:32
fullermd"*slap*  What were you doing the morning of July 16th?!  TALK!"11:32
Glenjaminbzr cat-revision -r revid:{id} is how I test if it's there?11:38
vilaGlenjamin: like 'bzr branch -r<ghost> <dummy>' or even bzr log -c<ghost> should do (not sure about the later though as they're may be a check against the branch ancestry)11:38
vilaGlenjamin: yup, same caveat about cat-revision than for log11:39
Glenjaminbzr branch -r<ghost> <repo> <dummy> presumably?11:40
vilayeah, but with an existing branch for <repo> just to find the repo11:40
Glenjaminvila: if i manage to get a ghost repo into my local repo, do i just push the dummy branch to the central repo to get it across?12:03
vilaGlenjamin: yup12:03
vilaGlenjamin: if the central repo is a bzr repo that is12:04
Glenjaminit is12:04
vilak12:04
vilaGlenjamin: I'm about to do a break for lunch, did your ghost chase gave any results ?12:57
vilagave... ? give ?12:58
vilagaryvdm, GaryvdM: Get out of this grep and come talk to me, I'll be there in ~1h ;-P13:00
Glenjaminvila: i got as far as doing -v on check to get the list, and found that the rev ids aren't in any of the repos13:00
dOxxxvila: hmmm pycrypto website seems to be dead13:08
dOxxxvila: I'll be off IRC today until ~7pm EST. Email me if you need anything for the Mac installers.13:21
Glenjaminhow difficult would it be to add a post-resolve hook? I'd quite like something to remind me to commit after a merge before making any other changes14:07
Glenjamindoes http://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev/annotate/head%3A/bzrlib/builtins.py work for anyone?14:23
vadi2How can I diff a file between two bzr revisions? need to repair some partial damage14:30
Glenjaminin the same branch?14:32
vadi2yes14:32
Glenjaminbzr diff -r<revision>..<revision> <path>14:32
vadi2thanks much14:32
GlenjaminInterestingly, I can't see a way to diff 2 revisions of a file in different branches.14:33
fullermdArbitrarily more complex revspecs.14:33
fullermdActually, I'd imagine you could select any rev in the repo by revid, so if the branches are sharing a repo you could just go like that.14:34
viladOxxx: bah, too late, anyway, I managed to build the 2.3b1 installer for OSX 10.5 by copying the parmiko .tgz so all is well14:35
vilaGlenjamin: ok, so your ghosts are lost then14:36
vilaGlenjamin: try #launchpad if the problem persists on this link14:37
Glenjaminit's been like that for days14:37
Glenjamini think its loggerhead14:37
Glenjaminbig file, lots of history14:37
vilaGlenjamin: diff --old <branch1> --new <branch2> <file> should work14:37
vilaGlenjamin: ha, no, just got a response14:37
Glenjaminvila: how to specify revisions form each branch?14:38
Glenjaminaha, works for me now too14:38
fullermdSee help revisionspec.  You can do 123:/some/branch to get revnos from the branch.14:38
vilaGlenjamin: ooooh, the tricky one now...14:38
vilapfew, saved by fullermd :)14:38
Glenjaminah14:39
Glenjaminwas looking at revisionspec, but didn't see that bit14:39
fullermd(this "working between branches" thing is one place where branches being FS objects makes things arbitrarily inconvenient  :| )14:39
=== tchan1 is now known as tchan
Glenjaminsomething along the lines of git's remotes might be nice14:41
Glenjaminsome sort of intelligent bookmarks, but i'm not really sure how they'd work14:41
dobeyhmm14:50
dobeywasn't there a bzr plug-in somewhere to allow arbitrary shortcut definitions? something like how lp:foo works, but so that you could define gnome:foo or otherserver:foo for example?14:52
GlenjaminI've been writing my own for each repo we use here14:53
Kamping_Kaisernot aware of it, but sounds handy14:53
Kamping_Kaiseri thoguht the thing was 'copy the lp one'14:53
Glenjamini'm not sure how the plugin would store it, but it's simply enough to do14:53
Glenjaminyou just need prefix, url pairs14:53
vilaGlenjamin: the most recent one I heard about in this family is lp:bzr-debuntu (be aware that it will be merged in to bzr-builddeb though IIUC)14:55
Glenjamini was just reading the source for that14:55
viladobey:14:55
Glenjaminit sets stuff up with a dict14:55
Glenjaminthe slightly non-trivial bit is moving the dict to a config file14:56
vilaand then rely on lp for the resolution14:56
vilabzr config files should be able to provide a mapping to a [xxx] section to a dict with little nudge I think (but that's not part of the officially supported stuff)14:57
dobeywhat i want to do is set up a "lp:foo" alias to point to "file:///tmp/blah/blah/foo" for example, for unit tests14:57
Glenjaminwe don't really need a dict, just pairs14:57
dobeyor well, s/want/need/14:57
viladobey: not sure I understand the constraints here, but if you're using bzr TestCaseWithTransport or even TestCaseWithTempDir, your current dir is already under /tmp so you can use relative paths 'dir/file'14:59
viladobey: if you need a transport, you can (with TestCaseWithTransport) do self.get_transport('dir') too14:59
dobeyvila: i'm trying to write more unit tests for some of the code in tarmac, which is currently untested, which handles the actual merging of branches and talks to launchpad to get proposals and stuff. and tarmac complains if branch identities do not use the lp: protocol. and with the TestCaseInTempDir (which we're already using), lp: is not a valid protocol, so after setting up the config for a couple of branches to test the merger of, 15:01
james_wbzr-bookmarks is the arbitrary one15:02
dobeyjames_w: i was looking at it last night, but it seems to only allow doing "foo = file:///foo" rather than "lp:foo = file:///foo" afaict15:03
viladobey: you don't access lp: right ?15:03
james_wdobey: right, it's not what you need15:03
james_wyou need to define a directory service in your tests15:03
viladobey: so you can *redefine* the lp: protocol for your tests no ?15:03
dobeyvila: i need to avoid hitting the network, yes. can i redefine it?15:04
viladobey: sure15:04
dobeythe lp plug-in tests seem to have a way to set up a fake Factory for the URLs, but it seems to only support doing it for one url at a time?15:04
viladobey: you wan to look at bzrlib.transport.transport.list_registry15:06
viladobey: you wan to look at bzrlib.transport.transport_list_registry15:06
viladobey: the latest transport registered for a given protocol wins, so your tests need to register your lp: implementation (and presumably unregister it during cleanup),15:07
dobeyhmm, ok15:07
viladobey: look in bt.test_transport.py for more examples15:08
dobeyok15:08
viladobey: hmm, and poke the lazy that put a FIXME there instead of doing the cleanup so you'll get proper examples ;)15:09
viladobey: there is also bt.per_transport.py15:10
dobeyheh15:11
vilamaxb: yeah for bzr/proposed !!15:12
vilaGaryvdM: hey !15:13
Glenjaminhere's a thought15:14
Glenjaminwhy do directory services have to be instantiated?15:14
Glenjaminreturn service().look_up(name, url)15:14
Glenjaminit's easier to factory object which have a lookup method than to factory objects which after being called have a lookup method :|15:15
GaryvdMvila: Hi15:19
GaryvdMvila: Esh - I've been busy a work! - But I'm free now15:19
vilaGlenjamin: ECANTPARSE, could you rephrase in simpler english ? (I'm not a native speaker)15:19
vilaGaryvdM: great ! I wanted to ask about the windows installers15:20
vilaGaryvdM: 2.2.1 being the priority15:20
GaryvdMTrying to get going with with win installers, but need to finish off the bzrw/qbzr/tbzr/bzr-explorer15:20
GaryvdMissue15:20
vilaok, do you have an estimate ?15:21
GaryvdMcan I answer that in a while - Not sure yet.15:21
vilaI'd like to mail the list asking for testing focused on 2.2.115:21
GaryvdMOk15:21
mgzwhich bit are you on now Gary? I'm actually around today and this weekend15:21
vilaGaryvdM: ok, take your time,15:21
vilaGaryvdM: you still have.. 5 minutes or such15:22
vilaGaryvdM: mwhahahaha kidding of course15:22
mgz(so, yell if you need help, was the subtext there)15:22
GaryvdMvila: If people want to test, the installer I linked to on this page: http://wiki.bazaar.canonical.com/Releases/2.2.115:23
vilaGaryvdM: I know, I wanted to ask you put it on lp instead, if there are problems you will have to use a new name anyway, so need to buffer here IMHO15:23
vilaso *no* need to to buffer15:24
vilaGaryvdM: unless you think it's not usable yet, in which case, better wait for the fix since we will need it to be tested again anyway15:25
GaryvdMvila: I've seen lots of people who don't consider themselves as testers get test copies of installers from launchpad, and then complain about instability15:25
GaryvdMSo I think it is important to buffer.15:25
GaryvdM(by dropbox may not be the best place...15:26
GaryvdM*but15:26
vilahmm, you're right of course... chicken-and-egg15:26
GaryvdMI've not been keeping up with the mailing list. :-0 waterfall....15:27
vilaOn the other hand, that's what test is about... if people don't want to test they can just wait, the release hasn't been officially announced (whatever my poor phrasing was ;-)15:27
mgzjust read the Roadmap for Bazaar thread, unless you're really interested in nested trees15:28
mgzor visual studio integration15:28
mgzor vila's many release posts :)15:28
vilaGaryvdM: don't even read that :) Focus on the present, the future can wait :-D15:28
GaryvdMThis is the issue I'm trying to fix: http://osdir.com/ml/bazaar/2010-09/msg00189.html15:29
vilaGaryvdM: release posts are "present" in this respect ;)15:29
GaryvdMEasy fix, then have to release new versions of qbzr, tbzr, and bzr explorer...15:29
Glenjaminvila, directory_service.DirectoryServiceRegistry.dereference does return service().look_up(name, url)15:30
mgzah, yeah, I saw that and was going to respond, but poolie posted saying what I was going to before I got there15:30
vilaGaryvdM: wrong way, delay 2.3b1 if you want, but not 2.2.1 unless it's critical15:30
Glenjaminlook_up is an instance method of a directory service, it'd make more sense for it to have been a static/class method15:30
* GaryvdM often wants to merge bzr-explorer in to qbzr to reduce release work...15:30
vilaGaryvdM: when releasing, there is *nothing* easy15:31
GaryvdMvila: It's a regression in 2.2.0, So I think it's important.15:31
GaryvdMCaused by bzrw.exe.15:31
vilaGaryvdM: then it's critical, ok15:31
GaryvdMand bad code.15:32
GaryvdMok15:32
* GaryvdM focusses...15:32
vilaGlenjamin: ISTM that making it a static/class method reduces the flexibility no ?15:33
Glenjaminin the general case maybe, but the constructor gets no arguments15:34
vilaGlenjamin: oh, you want to pass some arguments to service() constructor ?15:34
vilahehe, crossed on the wire ;)15:34
Glenjaminwell not really, i'd rather not have to make something instantiable15:34
Glenjamini'll show you in a sec, just making the plugin15:34
vilaI encounter the same problem in a another area and resort to define class attributes and new classes :-/15:35
vila137 downloads for the 2.3b1 tarball, do we have so many installer builders ???15:37
vilaor packagers15:37
GlenjaminI always install from source on my windows box15:37
mgzor gentoo users?15:37
Glenjaminor did, when I did any dev on it15:37
vilaany gentoo packagers around ?15:38
vilamgz: I'm not sure gentoo users will jump on the first beta...15:38
Glenjaminvila: lp:~glenjamin/+junk/bzr-shortcuts (the __call__ hack works around having to be callable)15:39
vilamgz: 'lost connection during test' rings a bell ?15:39
mgzyeah, babune hits it sometimes, it's a generic subunit failure scenario15:39
vilamgz: subunit, thanks15:40
mgzif for instance, the child process dies15:40
* mgz hopes he's remembering this correctly15:40
vilamgz: yeah, find another example will you, I don't like that one :D15:40
mgzchild process closes the pipe? :)15:40
vilafar better :)15:41
vilakeep going :)15:41
vilaI want one that could match a spurious failure that can be target at someting outside the test suite :)15:42
vila6 jobs in raw failing on jaunty for different reasons.... some bug wants to die today... or knows I'm knee-deep in releases...15:43
vilain a row (right ?)15:44
Glenjamindobey: Kamping_Kaiser lp:~glenjamin/+junk/bzr-shortcuts is a first draft of a plugin for defining arbitrary url prefixes15:45
vilaGlenjamin: it's a bit weird or at least not using the API as it was intended, i.e. you  don't call register_transport15:48
vilaGlenjamin: it's true that this sounds a bit heavy in your case, but you're supposed to call register_urlparse_netloc_protocol less often then register_transport15:49
vilablah15:49
vilayou're supposed to call register_urlparse_netloc_protocol less often then register_transport15:50
Glenjamini think i just copied the launchpad one15:50
dobeyhmm15:50
vilain your case you want to call register_netloc and register_transport for each one15:50
Glenjaminwhat does register transport do?15:50
vila>-/15:50
Glenjaminas i'm not defining a transport, just an alias15:51
vilaGlenjamin: oh, sorry, wrong layer15:53
dobeyhmm15:53
dobeyinteresting15:53
vilaGlenjamin: I think you should at least mail the list about it, I'm not sure there is a lot of users of DirectoryServiceRegistry and even then, we can find ways to make the API evolve15:56
Glenjaminit's not exactly prohibitive, but its a bit odd15:56
vilaGlenjamin: forget most of my previous remarks I wasn't on the right page15:56
Glenjaminand every matching service instantiates an object unnecessarily15:56
vilathe class has a single method too, so it may just mean it did the job when it was introduced15:57
mgzugh, two failures on maverick from my selftest changes and test_selftest sucking16:07
mgzwill work around rather than launching in to making the tests sane16:07
vilathe 7th was the good... looks like goats work better than chicken ?16:09
mgzthere's more blood in a goat.16:10
vilamgz: 24,567 tests... took 36ms...16:10
vilamgz: ha, so you're part of this conspiracy against goats too...16:11
mgzI'll fix that timing thing when I work out where it needs fixing.16:11
vilamgz: plan for mutiple targets :D16:12
=== deryck is now known as deryck[lunch]
vilaGaryvdM: sorry to interrupt, just one question: do you plan to build installers for 2.0/2.1/2.2/2.3 or only 2.2/2.3 ? I'll tend to prefer the later if that matters16:14
* GaryvdM wishes that bzr (version|plugins -v) would tell me what dirs it looks for plugins in.16:14
GaryvdMvila: I prefer to only volunteer to to 2.2/2.316:14
vilaGaryvdM: fine16:15
GaryvdMthe build method is different, and I've never done a 2.0/2.1 build16:15
vilaGaryvdM: I;m not sure we should continue to support 2.0/2.1 on windows at all, but it's not the place nor the time to discuss it16:16
Glenjaminif i sent a message to the list and got bounced for not being a member, then joined; is it better to resend or leave someone to approve it?16:16
vilaGaryvdM: and, until "bzr (version|plugins -v) would tell" you, remember that you get full control with BZR_PLUGIN_PATH16:17
GaryvdMvila: Yes - and you can also see in .bzr.log.16:17
vilaGlenjamin: depends on the list, if it's bazaar@, feel free to sent it again, at worst we;ll get it twice, but AIUI, the moderators are more harmed by spammers than by good willing citizens16:18
Glenjamini'll just resend then, ta :)16:19
GaryvdMIt's just easier to type bzr plugins -v than less ~/.bzr.log - ^H^H^H^H^H^ Aghhh  where is .bzr.log on windows :-)16:19
mgz%APPDATA%/.bzr.log by default I think16:20
mgzbut point taken :)16:20
GaryvdMmgz: :-)16:20
vilaGaryvdM: LOL16:20
Glenjamini think it belongs in version -v16:20
vilaGlenjamin: right, but most of the people that really care about it, especially care about it after running plugins -v and pestering that it's still not there :) practicality vs purity, I'm 50/5016:22
Glenjaminshould it be at the top of plugins -v or the bottom? :p16:23
vilaGlenjamin: blue16:23
mgzI prefer pink.16:23
vilamgz: I knew it :)16:23
mgzand on that topic... /me gets back to it16:24
GaryvdMNo! the bikeshead should be yellow!16:24
dobeyGlenjamin: hrmm, does your plug-in actually work?16:24
GaryvdM:-P16:25
dobeyGlenjamin: how can i test it?16:25
vilaok, blue, yellow, pink, which country flag is that ?16:25
Glenjamindobey bzr info test:16:25
Glenjaminyou'll get an error that http://example.com isn't a repo16:25
mgzhttp://bazaar.launchpad.net/~parthm/bzr/403687-shelve-summary-in-status/revision/5426/bzrlib/shelf.py <- funny commit, says something about lazy_import (lack of) usability I think16:26
dobeyGlenjamin: hrmm, i wonder if the bzr testcase is preventing me from doing the same thing inside the testcase setUp() then :(16:26
Glenjaminis the thing you're testing itself dereferencing locations?16:27
dobeywell, bzr is trying to do something, and then gives me UnsupportedProtocol: Unsupported protocol for url "lp:branch1"16:28
=== Ursinha is now known as Ursinha-lunch
Glenjaminat a guess, i'd say lp: isn't registered with the netloc urlparse thing16:29
Glenjaminwhat throws that exception?16:30
dobey  File "/usr/lib/python2.6/dist-packages/bzrlib/transport/__init__.py", line 1576, in convert_path_to_url16:31
dobeyit seems like my factory isn't getting called16:31
mgzthings tend to run with --no-plugins for testing by default?16:33
mgzhow about stubbing in a fake lp: thingy just for your tests?16:33
mgz...wait, that's what you're trying to do16:33
mgzpost some code?16:34
dobeythat is exactly what i'm doing. i'm not calling load_plugins()16:34
mgzit needs to run in setUp or later as tests are isolated from general hooks16:34
dobeyit's in setUp()16:34
dobeymgz: http://pastebin.ubuntu.com/499785/16:35
mgzthanks.16:35
Glenjamindobey: name is undefined there16:35
Glenjaminshouldn't it be throwing an exception16:36
mgzpresume that's just an extracting c/p error16:36
dobeyundefined where?16:36
Glenjamindirectories.register in setUp16:36
mgzthe general idea looks fine, any ideas vila?16:36
vilaEOVERFLOW16:36
james_wthere's no upcall in setUp() that might be making things wonky16:37
dobeyGlenjamin: true, not sure why it didn't except there, but changing it to a string had no useful effect :)16:37
mgzwas guessing that's also a c/p error, as we throw if you forget16:37
dobeyjames_w: there is a super() for it, i just omitted it in the pastebin16:37
Glenjaminif it really was undefined, it means setUp isn't being called16:37
james_wdobey: is the super before or after that?16:37
Glenjaminalthought it might have just picked up a variable called "name" from a different scope16:38
dobeyjames_w: it's the first call in the setUp()16:38
dobeysetUp() is being called, because it's failing after things that are done in setUp, are successfully completed16:39
Glenjamincan you inspect the directories registry and try a call to directories.dereference at the end of setup?16:41
Glenjamindobey: eureka16:42
Glenjaminhttp://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev/annotate/head%3A/bzrlib/registry.py#L10716:42
Glenjaminoverride_existing defaults to false.16:42
Glenjaminalthough it excepts, so its not that :<16:42
dobeyyeah i don't know what it is16:48
GaryvdMOk - Fix committed -  another bug is now showing, but maybe not critical.16:49
* GaryvdM kicks off install build.16:49
dobey:-/16:50
mgzyou're a star Gary.16:50
mgzdobey, my next step would be to pdb the test and look at the various internals during the run16:51
dobeyyeah, will have to wait though. it's nigh time for me to hop off for lunch and an appointment16:54
jmlhello16:55
jmlwe're geting a strange status. a file is showing up as "nonexistent" in status16:55
jmlit's a .OTHER file for something that we've deleted.16:55
jmlwe're not sure what to do about it16:55
vilajml: you deleted it in your branch but modified in the other, if you still don't care about this file delete .OTHER and resolve16:56
jmlvila, .OTHER does not exist!16:56
vilajml: oh, and .THIS was modified ?16:56
jmlvila, who knows?16:57
jmlvila, bzr is just telling us that there's a thing called foo.OTHER that has the status of 'nonexistent'16:57
vilajml: you ?16:57
vilajml: it was probably modified :)16:57
jmlvila, perhaps. foo doesn't exist in our tree either.16:57
vilahuh16:58
=== deryck[lunch] is now known as deryck
vilajml: shudder16:58
vilajml: .bzr/checkout/conflicts pastebin ?16:59
Glenjamintried revert/resolve on it?16:59
vilaGlenjamin: I think jml wants to know before acting16:59
vilajml: anything related to the parent dir ?17:00
Glenjaminheh, my userland approach would be to hit it with sticks til it worked :)17:00
jmlvila, I don't have access to the branch... it's on someone else's machine17:00
* vila cries17:00
Glenjaminoh, on the ghost thing - is there any way for me to make some fake revisions to replace the missing ones?17:00
vilajml: 'nonexistent' or 'missing' ?17:02
jmlvila, nonexistent17:02
vilajml: I need to know the conflict type17:04
jmlvila, ok. let me reproduce locally...17:05
jmlvila, http://paste.ubuntu.com/499800/17:06
jmlvila, buildd-dispatching.txt is the "foo" from above17:06
jmlIf I do "bzr status", lib/lp/soyuz/doc/buildd-dispatching.txt.BASE is "missing"17:07
vilajml: ok, Contents conflict, always misleading, content refers to the path: The files are of different types (or both binary), or not present17:08
jmlvila, right.17:09
jmlvila, the file has been deleted in our local branch, and we want to keep it deleted17:09
jmlvila, if I just do "bzr resolve lp/.../buildd-dispatch.txt", resolve the other conflict and then commit...17:10
vilajml: so deleted in this and modified in other, so yes17:10
jmlvila, I get this... http://paste.ubuntu.com/499804/17:10
vilajml: how did you resolve ?17:11
vilabzr resolve lp/.../buildd-dispatch.txt --take-this17:11
Glenjaminreminds me, i get an attribute error whenever i do --take-other17:12
jmlvila, no option.17:12
vilaGlenjamin: file a bug, with a reproducing recipe if possible, the simplest the best17:12
Glenjaminmm, doing now17:13
vilajml: bzr version ?17:13
vilajml: nvm, 'bzr rm lp/.../.OTHER' ; 'bzr resolve lp/.../.OTHER'17:13
jml$ bzr rm lib/lp/soyuz/doc/buildd-dispatching.txt.OTHER17:15
jmlbzr: ERROR: Can't safely remove modified or unknown files:17:15
jmladded:17:15
jml  lib/lp/soyuz/doc/buildd-dispatching.txt.OTHER17:15
jmlUse --keep to not delete them, or --force to delete them regardless.17:15
vilajml: sudo amke me a sandwich17:16
vila--force17:16
jmlaiee17:16
* fullermd slaps vila with a salami.17:16
* vila seriously reconsider paying for those goats17:17
Glenjaminwhy does --take-other do a transform, rather than just a filesystem move?17:17
jmlun baguette de pain17:17
vilaGlenjamin: EOVERFLOW, nasty edge cases17:18
vilajml: une ! :)17:18
Glenjaminanyway, bug posted as 64696117:18
vilajml: can't you guess from the shape ???17:18
jmlvila, heh heh17:18
fullermdIf we hit you enough, it'll be whatever gender we WANT it to be!17:18
jmlvila, I suggest you steal fullermd's salami and make your own sandwich17:18
* fullermd has a feeling this conversation took a turn somewhere...17:19
vilajml: will think about it, AFTER you tell me your conflict is gone for good17:19
mgzwas that a multilingual pun?17:20
jmlvila, that works.17:21
jmlmgz, yes.17:21
vilapfew17:21
vilajml: so, 'bzr version' ?17:21
jmlBazaar (bzr) 2.2.017:21
mgzun pain de peine would also work.17:22
vilamgz: I don't know what 'un pain de peine' is17:22
vilaNow, that's a multilingual pun :-D17:22
mgzor my french fails.17:22
fullermdMy french should be great.  Heck, in school, I took 4 years of French I.17:23
jmlgone17:24
roryyi've got patch for bug 202374 at https://code.launchpad.net/~ryorke/bzr/202374-pull-update-showbase -- do i just run bzr lp-propose and take the defaults?17:24
ubot5`Launchpad bug 202374 in Bazaar "pull and update should accept --show-base (affected: 0, heat: 4)" [Medium,In progress] https://launchpad.net/bugs/20237417:24
mgzroryy: you can also click "Propose for merging" and fill in the details on that page17:25
roryymgz: ok.  do i need to worry about what the submit branch is?17:26
mgzyou pick what you based it off, which should be lp:bzr (the default)17:26
roryymgz: ok, thank you17:27
=== beuno is now known as beuno-lunch
roryys'pose i should actually run *all* the tests before proposing a merge17:40
=== Ursinha-lunch is now known as Ursinha
mgzit's not the end of the world if you don't, as PQM will do that for you before landing17:45
mgzbut doing `./bzr selftest -s bt.test_source -s $your_test_module` can be useful17:45
GaryvdMmgz: Please could you test an installer for me? http://dl.dropbox.com/u/4494367/bzr-2.2.1%7Ed-setup.exe17:48
GaryvdMhttp://dl.dropbox.com/u/4494367/bzr-2.2.1~d-setup.exe17:48
mgzgetting.17:49
vilaGaryvdM: I'm about to crash, I'm sending an email to the ML about the releases status17:49
GaryvdMvila: ok17:50
vilaGaryvdM: feel free to reply to it once you're comfortable with your installers17:50
vilaGaryvdM: I tried to make it quite clear that we want testers,17:50
vilaGaryvdM: the osx installers are already on lp so it;s up to you to decide where you want them to be dl from17:51
GaryvdMOk - I'll reply with links to what ever I have.17:51
vilaGaryvdM: a big thank you for your help here !17:51
mgzdo you need me to include tortoisebzr?17:51
GaryvdMmgz: yes -17:51
GaryvdMmgz: I'm just writing up reproduce steps for a bug.17:52
vilaok, EODing EOWing but will probably pass around...17:53
vilahave fun !17:53
mgzlooks fine at first blush, anything in particular that needs poking with a stick?17:54
mgzbye vila!17:54
GaryvdMbye vila.17:54
GaryvdMmgz: http://pastebin.ubuntu.com/499833/17:54
mgzta.17:54
GaryvdMmgz: I'm trying to reproduce that with out tbzr17:55
GaryvdMI saw something similar when I was fiddling with bzrw's boot_common.py17:55
mgzI didn't get anything there, I'll try again.17:56
GaryvdMWhen bzr is finished tries to flush stderr/stdout, which was erroring.17:56
GaryvdMAnd there's nothing in .bzr.log :-(17:56
GaryvdMI'm blaming tbzrcommand at the moment.17:56
mgzokay, trying with a bigger shared repo, and log is struggling...17:58
mgzhm, still no error message here17:59
GaryvdMOh  - Ok17:59
GaryvdMmgz: The other thing I would like for you to try for me is to try run the testsuite.18:00
GaryvdMI wonder how that will go.18:00
mgzjust selftest on the command line?18:00
GaryvdMmgz: Unless you think that this is something to try between releases?18:01
mgzno, it's worth doing, I filed a bug on it a bit back, as there are a few things that need resolving18:01
mgzha, couple of deprecation warnings, and that __subclasscheck__ thing Andrew was fixing18:02
GaryvdMmgz: I'm just going to grab so food.18:05
GaryvdMbbl18:05
mgznothing unusual looking so far18:05
tsmithis it possible to remove tags?18:16
mgzthey're part of the history, so it's the same story as commit messages, you'd need to rewrite history18:16
tsmithnah18:16
tsmithbzr tag --delete <tag>18:17
tsmiththanks18:17
mgzha, whoops, so overwrite has been implemented there where it hasn't been for messages18:17
mgzneed to poke around some of the bits of bzr I never use18:20
maxbIt's not a case of overwrite being implemented18:23
maxbIt's simply a case of tags not actually being part of history, but mere annotations on top of it18:24
mgzah, so I was wrong about the base thingy?18:24
maxbbase thingy?18:24
mgzconcept maybe, pick a word.18:25
mgzhave we got any dev docs on tags? I'm not finding much.18:29
maxbTags are a dictionary of name: revid, stored in a branch.18:30
maxbThat's pretty much it18:30
mgzokay, I'll go back to not worrying about them but be able to answer the question correctly next time18:32
=== beuno-lunch is now known as beuno
jasonlifeIf I maintain a branch for each release, and keep updating master with new features and bug fixes,  how can I apply the bug fixes to the released branch?21:48
jasonlifeit seems "bzr merge" doesn't work for this purpose..21:49
fullermdWell, it sorta does, insofar as you can cherry pick.  How well that works over time is more questionable.21:50
jasonlifeI need to digging the cherry pick stuff.. I always wondered what the cherry pick is..21:52
jasonlifeI'm new to bzr.. :)21:52
fullermdA cherrypick is basically any merge that, for one reason or another, can't be recorded as a merge.21:53
fullermdIn this case, it would be a cherrypick because the graphs are disjoint; a merge of one revision transitively includes all its ancestors.21:53
fullermdSince you don't actually want that in this case, we can't make it a real merge.21:54
jasonlifeyes..21:54
jasonlifeI can't do the real merge.. I need *partial* merge for bug fixes..21:55
fullermdYou could make sure everything's connected by using DaggyFixes, but that would probably just get increasingly more difficult as time went by, so it's probably not really a general option.21:55
fullermdRight.  So we can't record the merge; as far as bzr is concerned after the fact, it's no different from you manually editing the files and committing, so it can't use any of that information to attempt future merges.21:55
jasonlifeI might make a patch file from the master for the bug fixes, then apply the patch to the released branch, but I would think there is a better way..21:55
fullermdIt often works just fine, and it's pretty much always going to be at least as smart as doing diff | patch yourself.21:56
fullermdBut as things get more diverged, there'll tend to be more and more cases where bzr can't figure out how to move things across, because the common ancestor it works from gets really far back.21:56
jasonlifeexcept from bazaar wiki.. "A cherrypick is an operation in which the delta between two revisions is applied to a working tree. The process is roughly similiar to generating a diff between two revisions and applying it to a working tree."  I think this is what I need..22:02
jasonlifethanks..22:02
jasonlifes/except/excerpt22:02
=== Ursinha is now known as Ursinha-afk
jasonlifefullermd: thanks.. cherrypicking works beautifully..22:18
=== Ursinha-afk is now known as Ursinha
jasonlifeIs there a bzr command to list the braches available?23:29
jasonlifelike "git branch -a"..23:29
mgzls23:29

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