/srv/irclogs.ubuntu.com/2012/02/01/#bzr.txt

=== jordan_ is now known as jordan
JPetersonthe tortoisebzr diff window is really something else00:54
JPetersonhow do i revert rows in it? lol00:55
JPetersonI've never seen anything so stupid. how do i revert parts of a file?00:57
AuroraBorealisreverse rows?00:58
JPetersoni can't do any edits in the diff window ROFL01:02
JPetersonholy mother of god01:02
AuroraBorealisi dont use tortoisebzr i just use qbzr01:05
spivJPeterson: 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:30
JPetersonspiv: ok. thx.01:32
Wellarkhi! 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:33
fullermdProbably hasn't been updated for the new version of bzr.dev.05:36
Wellarkhas there been any discussion on fixing it?05:37
fullermdThere's probably nothing broken, strictly speaking.  It just doesn't know that it can work with 2.6.05:38
fullermdYou could just find the version check and bypass it, and see if anything breaks.05:38
Wellark:)05:38
Wellarkthe __init__.py does the check and it defines maximum_bzrlib_version = (2, 4)05:39
Wellarkany API breakage between 2.4 and 2.6?05:39
fullermdProbably.  An API that pipeline uses?  I have no idea.05:39
WellarkI mean in bzrlib05:40
fullermdBut 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
WellarkI'm not familiar with bzrlib API policies05:40
fullermdWell, I'm not really familiar with the API's, and even less with pipeline.05:41
fullermdIf you smoosh the two of us together in a steam press, we could own this joint   ;)05:42
fullermdThings are likely to get broken across major releases.  But whether that has any impact on a particular plugin is a wide open question.05:43
fullermdIf 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
spivWellark: 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:44
spivWellark: even though most of the time no change to the plugin is needed (other than relaxing the version check)05:45
Wellarkfullermd, spiv: OK, thanks. I'll upgrade the test and see what happens.05:45
Wellarkand also file a bug against bzr-pipeline as it seems nobody has done so05:46
stewarthave lightweight checkouts improved over $years ago? i.e. do they actually suck down less data and are faster than pulling full (big) repo?06:00
spivI think perhaps jelmer and jam have done a bit of work on that lately.06:04
spivI have a partially completed branch (that jelmer is continuing) to make "bzr branch --stacked" a good answer for that case, though.06:04
spiv(i.e. to make it reasonably efficient w.r.t. how much data it sucks down, at least when using a smart server.)06:05
spiv(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)06:06
pooliehi vila, and good night07:45
vilahey poolie et al.,07:45
vilapoolie: g;night07:46
Merwinhi08:27
vilaMerwin: hi08:27
MerwinHey vila :-)08:28
MerwinWhat web interface would you recommend for end-users not very familiar with bazaar ? I'm looking for something simple which will help them understand08:28
vilahmm, 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)08:30
mgzmorning09:26
vilamorning mgz09:27
mgzha, bug 92472709:28
ubot5`Launchpad bug 924727 in Bazaar "bzr pull does not remember urllib links" [Undecided,New] https://launchpad.net/bugs/92472709:28
mgzthat workaround for self signed cert won't be good much longer09:28
vilamgz: one word: rabbit hole09:34
vilamgz: are you already replying or should I ?09:35
mgzyou go ahead09:35
mgzthe good part is that they'll just be able set a conf value with 2.509:36
vilaok09:39
vilayeah, unless he still want his certificates to be verified in which case things will be a bit harder to use until we fix bug #92322009:43
ubot5`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/92322009:43
vilagrrr09:43
vilabug #92422009:43
ubot5`Launchpad bug 924220 in Bazaar "ssl.ca_certs should be supported in authentication.conf" [Medium,Confirmed] https://launchpad.net/bugs/92422009:43
=== yofel_ is now known as yofel
Merwin__bug #113:36
ubot5`Launchpad bug 1 in Ubuntu "Microsoft has a majority market share" [Critical,In progress] https://launchpad.net/bugs/113:36
mgzwhat the b- config? <http://pastebin.ubuntu.com/825188/>15:23
mgz^any ideas vila?15:23
* mgz downgrades from 2.5b5 to something b4 for now15:24
vilaO_o I used feed-pqm no later than... this morning ?15:25
vilaand my copy is in sync with lp:hydrazine15:25
vilamgz: try *upgrading* hydrazine ?15:28
vilamgz: there is a bzrlib_version < (2, 5) to select the right config (and you run 2.5b5 not trunk ?)15:29
mgzah yes, missing r102 from hydrazine15:31
abadger1999I 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
abadger1999Just an FYI, for future discussions15:52
abadger1999http://www.redhat.com/about/news/press-archive/2012/1/red-hat-enterprise-linux-stability-drives-demand-for-more-flexibility-in-long-term-operating-system-deployments15:52
abadger1999The RHEL5+ lifecycle has been expanded to 10 years.15:52
mgzyup, that's been pretty widely linky-ed.15:53
abadger1999k15:53
* abadger1999 now looking at supporting stuff on python-2.4 until March 31, 201715:54
mgzthat doesn't feel to bad, unless you're also being bugged to move things to Python 3 at the same time.15:56
mgzwe've yet to make any significant use of post-2.4 features15:57
mgzvarious sugar like with and str.format are getting scatterred around but it's not code that couldn't be written the old way15:57
abadger1999<nod>15:59
abadger1999I'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:01
* SamB wonders what Ubuntu is going to do when they pass z16:20
mgedminwrap around to a, probably16:22
mgedminmaybe a double a16:22
mgedminaawful aardvark?16:22
mgedminthat's what speadsheets use after z, after all16:22
mgzonly gets you one more animal.16:30
mgzdebian has a more pressing naming problem.16:30
mgzthey've already run through all the toy story characters anyone knows about.16:32
mneptokdude, Barbie.16:54
mneptoki *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:55
SamBmgedmin: yes, but ~aawfull doesn't compare after ~zany16:57
mgedminhmm16:58
SamBas for Debian, they will presumably have to switch naming schemes at some point, yes, but at least this won't be a *technical* problem16:58
SamB(assuming they leave sid as-is)16:59
mneptokhmmm ... Mattel should make a "Debian Barbie"16:59
SamBthey should include a USB stick with a net installer16:59
SamB(A copy of Debian testing?)17:00
vilaabadger1999: have you considered having python-2.7 available in addition to 2.4 ?17:50
vilaabadger1999: well, 'you' in the collective sense I mean17:50
abadger1999vila: In the epel5 world, we do have a python26 package (no python27 atm).17:53
abadger1999vila: 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
vilaabadger1999: epel5 ?17:54
abadger1999vila: addon packages for RHEL5 and rhel5 clones.17:54
vilathanks17:54
vilayeah, you need to find the right balance17:55
abadger1999<nod> definitely.17:56
vilaI think the most important ones are cython|pyrex, python-paramiko and python-configobj, akk the others are for testing17:58
vilawell python-pycurl is still needed probably but not for too long hopefully17:58
mgzright, break for an hour, just need to remember to come back and listen in on Barry's chat18:00
abadger1999yeah... I'm very hesitant to just build bzr without invoking the test suite, though ;-)18:01
* 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 repository18:07
SamB(In terms of what happens when a "bzr branch" command gets interrupted.)18:08
* SamB wonders how stupid it would be to replace bzr's native repository format with a variant of git's18:48
LeoNerdIIRC, formats are largely invisible to the user.18:48
LeoNerdThat's one main philosophy difference between bzr and git.18:49
SamBI'm just wondering if it would be good for efficiency18:49
LeoNerdbzr holds the tool UI canonical, and re-invents the data format underneath it to better help the user18:49
LeoNerdgit holds the data format canonical, and re-invents the tool UI to better help the user18:49
jelmerSamB: are you still hitting performance issues with 2.5 ?18:50
jelmer(FWIW, bzr supports git's repository format through bzr-git but because the latter uses dulwich it's significantly slower than native git)18:51
LeoNerdI've never been able to make bzr-git work without running out of "disk" space in /tmp18:52
LeoNerd((I use tmpfs))18:52
SamBjelmer: I'm not sure if it's as bad as it was, but it's taking forever to pull lp:launchpad ...18:53
jelmerLeoNerd: that's odd, since it shouldn't really be storing anything in /tmp other than the pack file it receives from the remote git server18:55
jelmerSamB: Launchpad is large :)18:55
SamBjelmer: and I was thinking something along the lines of: use git's 'object store' format(s), and probably the existing 'blob' format18:55
SamBbut make up new object types to represent the other bzr concepts18:56
SamB(how many other concepts are there?)18:56
SamB(in a repository, I mean)18:56
jelmerSamB: bzr and git pack files aren't too different, I don't think remaining performance issues are related to the formats18:56
SamBhmm18:56
jelmerit would be interesting to further optimise pack fetching over HPSS, but I doubt that that requires format changes18:57
=== SamB_ is now known as SamB
SamBdid you say anything between "bzr and git pack files aren't too different" and when I got back on?19:00
jelmerSamDB: 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
SamByeah, I cought that after I returned19:01
* SamB wonders if putting transient stuff on disk instead of keeping it in memory wouldn't help19:20
SamB(Well, sometimes, anyway.)19:21
abentleyvila: 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/3595019:30
SamBabentley: maybe "--stat"?19:46
abentleySamB: bzr: ERROR: no such option: --stat19:47
SamBoh19:47
* SamB misread a "git" into there somehow19:47
milkieh, its a jelmer21:06
jelmerhey milki21:07
milkiyou arent in #dulwich o.O21:07
jelmerwhoops21:07
michaelh1I'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
michaelh1(this is a throw-away script.  My Google-foo fails me)21:14
jelmerhi michaelh121:15
michaelh1Hey21:16
jelmermichaelh1: the simplest thing to do would be to create a progress bar21:16
jelmermichaelh1: are you calling bzrlib.initialize() ?21:16
michaelh1jelmer: no21:17
jelmermichaelh1: if you do so, it should install the standard termninal UI for you I think21:17
michaelh1OK.  Added, it's still silent, how can I turn on the progress bar?21:18
fullermdKl21:23
* fullermd mutters.21:23
jelmermichaelh1: that should do it, when there's stuff to display21:24
jelmermichaelh1: if you're using the Launchpad API as well, that doesn't use bzrlib21:25
jelmeroops, nevermind21:25
* SamB wonders what in the world all these huge "Repository.get_parent_map" HPSS calls are for21:25
* jelmer is confused by talking with Michael Hope and Michael Hall at the same time21:25
jelmerSamB: browsing the revision graph21:26
SamBjelmer: why does *my* bzr need to browse the *remote* graph?21:26
jelmerSamB: it depends on what you're doing21:26
SamBshouldn't it leave that to the remote?21:26
jelmerSamB: if you're running "bzr log lp:bzr" then it would look at the remote revision graph to find out what to display21:27
michaelh1jelmer: 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
SamBhmm21:27
SamBwell, I wasn't21:27
SamBI'm just pulling21:27
michaelh1CPU usage is zero so it might be round tripping.  I'll update bzr from 2.3.4 and try again.21:27
jelmerSamB: in that case it's finding out which revisions it needs to fetch21:29
SamBthere's got to be a better way to do that21:29
jelmerSamB: Git does the same thing (the "want " / "have " bits)21:29
jelmerSamB: for some cases, yes, definitely21:29
michaelh1Is there a PPA with 2.5b5 in it?21:29
jelmerSamB: if you're a couple of revisions behind on what you're pulling from, or creating an initial clone then it's fine21:30
michaelh1Ah, found it21:30
SamBjelmer: assuming you don't run out of RAM and have to interrupt bzr mid-way21:30
jelmerSamB: in that case you wouldn't end up with any data anyway I think21:31
SamBwhy would you think that ?21:31
michaelh1Ah, much better with 2.5b521:31
jelmerSamB: it streams to a temporary pack file, which I think gets removed if you abort it.21:34
* SamB thinks the smart protocol would be easier to understand if it weren't based on RPC ...22:38
jelmerSamB: hmm?22:40
SamBmaybe not22:40
jelmerSamB: RPC is a fairly generic term, not a protocol22:40
SamBI guess what would really help was if there was some kind of ... spec22:41
jelmerSamB: see doc/developers/network-protocol.txt IIRC22:42
jelmernot great, but more than nothing :)22:43
SamByes, it is more than nothing22:43
jelmerSamB: 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.py22:49
SamByeah, I was already looking at bzrlib/remote22:50
SamBit's aptly named22:50
jelmer:)22:50
SamBthis thing that you did not actually call a spec does also at least refer to relevant modules22:51
fullermdIt's a speck of a spec   8-}22:54
SamBI guess you'd call it a "stub"22:54
SamBwell, if you were a wikipedian, anyway22:55
SamB  Code not geared to do pipelined requests, and this might require doing22:56
SamB  asynchrony within bzrlib.  We might want to either go fully pipelined22:56
SamB  and asynchronous, but there might be a profitable middle ground.22:56
SamBthere seem to be some words missing here ...22:56
fullermdIt 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:56
SamB... right ...22:57
jelmerSamB: s/Code/The code is /22:57
SamBwhat about the whole idea that's missing in the second sentance?22:57
SamBor is that just an "and" that should be "or"?22:58
fullermdIt's probably more like an extra word than a missing one.22:58
fullermdI think it calls for an either-ectomy.22:58
SamBah22:58
SamBwhat does "tw=74" mean, exactly?23:00
fullermdvim modeline23:00
SamBis that the same as `fill-column' in emacs, do you think?23:02
jelmeryep, "textwidth" - it indicates the number of colums in a text document23:02
SamBgood, good23:05
* SamB has started editing and wanted to make sure to follow the local conventions23:06
SamBgit 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:12
jelmerSamB: git has a completely different approach here - it only supports receiving a pack and sending a pack23:14
SamBwell why not?23:14
jelmerbzr 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
SamBit's not that hard to make a pack23:14
jelmerSamB: git doesn't allow you to inspect a remote repository in any way; "git log git://foo.com/bar" doesn't work23:15
SamBwell, true23:15
jelmerSamB: the streams sent by bzr over HPSS are packs23:15
SamBthough nowadays the protocol doesn't actually prevent that23:15
SamB(I mean, with the "shallow" stuff, it wouldn't really be all that tricky to do git logging remotely.)23:17
jelmerSamB: does that allow you to retrieve just commit objects? I thought you would get the commit contents with it as well?23:19
jelmerSamB: and it requires you to create a new connection for each request that you do23:19
SamBjelmer: oh, maybe23:19
* jelmer actually has more experience with the Git protocol than with the bzr protocol23:20
SamBbut that seems unlikely to make things much worse23:20
SamByou'd just have to throw them away, right?23:20
SamB... unless there might be deltified commits based on blobs or trees?23:21
jelmerSamB: 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
jelmerSamB: bzr does that bit really quickly these days (not against launchpad, but against a modern bzr server)23:22
SamBoh, right, launchpad is probably running something old, true23:22
jelmerbut I think we're getting distracted from the discussion about optimizing fetch :)23:23
SamByeah, a bit23:23
jelmerSamB: so basically there is a generic call for retrieving objects in the HPSS23:23
jelmerSamB: Repository.insert_stream and Repository.get_stream allow you to send and receive streamed packs of objects like texts, chkbytes (inventories), revisions and signatures23:24
jelmerSamB: Repository.get_stream receives some sort of search result which indicates the kind of objects that the client wants to receive23:24
jelmers/result//23:25
jelmerSamB: (bzrlib/vf_search.py for some of the search types)23:25
jelmerthe 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
SamB... it would also be nice if it didn't use so much memory during the streaming phase, hmm ...23:29
jelmerSamB: 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:30
SamBbug, missing feature, who knows?23:31
lifelessjelmer: SamB: we're running 2.5b323:34
lifelessthis isn't really 'old'23:34
SamBokay23:34
lifelessmaybe not 'newest', but not like we're running 1.8 or something :->23:34
SamBI was thinking more 2.3 or 2.423:35
SamBwell, after jelmer gave me the idea that it might not be the latest23:35
jelmerlifeless: it predates the collection of HPSS improvements we landed in 2.523:35
jelmerlifeless: it's not really old, but landing 2.5b5 will have a significant impact for some operations23:36
lifelesscool23:36
SamBdoes it somehow return better answers for Repository.get_parent_map ?23:37
jelmerSamB: nope, it's doesn't help in that regard23:37
jelmerSamB: If I understand things correctly, "bzr pull" shouldn't be calling Repository.get_parent_map too often in your case anyway23:38
jelmerSamB: if it's trying to figure out the revno of a revision by browsing branch history then those improvements will help23:38
SamBwell, it seems to do a lot of those at the beginning of the pull23:38
jelmerSamB: can you see why?23:39
SamBwell, lets see ...23:39
jelmerSamB: Ctrl+\ should land you in a python debugger23:39
SamB8.069  hpss call:   'Branch.last_revision_info', '+branch/launchpad/'23:40
SamB8.069               (to bzr+ssh://bazaar.launchpad.net/+branch/launchpad/)23:40
SamB8.169     result:   ('ok', '14742', 'launchpad@pqm.canonical.com-20120201203052-676sbmji00bd2h57')23:40
SamBthen a bit later23:40
SamB8.300  hpss call w/body: 'Repository.get_parent_map', '+branch/launchpad/', 'include-missing:', 'launchpad@pqm.canonical.com-20120201203052-676sbmji00bd2h57' ('\n\n0'...)23:40
SamB8.300                3 bytes23:40
SamB8.921     result:   ('ok',)23:40
SamB9.162                64719 body bytes read23:40
jelmerSamB: it's more interesting to see what high-level request triggers the HPSS call23:41
jelmer(and perhaps shouldn't)23:41
spivjelmer: hmm.23:41
spivjelmer: you know…23:41
spivjelmer: It'd be possible to write a -Dhpsswhy flag I reckon23:42
SamByes, of course it would23:42
spivjelmer: that adds to -Dhpss which method of Branch/Repository/BzrDir triggered it23:42
spivjelmer: by horrible stack introspection :)23:43
SamB(but what if there were more than one involved?)23:43
spivList them all.  Shouldn't be more than three most of the time I'd reckon23:43
spivIt would be a good middle-ground between context-less -Dhpss now and having to manually get full tracebacks with Ctrl-\23:44
spivE.g. adding "via: BzrDir.sprout, Branch.sprout, Repository.get_parent_map" or whatever23:45
jelmerspiv: hmm, that'd indeed be nice :)23:46
SamBis there some way to get more ordinarily-formatted traceback in pdb?23:48
spivSamB: I guess you can just use "import traceback; traceback.print_stack()"23:50
SamBhehe23:51
SamBthat shows me a lot of pbd's own stack frames23:51
spivI guess it would :)23:55
SamBhttp://paste.debian.net/154425/23:59

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