/srv/irclogs.ubuntu.com/2008/05/28/#bzr.txt

mwhudsonbeuno: i should say that it's not just performance we'd be looking for with genshi, but also memory usage00:00
mwhudsonbeuno: if you change the limit for 'fancy' diffs up to say 10000 and view a big diff and watch loggerhead's memory usage in top you'll get a fright :)00:00
beunoright, I tend to see memory as a part of performance, but, of course, you're not in my head.00:01
beunocool, I'll create a branch with a big diff and use that00:01
beunothat helps  :)00:01
beunoI'd also like to do something about setup.py sooner than later, so we don't break people's computers to install loggerhead00:02
mwhudsonbeuno: well, you were ambiguous enough for me to want to check00:02
beunomwhudson, the more explicit, the better, so thanks for clearing that up00:02
mwhudsonbeuno: when we first identified the problem with big diffs the irc transcript went like this:00:03
mwhudson<mwh> right, i have the branch set up, let the machine crushing begin!00:03
mwhudson*** mwh has quit (remote closed the connection)00:03
beunolol00:03
mwhudson*** mwh has joined the channel00:03
mwhudson* mwh didn't expect that to work so well00:03
mwhudsonthe OOM killer got involved and killed x00:04
dleelol00:04
* beuno starts setting up a test enviroment in a different PC00:04
mwhudsonbeuno: another bit of advice:00:04
mwhudsondon't use firefox to test the url, use curl or something instead :)00:04
beunoah, makes a lot of sense00:06
dleeIf I could dare one more question:  Is cvsps-import still the most preferred way of importing CVS to Bazaar (one-way, one-time should be all I need, but for a lot of projects, again with mixed case and Windows line endings)?00:06
beunotwo memory hoggers at once won't help00:06
mwhudsondlee: yes00:06
dleeI even have one project that ues vendor branches :P  (Tailor doesn't handle those too well)00:07
mwhudsondlee: another sane option aiui is to use cvs2svn's 'fastexport' stream and bzr-fastimport00:07
dleeAh thanks!  I looked at that but missed how to get it all put together.00:07
dleelooked at fastexport I mean00:08
beunook, well, mwhudson, jam, many thanks for all the input/patience, I'll get back to coding for a while00:08
beunomwhudson, I'll move _strip_NULL_ghosts into loggerhead so we're on the safe side for now00:08
mwhudsonbeuno: thanks00:09
beunomwhudson, just to recap, for the new theme for files, it's generally OK as-is, or is there something you want changed before we move on?00:12
mwhudsonbeuno: it's ok with me, we should probably give some other people a chance to respond :)00:12
beunomwhudson, heh, yeah, probably. *Some* work has been done on the diff view already, so I hope to get that out soon too.00:13
mwhudsongreat00:14
beunoawilkins, related to the eclipse cache, the XMLRPC should solve the need for one. I know Verterok had played around with it, but it's a heap of work, so I'm not sure when that will land.00:21
thumperspiv: ping00:25
thumpernow, I think I know what it is doing, but pushing to bzr+ssh it is sitting at Copying signature texts 4/5 for ages, could this be doing a repack (locally)00:29
spivthumper: check the ~/.bzr.log00:30
spivthumper: as it happens, I have a branch I made yesterday that does the autopack server-side.00:30
thumperspiv: nothing in there00:30
thumperspiv: since the last success anyway00:31
spivthumper: use00:31
spiv"bzr -Dhpss ..."00:31
spivin future, and then the .bzr.log will tell you much more.00:31
thumperspiv: should I kill my push or not?00:31
spivI'm fairly sure that an autopack does get logged, though.00:31
thumperhmm..00:31
spivSo it's probably "normal" operation.00:31
spivI suspect it's too late to kill the push and redo the identical push.00:32
spivYou could try it, though.00:32
thumper???00:34
thumperit said created new branch00:34
thumperwhen the branch was already ther00:34
thumpere00:34
spivThe branch probably wasn't already there.00:36
spivIf you had a -Dhpss log, we could confirm this :)00:36
awilkinsbeuno: Why would the XMLRPC solve the need to cache?00:50
awilkinsbeuno: Does it implement a server which itself caches?00:51
awilkinsBah, anyway, it's late, beddy-byes time, gnight00:55
beunoawilkins, for starters, you stop paying the cost of starting bzr everytime. And, eventually, if needed, you will be able to cache, yes00:55
awilkinsbeuno: I've already mitigated the cost of starting bzr somewhat by integrating the "service" plugin into bzr-eclipse00:55
awilkinsbeuno: But on my target working tree of 3700 files the performance still leaves a lot to be desired.00:56
beunoawilkins, right, well, I don't know any specifics, but I suppose you can cache with the XMLRPC, and avoid re-writing it within eclipse00:56
awilkinsThe problem is mostly uncached log hits for decorators00:57
beunobut Verterok is the man to talk to00:57
awilkinsYes, I correspond with him.00:57
beunoawilkins, anyway, just though I'd comment. I'll let you sleep already, g'night  :)00:59
awilkinsThe performance of "log" on a single file for bzr is not what it is for SVN/CVS00:59
awilkinsGnight chaps, until tomorrows first coffee.....00:59
* igc medical appointment - bbl01:17
halsteadHow do I cause bzr to forget an improperly set submit branch as listed in bzr info?01:18
fullermdI don't think there is a UI to 'forget'.  You can overwrite with a --remember.01:18
fullermdOnly way to forget is just whack it out of the branch.conf manually.01:19
halsteadThanks.01:22
beunocode scanner just came back from the dead!01:23
mwhudsonindeed01:24
beunoit's lying in some cases though  :/01:24
mwhudson?01:24
beunoit says a branch was modified "50 minutes ago", when it clearly hasn't01:25
mwhudsonit's still catching up on a pretty huge backlog01:25
mwhudsonoh right, it probably sets the modified time to NOW when the scanner runs01:25
mwhudsonwe don't usually expect that to be several days after the change...01:25
beunoah, that doesn't seem like the right thing to do at all  :)01:25
=== samurai_ is now known as samiam
thumperlifeless: ping01:51
=== mw is now known as mw|out
beunomwhudson, my firsts tests with genshi don't show a big improvement over kid  :(02:17
mwhudsonbeuno: bah!02:17
PengBig improvement in what? Performance?02:18
beunomwhudson, in fact, kid takes less time02:18
mwhudsonbeuno: and RAM?02:20
beunomwhudson, looking for a good way to test it, but looking at top, it seems about the same or more even02:21
mwhudsonoh well02:21
mwhudsonit was a nice idea02:22
mwhudsonbeuno: can you push your code?02:22
beunoI'm testing this with annotate, as it was the simplest template to test it with02:22
beunomwhudson, sure, let me clean up, and I'll push it to LP02:23
beunoI just converted the annotate template, so it's all mixed up between kid and genshi02:23
mwhudsonjam: still here?02:23
mwhudsonheh02:23
mwhudsonthat's fine02:23
mwhudsoni'm not sure item_keys_introduced_by really helps loggerhead02:23
mwhudsonwe want to know which fileids changes between two mainline revisions02:24
beunomwhudson, do you have a good way to test memory usage?02:26
beuno(I can google around, but might be good to be using the same tools)02:26
mwhudsonyou can find all the fileids changed by all revisions introduced between two given revisions, but that's not really correct02:27
mwhudsonbeuno: i don't have any sophisticated tests, no :/02:27
mwhudsonbeuno: i do know that builtins.py is the largest file in bzr.dev :)02:27
beunomwhudson, I went for NEWS, which takes 13-16 seconds to annotate02:31
mwhudsonok02:31
PengI think http://wingolog.org/archives/2007/11/27/reducing-the-footprint-of-python-applications might be good, or one other page I can't think of.02:31
beunoanway, I'll take a few more minutes to convert all templates to Genshi, and push02:31
beunoso you can go crazy on it  :)02:31
beunoPeng, thanks, I'll take a look at that02:32
poolieigc, ping?02:34
pooliespiv: will leave soon02:47
spivpoolie: ok02:48
mwhudsonmmm, graph.py is getting pretty deep02:49
mwhudsongar, revision numbers are pain02:56
beunomwhudson, https://code.edge.launchpad.net/~beuno/loggerhead/loggerhead.genshi02:58
beunoI'm off for dinner02:58
beunoonly annotate was converted02:59
mwhudsonbeuno: enkpy your dinner02:59
mwhudsonjo02:59
beunoI ran into a few quirks with the kid<>genshi conversion on the other templates, so I'll just leave it alone unless you find it's actually useful02:59
beunoI'll be back in a couple of hours, and thanks  :)03:00
mwhudsonhm03:06
mwhudsonmy turbogears isn't finding my genshi03:06
mwhudsonoh look https://bugs.edge.launchpad.net/ubuntu/+source/genshi/+bug/22628503:07
ubottuLaunchpad bug 226285 in genshi "Due to packaging changes, Genshi no longer works with TurboGears" [Unknown,Fix committed]03:07
jammwhudson: I'm back for a bit03:09
jamwhat's up?03:09
jamah, fileids...03:09
jamyeah, I can see the problem03:09
mwhudsonjam: it's not really any faster anyway, on launchpad03:09
jamversus doing a diff?03:09
mwhudsonyeah03:09
igcpoolie: pong03:09
jamhmm... a bit surprising, but you did the test03:10
mwhudsonjam: let me pastebin the code03:10
jammostly because the item_keys_introduced code can work on the deltas directly03:11
mwhudsonjam: http://pastebin.ubuntu.com/15215/03:11
jamwithout going up to full texts03:11
jamwell, r2r = b.get_revision_id_to_revno_map() is going to dominate your time03:12
mwhudsonvs http://pastebin.ubuntu.com/15216/03:12
mwhudsonjam: oops03:12
mwhudsoni tested without that line03:12
mwhudson(and indeed it's pretty slow, get_revision_id_to_revno_map takes ~5 seconds)03:12
mwhudsonbut the fileids_from... takes ~1 second03:13
jamwhat about the find_unique_ancestors line?03:13
mwhudsoneh, not long, a few tenths03:13
jamyay03:14
jamthat's been my work for the last while03:14
mwhudsonnot even that03:14
mwhudson0.00303:14
mwhudsonwhich is pretty neat :)03:14
jamthough if it is a simple graph, that isn't saying a huge amount03:15
jambut I'm glad it is fast03:15
jamit is a way forward03:15
mwhudsonrunning this between the last 100 mainline revs of launchpad has one revision where it takes 3.5 seconds03:16
mwhudsonand a couple where it's 0.7 or so03:17
jamyeah, those are the ones I'd like to work on03:17
jamshortcuts cause some problems03:17
jambecause you have to search that far on the other side03:17
jamwhich gets you into revs with lots of ancestors, etc03:17
mwhudsonah dammit, what's the package name for R again?03:17
mwhudsonr-base-core03:18
jam:)03:18
jamone of the problems with extra simple names03:18
jamhow do you google for R ?03:19
mwhudsonindeed03:19
pickscrapeWith great difficulty :)03:19
mwhudsoncommand-not-found to the rescue here03:19
mwhudsonthe other problem with R is that i always forget how to use it03:21
pickscrapeIs R used in bzr?03:23
mwhudsonno03:24
mwhudsonjam: heh, log(time-to-run g.find_unique_ancestors(last, [last_but_one])) is ~normally distributed when run over the 1000 most recent mainline revisions of launchpad03:26
jaminteresting, what is the mean and stddev?03:27
jmlKnitCorrupt raises a stack trace03:28
jmlIt probably shouldn't?03:28
mwhudsonjam: the mean is about -403:31
jamnegative 4?03:32
jmlspiv: so it's like this.03:32
jmlspiv: I pushed up a branch into a shared repo, someone tried to branch it standalone and then they got a massive KnitCorrupt traceback03:33
mwhudsonjam: the mean of the non-log data is 0.0303:33
jmlspiv: I'm following the instructions on the traceback now (bzr check, bzr reconcile)03:33
mwhudsonthough this is for 6000 revs now,03:33
jmlspiv: but it seems a bit buggy that Bazaar should show a traceback here.03:34
spivjml: Hmm.  So you think it should just give the KnitCorrupt error without a traceback?03:34
jmlspiv: yes.03:34
mwhudson0.05 for the first 100003:34
spivWell, that's easy to fix (it's just a flag on the KnitCorrupt class).03:35
mwhudson3.5 for the worst case though03:35
spivjml: I'll talk it over with poolie when he gets here.03:35
spivjml: out of interest, what's the full traceback in this case?03:35
jmlspiv: cool. thanks.03:35
spivI'm a bit hesistant about suppressing the traceback there, because KnitCorrupt almost always so far is a bzr bug.03:36
spivAnd showing the traceback makes it more likely that we get the traceback in the bug report.03:37
mwhudsonjam: the 3.5 second case is for a moderately but not ridiculously complicated merge03:38
spivBut possibly we should just be making sure we have enough context in the text of the KnitCorrupt message rather than relying on the traceback.03:38
mwhudsonjam: want more details?03:38
jammwhudson: there are ones in bzr.dev, too03:38
jamgenerally the problem is that it is long enough to cause the *other* side of the search to wander a lot03:38
mwhudsonjam: heh, the worst case in bzr.dev seems to be "pack repositories!"03:40
mwhudsonjam: 'number of revisions introduced' seems only very loosly correlated with running time03:45
jmlok.04:34
jmlso, now when I run "reconcile" on the repo that was causing the KnitCorrupt error, I also get a KnitCorrupt error04:34
jmlCan I do anything about this?04:34
jml(it's a little worrying)04:34
PengBwahaha.04:37
PengI just finally counted how many requests it took bzr.dev to branch that one branch. 765!04:37
pooliePeng: over http?04:55
poolieis this a pack branch? if so that's a bit bad04:56
poolieigc, ping?04:56
Pengpoolie: No, knits.04:56
igchi poolie04:56
pooliePeng: you should really upgrade it...04:56
Pengpoolie: I was checking how much it had improved since 1.3. About -600%, I think?04:56
poolieknits have?04:57
PengPulling with no changes has.04:57
Peng1.3 accesses the repo, but bzr.dev doesn't, I think.04:57
poolieok04:57
pooliethat's kind of interesting, but we really want people to move from that format04:58
PengYeah.04:58
pooliein fact in this release we should add a warning about it04:58
PengAlso, bzr+http is quite good.04:58
poolieigc, could you call me at andrew's house when convenient?04:58
igcsure04:58
igchow's now poolie?04:59
poolienow would be great04:59
PengI haven't upgraded because upstream still hasn't.05:01
Pengre bug 234748, so is bzr.dev eating old revisions?05:30
ubottuLaunchpad bug 234748 in bzr "Knit inventory corrupt in bzr.dev with bzr.dev r3452 (KnitCorrupt)" [High,Confirmed] https://launchpad.net/bugs/23474805:30
uniscriptgiven a file is it possible to print out the weave?05:32
spivPeng: yes, bzr:// and friends should make pulling knits approximately as good as pulling packs.05:37
spivPeng: bzr.dev isn't damaging old revisions as far as I know.  i.e. I don't think this is a dataloss issue.05:38
spivPeng: My guess is it's just being a little more pedantic with the metadata, and then not gracefully coping when it sees this inconsistency.05:39
* igc pick up kids05:39
poolieuniscript: can you explain more what you mean?05:39
uniscriptI'm trying to debug a merge problem so want to look at the weaves05:40
uniscriptso given a file test.txt is there a command that prints the weave for test.txt in my branch?05:40
poolieuniscript:  i think 'bzr weave-plan-merge' will do it05:41
poolieuniscript: note that we don't actually store texts in weaves anymore for performance...05:41
spivAIUI the weave itself is not really relevant, just the shape of the graph.05:41
uniscriptthe bzr weave-* take a weave file05:42
pooliewell, that will show you the line-by-line annotations of the merge05:42
poolieoh i see05:42
poolieare you giving any options to the merge command to choose an algorithm?05:42
uniscriptOK. well conceptually to dumb users like me you are :)05:42
uniscript--weave05:42
spivuniscript: --lca is almost always better or at least as good as --weave, btw05:43
uniscriptfor criss-cross merging?05:43
spiv(possibly s/almost// in current versions)05:43
spivYep.05:43
uniscriptOK thanks, I'll try that05:43
poolieuniscript: it would be nice to expose some debugging info to help in cases like this05:45
pooliebye...05:46
Pengspiv: Ok. Not being a data loss issue is good.05:50
pooliePeng: yeah definitely not, a bug in check i think06:27
Pengpoolie: Good. :)06:28
PengWasn't check's performance improved a while ago?06:32
beunomwhudson, did you get a chance to verify Genshi's performance?   I'm not sure if I should try and see if we can tweak that, or go down a different path...06:33
mwhudsonbeuno: no, sorry :/06:34
beunomwhudson, no worries. I'm going to look into it a bit further and make sure we're not improving in any way06:34
mwhudsonbeuno: cool06:35
beunomaybe the bottleneck is in turbogears?06:35
mwhudsoni'm about to stop work for today, so talk to you tomorrow!06:35
beunoright, almost 3am, I'm getting used to that  :)06:36
beunothanks, and cya tomorrow06:37
mwhudsonnight06:37
=== doko_ is now known as doko
poolie234378 should be fixed now...07:42
pooliejml, re that bug, you said you could reproduce it just branching out of your repository?07:46
pooliei can't, even with the unfixed version07:46
jmlpoolie: what URL are you using?07:46
pooliei was branching my bzr trunk to /tmp/07:47
jmlpoolie: oh. maybe try branching from my repo?07:48
pooliejml, where is that?07:53
jmlpoolie: devpad.07:54
spivjml: which branch?  Were you branching over bzr+ssh?08:01
spivjml: I can't reproduce by branching locally on devpad from your repo to /tmp08:01
spivjml: I tried both your bzr.dev branch and your most recently touched branch.08:01
jmlspiv: bzr+ssh.08:01
jmlspiv: stacking-policy08:01
spiv"most recently touched" :)08:02
jmlspiv: oh. well.08:04
jmlspiv: which version of bzr were you using?08:04
jmlspiv: and was it into a standalone branch?08:04
spivjml: I get a different KnitCorrupt over bzr+ssh...08:05
spivWhich tells you to run check and/or reconcile.08:05
jmlspiv: right.08:05
jmlspiv: then if you run check and/or reconcile...08:05
spivjml: ok, I didn't realise it was two different KnitCorrupts.08:05
jmlspiv: mea culpa08:05
poolieit is a kind of vague error that sounds like it's specific08:09
poolieum08:09
pooliei should stop complaining and just send a patch to change it08:09
* igc dinner08:35
siretartwould someone please care to update bzr-svn in the PPA for hardy?08:37
gambleris there a document anywhere explaining how to use bazaar with git?09:06
lifelessdunno, but bzr-fastimport is a good conversion tool09:07
* gour recommends tailort09:08
gour*tailor09:08
gambleri must be mistaken because i heard someone say that there was some capability for bazaar to speak directly to git repos09:09
gamblereg. use them natively09:09
gourgambler: maybe https://launchpad.net/bzr-git09:10
Jc2kit looks somewhat dead?09:10
Odd_Blokebzr-git is still in its formative stages, I think, so isn't really a priority for whoever was working on it (jam, I think).09:24
awilkinsI think we'll all eventually end up with a common VCS backend API, and a small selection of cliens.09:25
awilkinsAnd different implementations of the backend depending on requiremenbts09:25
awilkinsAnd the ability to type may atrpohy as we use our mind control interfaces09:26
* awilkins goes to fetch coffee to improve his synapse lag09:26
gamblerinstead of a wetwire, how about an electronic vagina that I can control with my penis?09:27
* vila wonders how this relate to git, but English is not his native language...09:28
gamblervila: #bzr09:29
gamblerno pun intended09:31
vilagambler: the wetwire bits  ?09:32
vilagambler: sry, then :)09:32
gamblerlol gold09:33
gourone question...i defined alias: checkout=checkout --lightweight and bzr help checkout says: 'bzr checkout' is an alias for 'bzr checkout --lightweight'. otoh, 'co' is alias for 'checkout', so i'd expect that invoking: bzr co would does: bzr checkout --lightweight, but it doesn't :-/09:55
gouris it a bug or a feature?09:55
james_wgour: not sure, I have seen that behaviour before, but I used it as a feature.10:01
uniscriptare there any plans to 'fix' --lca to mark delete + change as a conflict?10:06
gourjames_w: hmm, i'd expect that user's alias is last in effect, i.e. 'co' should expand to 'checkout' and then *my* checkout should expand to defined alias10:06
* gour will submit a bug report10:07
gourusing mail-client = emacsclient does not invoke Gnus. anyone using Gnus with 'bzr send' ?10:18
james_wuniscript: is there a bug report filed for that? I'm not familiar with the problem you mention.10:19
* gour would like to use gpg-sign when sending bundles around10:19
uniscriptsee the developer notes on the lca merge algorithm where it states that currently lca silently does delete+change->change with no conflict report as does --weave10:20
uniscriptand that this needs to be fixed to conform to --merge310:20
uniscriptand I would agree with that :)10:20
james_wah, I hadn't seen that.10:21
uniscriptso I guess there are no plans then?10:34
gourhmm, problems with 'bzr send' and emacs...invoking bzr send gives http://rafb.net/p/ZXRhFV94.html10:39
gourany hint?10:39
james_wuniscript: no idea I'm afraid10:39
uniscriptOK I'll raise a bug10:40
james_wgour: that looks like an emacs problem, is it?10:40
james_wor an emacs error rather, not necessarily its fault10:41
gourjames_w: well, emacs is invoked and i can fill out the To/From...but i'd like Gnus to be invoked and wonder about the error(s)10:42
james_wI'm not familiar with emacs, sorry.10:42
gourok, i'm asking in #emacs10:43
lamontgiven a .git repo with several branches, is there a trivial bzr import process for that?14:03
lamontof course, in my fantasy land, I'd wind up with one bzr directory in which I could switch between all the diff views.14:03
lamontand would be able to bzr push changes back to the git repo14:04
lamontand fetch and/or merge from said git repo14:04
Jc2knot yet14:07
Jc2kthere is one way git -> bzr import14:07
Jc2ki don't know the state of bzr-git... but that will allow what you speak of one day..14:07
=== jelmer is now known as jelmer__
=== jelmer__ is now known as jelmer
gourheh, solved my 'bzr send' & Gnus problem...the solution was to set mail-user-agent in emacs. fortunately, i also got nice reply on the ml. nice to have such info in the docs15:08
=== weigon_ is now known as weigon
goursomeone was today explaining me how he likes that with git he can create several branches in one working dir and switch between them by checkout-ing them. i replied that bzr can do almost the same buy using e.g. treeless shared repo and doing lightweight checkout & switch in some working repo15:22
gourhis remark was that he does not like one directory per branch, but i do not see logic what would be advantage of sticking many branches in one folder except more hassle when one wants to access them remotely. anyone can shed some light if there is some?15:23
asabilgour: the 1 folder per branch works better with IDE and various external tools15:25
asabilon the other hand the git model work better when you want to checkout all the branches of a repository at the same time15:26
LarstiQasabil: well, having 1 tree works better when building is expensive, say, C.15:26
asabilI tend to prefer the bzr model myself15:26
LarstiQbut branches don't suffer from the same problem15:27
asabilhmm, what do you mean ?15:28
asabilwhich problem ?15:28
gourasabil: is it easy with git to fetch just one branch?15:29
LarstiQasabil: if you have a project where a full build takes in the tens of minutes, you really want to reuse your intermediate objects15:29
asabilyeah, but that's a build system issue15:29
asabilnot a revision control issue15:30
LarstiQasabil: also, things like Eclipes don't deal too well with suddenly having to look somewhere else for the code.15:30
LarstiQasabil: it is an important use case for `bzr switch`15:30
demodhi15:30
LarstiQasabil: it's git's native way of working15:30
asabilLarstiQ: people can still use out of tree build15:31
* gour likes bzr switch mechanism15:31
asabilI never used bzr switch myself15:31
asabilbut I do see your point15:32
gourasabil: it's handy being in one working dir and just switching between the branches you're working on15:32
fullermdHaving the repo be the functional unit makes it much easier to do multi-branch syncs.15:32
fullermdCan only fake up parts of that capability with bzr.15:33
gourfullermd: with shared repos?15:33
asabilgour: cd ../foo-branch works15:33
fullermdShared repos don't change anything.15:33
=== jamesh_ is now known as jamesh
gourasabil: i mean using --ligthweight checkouts and --no-trees repo, then you can stay in one folder15:34
asabilgour: personally I prefer seeing 1 branch == 1 folder15:35
gouri do not see big advantage of git's model, especially considering its complexity over bzr15:35
asabilI used to like the git model (when using monotone), it is just a matter of habit15:35
gourasabil: me too, but in shared repo without working-trees15:35
gourasabil: how is monotone these days? i looked at it in the past, but didn't like database dep15:36
fullermdI sure wouldn't want to be stuck with one tree for all my branches; it's almost necessary to see multiple branches side by side.15:36
asabilgour: didn't use it for 2 years now15:36
fullermdBut I wouldn't dream of pretending it doesn't come with drawbacks.15:36
gour:-)15:36
asabilfullermd: I agree15:36
fullermdI use it very occasionally.  It's always fighting an impedance mismatch.15:36
fullermdEx: How, using bzr, do I get a local copy of all your branches, keep them up to date, and automatically get new branches when you create them?15:37
fullermdOh, that's right; I DON'T!15:37
asabilthe only drawback about 1 branch/folder that I see, is the lack of ability to pull/merge multiple branches15:37
asabil(multi-pull sort of solves it, but ...)15:37
fullermdPart of that is "nobody's written it", but writing it is some nontrivial amount of work with dir-per-branch architecture.  With the repo being the primary functional unit, it comes for free.15:39
gourasabil: multi-pull is not quite interesting here15:41
awilkinsjelmer: So, this thing where the revision-id changes when you change branching-schemes.. is it not possible to use a different ID generator that is consistent regardless of branching scheme?15:42
fullermdmulti-pull saves doing a `for i in *; do ....` construct.  I use it mostly for ~/.bazaar/plugins/.  It's handy.15:42
awilkins(I realise this would break all existing code, blech)15:42
jelmerawilkins: this is bug 13037215:42
ubottuLaunchpad bug 130372 in bzr-svn "Abandon branching schemes" [Medium,Triaged] https://launchpad.net/bugs/13037215:43
awilkinsGroovy ; what would you use instead ; SHA of the changeset? Something like that?15:43
awilkinsIncidentally, that patch I sent you was applied against the current tip of the 0.4 branch, I'm not so sure it's fixed (maybe it's another instance of the same thing?)15:47
awilkinsUnless you've just not pushed for a week :-)15:50
nnutterGood morning. I have a question that I wasn't able to clearly find an answer for. I'm just getting started using Bazaar (all VCS for that matter) and I'm confused about how to merge two branches together on different machines.15:53
* awilkins notices a new push15:54
jelmerawilkins: what bzr-svn branch are you using?15:54
awilkinsnnutter: start in the branch you are merging TO, and do a "bzr merge <mrege from>"15:54
awilkinsjelmer: 0,415:54
jelmerawilkins, we won't be making the branching scheme part of the revid anymore15:55
awilkinsI've just noticed you pushed this morning sometime15:55
jelmerI didn't do any bzr-svn stuff this morning15:55
awilkinsjelmer: There was a push 7 hours ago according to LP15:55
* awilkins refreshes cache15:55
jelmerawilkins: are you using the launchpad mirror of 0.4 or 0.4 directly?15:56
nnutterawilkins: Can it be done the other way. I'd like to start in the branch you are merging from and send the changes to another person. BTW the workflow I'm following is what the Bazaar docs called "Decentralized with Shared Mainline".15:56
jelmer7 hours ago I was sound asleep :-)15:56
awilkinsjelmer: code.launhpad.net - this page claims 7 hours 50, the actual revision is from the 23rd15:57
awilkinshttps://code.launchpad.net/bzr-svn/15:57
awilkinsnnutter: If you want to send the changes to another, make a bundle using either bzr send or bzr bundle - they then treat that bundle as the  "from" branch15:57
jelmerawilkins, not sure what's going on then15:57
james_wnnutter: you have to be in the branch the you are merging to. If you don't control that branch then you can use "bzr send" to send the change as a text file.15:57
jelmerawilkins, the 0.4 branch isn't hosted on launchpad so maybe the launchpad mirrorring is just slow15:58
james_wnnutter: if it is the shared mainline you are trying to merge to then "bzr checkout" the remote branch to your local machine, and then run "bzr merge" in that.15:58
awilkinsjelmer: Says it last mirrored 1 hour ago ; it's usually something like that. But there is some misrepresentation about timestamps going on there, or it's cacheing a generated page too lon15:59
awilkinsOr my obnoxious ISP are15:59
awilkinsNope, same from a different proxy15:59
nnutterjames_w: ok, thank you. I'll look at that.16:00
james_wnnutter: if you haven't already I would recommend setting up a "shared repository" on your local machine before the "bzr checkout" if that is the way you are going, we can help you set that up if you like.16:01
nnutterjames_w: I'd appreciate that, I think I may have.16:03
nnutterjames_w: I made a dir in /var called repos, then made a project directory, e.g. /var/repos/him. I did bzr init in that directory and then added all the source files (bzr add).16:04
nnutterNow it seems to work if I do bzr checkout bzr+ssh://whatever/project.16:05
nnutterIs a "shared repository" more than that?16:05
james_wyep that will work.16:05
asabilawilkins: lp is sort of broken these days16:05
asabilawilkins: branch scanning has been very very slow16:05
awilkinsasabil: That's software for you. I bet it's something to do with not using shared repos.16:06
james_wa "shared repository" allows several branches to share revision data, and as your mainline and the feature branch will have mostly the same revision data it will save you having to download so much data when you pull.16:06
asabilhmm ?16:06
asabilawilkins: what do you mean ?16:06
nnutterjames_w: OK, cool. :-) New question. With the shared mainline method. Should I be using co, update, and ci (similar to how I think SVN works?). You mentioned merge but I got a message about location not being specified remembered.16:06
awilkinsasabil: If you branch on LP, you take a full copy of the branch - there are no shared repos on LP (except perhaps official ones)16:06
asabilawilkins: on LP all branches within a project are part of a shared repo iirc16:07
asabilso 1 project == 1 shared repo iirc16:07
asabilawilkins: and how is that related to what I was telling you ?16:07
awilkinsasabil: Slow? Lots of branches to scan? Without repo sharing?16:08
james_wnnutter: so if you "bzr init-repo repo; cd a; bzr init mainline" mainline will store it's revision data in "repo/.bzr" instead of "repo/mainline/.bzr", now if you "bzr branch mainline feature", feature will also store it's data there, and so won't need to copy anything16:08
james_wnnutter: you need to specify a location to the merge command the first time, it will remember it after that.16:08
asabilawilkins: nevermind16:09
nnutterjames_w: cd a?16:09
james_wnnutter: sorry, typo, "cd repo"16:10
nnutterok16:10
james_wso it doesn't sound like your branch at "/var/repos/him" uses one. You can change this by doing "bzr init-repo /var/repos; bzr branch him temp; rm -rf him; mv temp him", but make sure there are no uncommitted changes in "him" first.16:12
nnutterso if I do that I could have repo/main repo/user1 repo/user2 where repo/userX was a branch of main. The users would co repo thereby downloading each user's personal branch as well as main. And then each user could commit to their own branch and periodically merge back to main?16:13
awilkinsnnutter: They'd make their own local repo, and branch or co main into it, then branch main from there to their feature branch16:13
nnutterI think I'm getting a bit confused. branch and co are not synonymous right? Could you clarify the difference?16:16
awilkinsnnutter: "co" creates a "bound" branch ; this acts much like an SVN "working copy" only it has a full revision history not just a base copy of the last update from HEAD16:17
awilkinsnnutter: "branch"  makes an unbound branch ; identical, but commits do NOT automatically get pushed back to the parent branch16:17
gournnutter: branch creates a new copy of branch16:17
awilkins"co --lightweight" is even more like an SVN WC and only has revisions in the master branch16:18
nnutterMaybe I can/should explain my project and you guys can tell me if I'm totally off then?16:19
nnutterI thought I had it mostly figured out, but now I'm confused about how to do what I want.16:20
nnutterI'm trying to setup a repo for a computer model. This model has several components to it, some that handle basic physics, some that handle chemical processes, and some that trace the movement of chemicals. Each component is a different person's specialization.16:22
nnutterWhat I wanted to do was have a main copy (I think would be called a trunk) which has the "stable" version of the code.16:22
nnutterAnd for people to get a copy of that, make changes to the component they specialize in, while being able to commit revisions locally, and at some point when they are satisfied merge those changes back into the main source tree.16:23
gournnutter: see http://bazaar-vcs.org/SharedRepositoryLayouts?highlight=%28layout%2916:24
gournnutter: as well as http://bazaar-vcs.org/SharedRepositoryTutorial?highlight=%28layout%2916:24
nnuttergour: thank you, looking.16:25
gournnutter: so, every user have write-access to the central repo?16:26
nnutteryeah16:26
gourok, then it's just question how you want to layout central-repo...see the above urls16:27
nnutterYeah, looks like the first method of Simple Developer Naming is what I want.16:28
gournnutter: you probably can use tree-less shared repo on the 'central server'16:28
nnutterThere will only be 3-4 developers.16:28
nnutterok, looking...16:29
nnutterAh!16:30
nnutter"he word shared in shared repository refers to branches sharing a repository for revision storage, not to users sharing the same branch for publishing revisions. They can be used used for that purpose, however. "16:30
nnutterThat clarifies a lot :-p16:30
gournnutter: whatever you choose, enjoy with bzr ;)16:30
nnutterwhich is what james_w: met by "shared repository" earlier. I was thinking shared as in more than one user, but he was thinking of it as described there16:30
gourheh, i also had some glitches in understanding the lingo and submitted bug report to write some part of the docs more clearly16:31
nevansI'm having worse memory problems than ever before with bzr-svn... :(16:31
jelmerhi nekohayo16:31
jelmer*nevans16:31
nevansnew install of hardy on a new laptop, upgraded to bzr 1.5 and bzr-svn 0.4.1016:31
gournnutter: right. branches can share repo and therefore you can save some space16:31
jelmernevans, the memory leaks are in the subversion python bindings16:32
awilkinsjelmer: Did you ever get those Pyrex bindings working?16:32
nevansand when I try to do anything with the svn repo, it locks up at determining changes     0/4159016:32
gourjelmer: svn-1.5 fixes it?16:32
nevansjelmer: yeah... but I was at least able to checkout this repository before...16:33
nevansnow it just grows to fill up my 3GB of memory in under a minute16:33
nevansalse before the memory would grow as it moved through the revisions, so I could terminate and try again (starting at a higher revision), and it would eventually complete16:34
nevansnow it sticks at 0.  :(16:34
jelmerawilkins: Haven't worked on them in a while16:35
nevansalso... I've got another computer which is currently working16:35
awilkinsjelmer: They were frustrating but promising...16:35
nevansI'm going to try copying over the cache from that other computer... and if that doesn't work, then I'll downgrade to the versions used on that other computer16:35
nevansjelmer: sorry to bring up the same-old bug again... but before I could always work around it.16:36
nnutterOK, so if I'm doing this Simple Developer Naming method I'd have him/trunk and him/nnutter/feature1, for example.16:37
jelmernevans: afaik nothing has changed that could've affected the memory usage16:37
nnutterWould him/nnutter be a branch, i.e. would I need to bzr init him/nnutter or just him/nnutter/feature1?16:37
nevansinteresting... then I wonder if something in the repository has changed which would trigger the memory bug worse than before16:38
nnutterOr wait.16:38
gournnutter: "Another possibly layout is to give each developer a directory, and then have a single sub-directory for branches. "16:39
gournnutter: do you want option a) or b) ?16:40
nnuttera16:40
nnutterwhat you just quoted.16:40
nnuttererr16:40
nnutteryeah16:40
nnutterWhen I wear out my welcome just tell me :-p16:41
gournnutter: ok, then create 'project' shared repo16:42
nnutterk16:42
gournnutter: with 'trunk' branch16:42
gournnutter: and joe/foo jim/bar ... branches16:42
nevansjelmer: FYI: copying over the cache from another computer fixed it.16:43
gournnutter: does it make sense?16:43
nnutterI think so. Let me see if I can translate it...16:43
nnutterbzr init-repo project; bzr init project/trunk; cd project/trunk; bzr add; bzr ci -m 'Initial.'16:44
nnutterbzr branch project/trunk project/nnutter/feature116:44
gournnutter: yep. take care if you want --no-trees option for shared repo and about repo format16:45
nnutterok16:46
nnutterSo that gets the shared repo setup on the "mainline server". Now User2 wants to get a copy and start his own branch, etc.16:47
nnutterSo User2 does 'bzr branch prot://address/path/project'?16:48
jelmernevans: so this would just be the same problem as originally16:49
awilkinsUser2> mkdir repo ; cd repo ; bzr init-repo . ; bzr branch <main_branch_uri> project.trunk16:49
awilkinsUser2> bzr branch project.trunk project.mine16:49
awilkinsUser2> # hacks16:49
gournnutter: branches are the 'deepest' folders in 'project' hierarchy16:50
jelmernevans, except that the caching format has changed recently16:50
nevansjelmer: I suppose so.  But it feels a lot more severe than the previous problem that I've had... since it completely hangs and sucks up memory, rather than slowly leaking as it moves through revisions16:50
nnuttergour: ok, gotcha there16:51
jelmernevans: The generating of the cache takes the most memory16:51
jelmernevans, and since the format had changed it had to regenerate that cache16:51
nnutterawilkins: then User2> bzr commit -m 'User2 hacked file A.'16:51
nevansit changed between 0.4.9 and 0.4.10?16:51
nnutterawilkins: then User2> # Hacks16:51
jelmernevans: yeah16:51
nnutterawilkins: then User2> bzr commit -m 'User2 hacked file B.'16:51
gourawilkins: why not: bzr init-repo project; cd project16:51
nnutterawilkins: then User2> bzr push?16:51
awilkinsnnutter: bzr push <my_new_branch_uri_on_server>16:52
nevansso when I copied over the cache (which was built/used by version 0.4.9 and prior), it was still able to use that cache... did it transform it to the new style cache?16:52
awilkinsnnutter: Although they don't *have* to have a branch on the server16:52
nnutterthey could push it to <trunk_uri_in_server> or something instead right?16:53
awilkinsgour: *shrug* that's just how I tend to do it ; I also tend to share repos between multiple projects16:53
awilkinsnnutter: Yes, they can push to <trunk> but that disrupt others work16:54
nnutterright16:54
nnutterok, getting really close to understanding whole process :-)16:54
nnutterso last step16:54
gourawilkins: i mean, bzr init-repo project saves one step, i.e. it creates repo & dir in one step16:54
awilkinsnnutter: What is best is to pull changes from server:trunk to your local branch of trunk, then merge your changes into that, and push when you've resolved any conflicts (and tested the crap out of things, natch)16:54
nnutterUser2 now wants to merge his branch into trunk, which you just explained :-p16:55
awilkinsgour: True, but I don't do that very often so I suppose it never occurred to me how much time I was wasting :-P16:55
gourawilkins: ok. np ;)16:55
nnutterso to merge to trunk...16:55
awilkinscd ../project.trunk16:55
awilkinsbzr merge ../project.mine16:55
awilkinsuntil (branch.has_no_conflicts) { resolve conflicts }16:56
gournnutter: User2 wants to have his local branch 'up to date' and then push to the server16:56
awilkinsbzr commit -m "Merged my astounding new feature"16:56
awilkinsbzr push16:56
gour(having, ass awilkins wrote, all conflicts resolved)16:56
gours/ass/as16:57
nnutterOK, excellent.16:57
gourawilkins: excuse me for the typo :-(16:57
nnutterOh, is there any difference between bzr+ssh:// and sftp://?17:00
gournnutter: iirc, bzr+ssh requires bzr on the server-side17:00
nnutteroh ok17:01
* awilkins goes to catch train17:01
LeoNerdsftp just uses sftp. bzr+ssh ssh's into the target machine and runs a bzr command on the far end17:05
LeoNerdsftp will work with any sftp server. bzr+ssh needs bzr installed there17:05
LeoNerdbzr+ssh can be more efficient in network transfer, because the bzr command on the far end can precalculate things17:06
gourwith LP one uses bzr+ssh?17:06
nnutterty LeoNerd17:06
pickscrapeAnyone here use the Colored Diffs extension for Thunderbird?17:10
jmlabentley: do you know why bzrlib/transport/sftp.py url escapes and unescapes paths?17:13
abentleyjml: That aspect of the API is rather underspecified.17:13
jmlabentley: I was afraid of that.17:14
abentleyIt's never been crystal-clear whether it's using url segments or path segments.17:14
abentleyjml: It does seem to be pretty consistent in treating its input and output as url segments.17:18
jmlabentley: I think I see now. The interface takes url segments, but the internal sftp stuff doesn't, so the sftp transport escapes and unescapes.17:23
=== yacc__ is now known as yacc
abentleyRight.  The sftp protocol itself is all about path segments, so the transport is our translation point.17:23
PilkyJust out of interest, has anyone looked into why bzr ignored is so slow? I don't know much about the internals of bzr but I would've thought that being slow to compute which files are ignored would slow quite a few other operations down a fair bit17:27
fullermdWell, what else cares what files are ignored?  add, status...   that may be it.17:30
Pilkyyeah, but they aren't exactly rarely used operations17:32
=== mw__ is now known as mw
barretjhello18:40
barretjthe revno command tells me what revision i'm at, is there a way to show that i'm at a revision plus some changes?18:41
barretji know i can use the status command to see what the changes are, but i just want to see that there are changes18:42
LeoNerdbzr st >/dev/null   and use the exit code?18:43
gourlol18:44
barretjumm, i dont think that works18:44
barretji'm getting a 0 status code18:45
barretjecho $?18:45
barretjand i have changes18:45
LeoNerdAh.. boo18:45
barretjunless 0 means there are changes18:45
fullermdbzr version-info --customer --template="{clean}"18:46
fullermdEr, --custom18:46
barretjfullermd: thanks!18:49
=== BasicPRO is now known as BasicOSX
awmcclainAny ideas on status of https://bugs.launchpad.net/bzr/+bug/173002?20:19
ubottuLaunchpad bug 173002 in bzr "Branching from hpss doesn't preserve non-repository formats" [High,Confirmed]20:19
awmcclainThere's no way to convert my existing repository out of RichRootPack, is there?20:20
jelmerawmcclain, the idea at some point was to make richrootpack the default for 1.620:31
awmcclainjelmer: So, at some point, if I just wait, the problem will fix itself? :)20:31
awmcclain(I'm just getting tired of having to a) create a repository for my branch or b) download a revision via sftp and then switching to bzr+ssh20:32
jelmerawmcclain: there's no way of downgrading from rich-root-pack root pack-0.9220:33
jelmerwhat you can do is replay all of the changes in a pack-0.92 branch but that will obviously change the revision ids20:33
awmcclainjelmer: Okee doke. But the idea is that the default branch-type in 1.6 will be rich-root-pack, right?20:33
jelmerawmcclain: that's the idea, yes20:34
jelmerabentley: is that going to make 1.6 ?20:34
abentleyjelmer: no20:35
gouris there any other 'development' format cooking under the hood promising even better performance?20:35
jelmerabentley, :-( any chance for 1.7 ?20:35
abentleyjelmer: quite likely.20:36
gourafter 1.9 there will be 1.10 ?20:36
awmcclain:(20:36
jelmerabentley, thanks20:37
awmcclainIs there any way to squeeze in a fix for 173002 then?20:37
jelmerubottu, bug 17300220:37
ubottuLaunchpad bug 173002 in bzr "Branching from hpss doesn't preserve non-repository formats" [High,Confirmed] https://launchpad.net/bugs/17300220:37
=== mw is now known as mw|food
awmcclainbasically, you can't branch existing repository that are in rich-root-pack over bzr+ssh20:38
awmcclainyou have to do one of the workarounds i mentioned before20:38
awmcclain*repositories20:38
jelmerawmcclain, I haven't ever had problems with that20:39
jelmermaybe it's just checkouts that don't work20:39
jelmerbranching works fine afaik20:39
awmcclainnope20:39
awmcclainoh20:39
awmcclainok, just ignore me then.20:40
awmcclain:)20:40
awmcclainrooting out cobwebs in my brain20:40
jelmerso you should be able to "bzr branch ..." and then "bzr bind"20:40
awmcclain... of course.20:42
* awmcclain smacks himself in the head20:42
awmcclainOk, lastly, any ETA on https://bugs.launchpad.net/bzr/+bug/211967?20:46
ubottuLaunchpad bug 211967 in bzr "bzr smart server should support hooks" [Medium,Confirmed]20:46
gourthere are 1395 bugs in LP. any statistics of the general trend?20:48
fullermd1395 is a good number.20:57
fullermdIts prime factors are 3, 3, 5, and 31.  Multiple the 3's and you get 9, so you're left with 9531, which is the same digits swapped around.20:57
fullermdObviously, we can never open or close another bug, or we'll decrease our perfection.20:57
gour:-)20:57
=== mw|food is now known as mw
mwhudson_beuno: hello22:06
=== mwhudson_ is now known as mwhudson
beunomwhudson, mornin'22:06
mwhudsonbeuno: i just remembered that i converted all the loggerhead templates to zpt a good while ago22:07
mwhudsoni guess that would be something else to test :)22:07
beunomwhudson, there is a branch for that somewhere?22:08
mwhudsonhttps://code.edge.launchpad.net/~mwhudson/loggerhead/zpt-templating22:08
mwhudsonit is a bit out of date22:08
beunomwhudson, ok, cool, I'll update it and test it22:09
beunoI've been thinking about doing tests with Genshi, but avoiding turbogears22:09
mwhudsonthat would be cool22:09
beunojust so we can discard that turbogears is the real problem22:09
beunook, only 4 conflicts merging trunk into that branch, not as bad as I expected22:11
mwhudsonyeah, but the templates will be a bit out of date22:11
beunothey seem good enough to test performance, and if we get promising results, I'll work on updating them22:12
mwhudsonoh cool22:13
mwhudsonbeuno: are you on hardy?22:13
beunomwhudson, yeap22:14
mwhudsonbeuno: what did you do about https://bugs.edge.launchpad.net/ubuntu/+source/genshi/+bug/226285 ?22:16
ubottuLaunchpad bug 226285 in genshi "Due to packaging changes, Genshi no longer works with TurboGears" [Unknown,Fix committed]22:16
mwhudsonbreakfast, brb22:16
beunomwhudson, "easy_install Genshi" did the trick22:16
=== gotgenes_ is now known as gotgenes
mwhudsonbeuno: hmm, i'm not sure i want to disrespect my packaging system that much :)22:26
* mwhudson goes to look for a newer debian deb22:26
beunomwhudson, well, it seems you haven't run loggerhead's setup.py then  :p22:27
mwhudsononly for sdist22:27
=== gotgenes_ is now known as gotgenes
=== gotgenes is now known as gotgenes_
=== gotgenes_ is now known as gotgenes
mwhudsonsweet, i managed to build a fixed deb for genshi23:17
beunosounds like something that should go into your PPA  :)23:18
mwhudsonyeah, if i had a ppa23:19
mwhudson(i haven't signed to CoC yet for one thing...)23:19
beunoah, so you're expecting to mis-conduct?  :)23:20
mwhudsonno, just lazy23:22
=== kiko is now known as kiko-afk
beunojelmer, btw, the bzr-gtk BB has been down for a good 24 hours at least23:39
mwhudsonhmm, zpt-templating does seem to perform better23:52
beunosignificantly so?23:53
pooliehello23:56
beunohey poolie23:57
pooliebeuno: hey it looks like the loggerhead theming is going well23:58
beunopoolie, yeap, I managed to speed it up a bit. All mockups are finished, just need feedback from everyone, and I'm ready to start applying it to the template23:59
mwhudsonbeuno: yeah, about twice as fast about half as much ram23:59

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