=== jordan_ is now known as jordan [00:54] the tortoisebzr diff window is really something else [00:55] how do i revert rows in it? lol [00:57] I've never seen anything so stupid. how do i revert parts of a file? [00:58] reverse rows? [01:02] i can't do any edits in the diff window ROFL [01:02] holy mother of god [01:05] i dont use tortoisebzr i just use qbzr [01:30] JPeterson: if you want to revert parts of a file, you might find 'bzr shelve FILE' to be more helpful. (Not sure if there's a GUI for that?) [01:32] spiv: ok. thx. [05:33] hi! I'm having problem with pipeline plugin. I'm using the latest revision from bzr-pipeline trunk, but now I started to get these messages: "bzr 2.6.0dev1 is too new for pipeline 1.1.0" [05:36] Probably hasn't been updated for the new version of bzr.dev. [05:37] has there been any discussion on fixing it? [05:38] There's probably nothing broken, strictly speaking. It just doesn't know that it can work with 2.6. [05:38] You could just find the version check and bypass it, and see if anything breaks. [05:38] :) [05:39] the __init__.py does the check and it defines maximum_bzrlib_version = (2, 4) [05:39] any API breakage between 2.4 and 2.6? [05:39] Probably. An API that pipeline uses? I have no idea. [05:40] I mean in bzrlib [05:40] But if it worked with bzr.dev when it was called 2.5 a couple weeks ago, it probably still works with it calling itself 2.6 now. [05:40] I'm not familiar with bzrlib API policies [05:41] Well, I'm not really familiar with the API's, and even less with pipeline. [05:42] If you smoosh the two of us together in a steam press, we could own this joint ;) [05:43] Things are likely to get broken across major releases. But whether that has any impact on a particular plugin is a wide open question. [05:44] If pipeline actually works with 2.5 (or bzr.dev just before 2.5 branched), it probably works equally well with bzr.dev-called-2.6 now. I'd _guess_ the major premise is supportable, but I don't know. [05:44] Wellark: many plugins are very conservative about API versions. They prefer to break up front if they haven't been tested against that version rather than risk some strange breakage while being used. [05:45] Wellark: even though most of the time no change to the plugin is needed (other than relaxing the version check) [05:45] fullermd, spiv: OK, thanks. I'll upgrade the test and see what happens. [05:46] and also file a bug against bzr-pipeline as it seems nobody has done so [06:00] have lightweight checkouts improved over $years ago? i.e. do they actually suck down less data and are faster than pulling full (big) repo? [06:04] I think perhaps jelmer and jam have done a bit of work on that lately. [06:04] I have a partially completed branch (that jelmer is continuing) to make "bzr branch --stacked" a good answer for that case, though. [06:05] (i.e. to make it reasonably efficient w.r.t. how much data it sucks down, at least when using a smart server.) [06:06] (it's about the same amount of data as a lightweight checkout -- all the full texts of the current revision's tree, but actually kept in a local stacked repo so you can still have speedy local diff etc. without necessarily hitting the network for almost every subsequent operation) [07:45] hi vila, and good night [07:45] hey poolie et al., [07:46] poolie: g;night [08:27] hi [08:27] Merwin: hi [08:28] Hey vila :-) [08:28] What web interface would you recommend for end-users not very familiar with bazaar ? I'm looking for something simple which will help them understand [08:30] hmm, loggerhead is the most advanced one I know of, but qlog used locally is IMHO the best way to understand branch history or even branches histories (you can use 'bzr qlog trunk feature1 feature2' to visualize how branches are related) [09:26] morning [09:27] morning mgz [09:28] ha, bug 924727 [09:28] Launchpad bug 924727 in Bazaar "bzr pull does not remember urllib links" [Undecided,New] https://launchpad.net/bugs/924727 [09:28] that workaround for self signed cert won't be good much longer [09:34] mgz: one word: rabbit hole [09:35] mgz: are you already replying or should I ? [09:35] you go ahead [09:36] the good part is that they'll just be able set a conf value with 2.5 [09:39] ok [09:43] yeah, unless he still want his certificates to be verified in which case things will be a bit harder to use until we fix bug #923220 [09:43] Launchpad bug 923220 in update-manager (Ubuntu Precise) "update from oneiric to precise blocked on skype:i386 says updater" [High,Triaged] https://launchpad.net/bugs/923220 [09:43] grrr [09:43] bug #924220 [09:43] Launchpad bug 924220 in Bazaar "ssl.ca_certs should be supported in authentication.conf" [Medium,Confirmed] https://launchpad.net/bugs/924220 === yofel_ is now known as yofel [13:36] bug #1 [13:36] Launchpad bug 1 in Ubuntu "Microsoft has a majority market share" [Critical,In progress] https://launchpad.net/bugs/1 [15:23] what the b- config? [15:23] ^any ideas vila? [15:24] * mgz downgrades from 2.5b5 to something b4 for now [15:25] O_o I used feed-pqm no later than... this morning ? [15:25] and my copy is in sync with lp:hydrazine [15:28] mgz: try *upgrading* hydrazine ? [15:29] mgz: there is a bzrlib_version < (2, 5) to select the right config (and you run 2.5b5 not trunk ?) [15:31] ah yes, missing r102 from hydrazine [15:52] I know we've had discussions about supported timeframes for various things like python-2.4 in the past so I'm going to post this for people to know that things have changed for one of the distros I package for. [15:52] Just an FYI, for future discussions [15:52] http://www.redhat.com/about/news/press-archive/2012/1/red-hat-enterprise-linux-stability-drives-demand-for-more-flexibility-in-long-term-operating-system-deployments [15:52] The RHEL5+ lifecycle has been expanded to 10 years. [15:53] yup, that's been pretty widely linky-ed. [15:53] k [15:54] * abadger1999 now looking at supporting stuff on python-2.4 until March 31, 2017 [15:56] that doesn't feel to bad, unless you're also being bugged to move things to Python 3 at the same time. [15:57] we've yet to make any significant use of post-2.4 features [15:57] various sugar like with and str.format are getting scatterred around but it's not code that couldn't be written the old way [15:59] [16:01] I'm liking the idea of plugins for old versions if new repository formats are made too.... less work for me to package a plugin than to backport fixes/patch out post-py2.4 code in order to get a new format. [16:20] * SamB wonders what Ubuntu is going to do when they pass z [16:22] wrap around to a, probably [16:22] maybe a double a [16:22] aawful aardvark? [16:22] that's what speadsheets use after z, after all [16:30] only gets you one more animal. [16:30] debian has a more pressing naming problem. [16:32] they've already run through all the toy story characters anyone knows about. [16:54] dude, Barbie. [16:55] i *started* using Debian only in hopes that one day i could say, "I'm a Barbie user," without having to buy those horrid dolls. [16:57] mgedmin: yes, but ~aawfull doesn't compare after ~zany [16:58] hmm [16:58] as for Debian, they will presumably have to switch naming schemes at some point, yes, but at least this won't be a *technical* problem [16:59] (assuming they leave sid as-is) [16:59] hmmm ... Mattel should make a "Debian Barbie" [16:59] they should include a USB stick with a net installer [17:00] (A copy of Debian testing?) [17:50] abadger1999: have you considered having python-2.7 available in addition to 2.4 ? [17:50] abadger1999: well, 'you' in the collective sense I mean [17:53] vila: In the epel5 world, we do have a python26 package (no python27 atm). [17:54] vila: but -- if we moved bzr to that, we'd need to create a parallel stack of all the python26 modules that bzr requires. [17:54] abadger1999: epel5 ? [17:54] vila: addon packages for RHEL5 and rhel5 clones. [17:54] thanks [17:55] yeah, you need to find the right balance [17:56] definitely. [17:58] I think the most important ones are cython|pyrex, python-paramiko and python-configobj, akk the others are for testing [17:58] well python-pycurl is still needed probably but not for too long hopefully [18:00] right, break for an hour, just need to remember to come back and listen in on Barry's chat [18:01] yeah... I'm very hesitant to just build bzr without invoking the test suite, though ;-) [18:07] * SamB thinks it would be a lot better if bzr would branch 0 or 1 revision initially, and actually make a branch, before pulling anything else into the repository [18:08] (In terms of what happens when a "bzr branch" command gets interrupted.) [18:48] * SamB wonders how stupid it would be to replace bzr's native repository format with a variant of git's [18:48] IIRC, formats are largely invisible to the user. [18:49] That's one main philosophy difference between bzr and git. [18:49] I'm just wondering if it would be good for efficiency [18:49] bzr holds the tool UI canonical, and re-invents the data format underneath it to better help the user [18:49] git holds the data format canonical, and re-invents the tool UI to better help the user [18:50] SamB: are you still hitting performance issues with 2.5 ? [18:51] (FWIW, bzr supports git's repository format through bzr-git but because the latter uses dulwich it's significantly slower than native git) [18:52] I've never been able to make bzr-git work without running out of "disk" space in /tmp [18:52] ((I use tmpfs)) [18:53] jelmer: I'm not sure if it's as bad as it was, but it's taking forever to pull lp:launchpad ... [18:55] LeoNerd: that's odd, since it shouldn't really be storing anything in /tmp other than the pack file it receives from the remote git server [18:55] SamB: Launchpad is large :) [18:55] jelmer: and I was thinking something along the lines of: use git's 'object store' format(s), and probably the existing 'blob' format [18:56] but make up new object types to represent the other bzr concepts [18:56] (how many other concepts are there?) [18:56] (in a repository, I mean) [18:56] SamB: bzr and git pack files aren't too different, I don't think remaining performance issues are related to the formats [18:56] hmm [18:57] it would be interesting to further optimise pack fetching over HPSS, but I doubt that that requires format changes === SamB_ is now known as SamB [19:00] did you say anything between "bzr and git pack files aren't too different" and when I got back on? [19:01] SamDB: it would be interesting to further optimise pack fetching over HPSS, but I don't that that requires changes as introdusive as format changes. [19:01] yeah, I cought that after I returned [19:20] * SamB wonders if putting transient stuff on disk instead of keeping it in memory wouldn't help [19:21] (Well, sometimes, anyway.) [19:30] vila: AFACT "diff --summarize" is not a real thing, and was not real at the time this was submitted: https://code.launchpad.net/~jbowtie/bzr/doc-bzr-st-historical-532600/+merge/35950 [19:46] abentley: maybe "--stat"? [19:47] SamB: bzr: ERROR: no such option: --stat [19:47] oh [19:47] * SamB misread a "git" into there somehow [21:06] eh, its a jelmer [21:07] hey milki [21:07] you arent in #dulwich o.O [21:07] whoops [21:14] I'm using bzrlib on a long-running task. How can I turn on some type of debug/progress to show that it's ticking along? [21:14] (this is a throw-away script. My Google-foo fails me) [21:15] hi michaelh1 [21:16] Hey [21:16] michaelh1: the simplest thing to do would be to create a progress bar [21:16] michaelh1: are you calling bzrlib.initialize() ? [21:17] jelmer: no [21:17] michaelh1: if you do so, it should install the standard termninal UI for you I think [21:18] OK. Added, it's still silent, how can I turn on the progress bar? [21:23] Kl [21:23] * fullermd mutters. [21:24] michaelh1: that should do it, when there's stuff to display [21:25] michaelh1: if you're using the Launchpad API as well, that doesn't use bzrlib [21:25] oops, nevermind [21:25] * SamB wonders what in the world all these huge "Repository.get_parent_map" HPSS calls are for [21:25] * jelmer is confused by talking with Michael Hope and Michael Hall at the same time [21:26] SamB: browsing the revision graph [21:26] jelmer: why does *my* bzr need to browse the *remote* graph? [21:26] SamB: it depends on what you're doing [21:26] shouldn't it leave that to the remote? [21:27] SamB: if you're running "bzr log lp:bzr" then it would look at the remote revision graph to find out what to display [21:27] jelmer: hmm. the backtrace shows that it's in search_missing_revision_ids. This is GCC so that may take some time and there might be no progress. [21:27] hmm [21:27] well, I wasn't [21:27] I'm just pulling [21:27] CPU usage is zero so it might be round tripping. I'll update bzr from 2.3.4 and try again. [21:29] SamB: in that case it's finding out which revisions it needs to fetch [21:29] there's got to be a better way to do that [21:29] SamB: Git does the same thing (the "want " / "have " bits) [21:29] SamB: for some cases, yes, definitely [21:29] Is there a PPA with 2.5b5 in it? [21:30] SamB: if you're a couple of revisions behind on what you're pulling from, or creating an initial clone then it's fine [21:30] Ah, found it [21:30] jelmer: assuming you don't run out of RAM and have to interrupt bzr mid-way [21:31] SamB: in that case you wouldn't end up with any data anyway I think [21:31] why would you think that ? [21:31] Ah, much better with 2.5b5 [21:34] SamB: it streams to a temporary pack file, which I think gets removed if you abort it. [22:38] * SamB thinks the smart protocol would be easier to understand if it weren't based on RPC ... [22:40] SamB: hmm? [22:40] maybe not [22:40] SamB: RPC is a fairly generic term, not a protocol [22:41] I guess what would really help was if there was some kind of ... spec [22:42] SamB: see doc/developers/network-protocol.txt IIRC [22:43] not great, but more than nothing :) [22:43] yes, it is more than nothing [22:49] SamB: good places to start in the code are bzrlib/remote.py (all client-side callers are here) and bzrlib/smart/, in particular bzrlib/smart/request.py [22:50] yeah, I was already looking at bzrlib/remote [22:50] it's aptly named [22:50] :) [22:51] this thing that you did not actually call a spec does also at least refer to relevant modules [22:54] It's a speck of a spec 8-} [22:54] I guess you'd call it a "stub" [22:55] well, if you were a wikipedian, anyway [22:56] Code not geared to do pipelined requests, and this might require doing [22:56] asynchrony within bzrlib. We might want to either go fully pipelined [22:56] and asynchronous, but there might be a profitable middle ground. [22:56] there seem to be some words missing here ... [22:56] It was written during the Great Verb Drought of 2009. They were strictly rationed, and as a free software project, we can't afford to splurge on non-essentials. [22:57] ... right ... [22:57] SamB: s/Code/The code is / [22:57] what about the whole idea that's missing in the second sentance? [22:58] or is that just an "and" that should be "or"? [22:58] It's probably more like an extra word than a missing one. [22:58] I think it calls for an either-ectomy. [22:58] ah [23:00] what does "tw=74" mean, exactly? [23:00] vim modeline [23:02] is that the same as `fill-column' in emacs, do you think? [23:02] yep, "textwidth" - it indicates the number of colums in a text document [23:05] good, good [23:06] * SamB has started editing and wanted to make sure to follow the local conventions [23:12] git does something fairly simple here: the client sends "have" messages in batches of 32, but sends an "extra" block to start with so there's always one in flight... [23:14] SamB: git has a completely different approach here - it only supports receiving a pack and sending a pack [23:14] well why not? [23:14] bzr supports all operations remotely; the initial calls that were added were for low-level operations, and over time more high-level operations have been added (for performance reasons) [23:14] it's not that hard to make a pack [23:15] SamB: git doesn't allow you to inspect a remote repository in any way; "git log git://foo.com/bar" doesn't work [23:15] well, true [23:15] SamB: the streams sent by bzr over HPSS are packs [23:15] though nowadays the protocol doesn't actually prevent that [23:17] (I mean, with the "shallow" stuff, it wouldn't really be all that tricky to do git logging remotely.) [23:19] SamB: does that allow you to retrieve just commit objects? I thought you would get the commit contents with it as well? [23:19] SamB: and it requires you to create a new connection for each request that you do [23:19] jelmer: oh, maybe [23:20] * jelmer actually has more experience with the Git protocol than with the bzr protocol [23:20] but that seems unlikely to make things much worse [23:20] you'd just have to throw them away, right? [23:21] ... unless there might be deltified commits based on blobs or trees? [23:22] SamB: yes, but you'd have to do the negotiation each time you connect, and there could be a lot of data you throw out. [23:22] SamB: bzr does that bit really quickly these days (not against launchpad, but against a modern bzr server) [23:22] oh, right, launchpad is probably running something old, true [23:23] but I think we're getting distracted from the discussion about optimizing fetch :) [23:23] yeah, a bit [23:23] SamB: so basically there is a generic call for retrieving objects in the HPSS [23:24] SamB: Repository.insert_stream and Repository.get_stream allow you to send and receive streamed packs of objects like texts, chkbytes (inventories), revisions and signatures [23:24] SamB: Repository.get_stream receives some sort of search result which indicates the kind of objects that the client wants to receive [23:25] s/result// [23:25] SamB: (bzrlib/vf_search.py for some of the search types) [23:29] the searches do support things like "give me the data for revision X1..Xn but exclude everything that is an ancestor of Y1..Yn" [23:29] ... it would also be nice if it didn't use so much memory during the streaming phase, hmm ... [23:30] SamB: I'm not sure why it would be using so much memory, my guess is that it could just stream directly to the pack file, but I'm not sure what's happening in practice. Perhaps a bug ? [23:31] bug, missing feature, who knows? [23:34] jelmer: SamB: we're running 2.5b3 [23:34] this isn't really 'old' [23:34] okay [23:34] maybe not 'newest', but not like we're running 1.8 or something :-> [23:35] I was thinking more 2.3 or 2.4 [23:35] well, after jelmer gave me the idea that it might not be the latest [23:35] lifeless: it predates the collection of HPSS improvements we landed in 2.5 [23:36] lifeless: it's not really old, but landing 2.5b5 will have a significant impact for some operations [23:36] cool [23:37] does it somehow return better answers for Repository.get_parent_map ? [23:37] SamB: nope, it's doesn't help in that regard [23:38] SamB: If I understand things correctly, "bzr pull" shouldn't be calling Repository.get_parent_map too often in your case anyway [23:38] SamB: if it's trying to figure out the revno of a revision by browsing branch history then those improvements will help [23:38] well, it seems to do a lot of those at the beginning of the pull [23:39] SamB: can you see why? [23:39] well, lets see ... [23:39] SamB: Ctrl+\ should land you in a python debugger [23:40] 8.069 hpss call: 'Branch.last_revision_info', '+branch/launchpad/' [23:40] 8.069 (to bzr+ssh://bazaar.launchpad.net/+branch/launchpad/) [23:40] 8.169 result: ('ok', '14742', 'launchpad@pqm.canonical.com-20120201203052-676sbmji00bd2h57') [23:40] then a bit later [23:40] 8.300 hpss call w/body: 'Repository.get_parent_map', '+branch/launchpad/', 'include-missing:', 'launchpad@pqm.canonical.com-20120201203052-676sbmji00bd2h57' ('\n\n0'...) [23:40] 8.300 3 bytes [23:40] 8.921 result: ('ok',) [23:40] 9.162 64719 body bytes read [23:41] SamB: it's more interesting to see what high-level request triggers the HPSS call [23:41] (and perhaps shouldn't) [23:41] jelmer: hmm. [23:41] jelmer: you know… [23:42] jelmer: It'd be possible to write a -Dhpsswhy flag I reckon [23:42] yes, of course it would [23:42] jelmer: that adds to -Dhpss which method of Branch/Repository/BzrDir triggered it [23:43] jelmer: by horrible stack introspection :) [23:43] (but what if there were more than one involved?) [23:43] List them all. Shouldn't be more than three most of the time I'd reckon [23:44] It would be a good middle-ground between context-less -Dhpss now and having to manually get full tracebacks with Ctrl-\ [23:45] E.g. adding "via: BzrDir.sprout, Branch.sprout, Repository.get_parent_map" or whatever [23:46] spiv: hmm, that'd indeed be nice :) [23:48] is there some way to get more ordinarily-formatted traceback in pdb? [23:50] SamB: I guess you can just use "import traceback; traceback.print_stack()" [23:51] hehe [23:51] that shows me a lot of pbd's own stack frames [23:55] I guess it would :) [23:59] http://paste.debian.net/154425/