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

beunonow, if we could only get it to stop crashing...00:00
beunomwhudson, wow, pretty big00:00
beunoare you testing on diff?00:00
mwhudsonbeuno: yeah, definitely a surprise00:00
igcmorning00:00
mwhudsonbeuno: yes00:00
beunomwhudson, interesting...  I wonder if that will suffice to make it stop crashing00:01
beunomornin' igc00:02
igcmorning beuno!00:02
beunoI like the templating layout for zpt much better, seems cleaner00:02
mwhudsonit's a lot more verbose00:05
beunomwhudson, did you update the branch, or as-is?00:05
mwhudsonso after rendering a 30002 line diff richly with kid loggerhead is using 711m virt, 493m resident00:06
mwhudsonafter rendering the same diff with zpt-templating, it's 375m, 152m00:07
mwhudsonbeuno: i merged trunk into it and fixed the text conflicts00:07
mwhudson(oh and 50 s vs 16s)00:08
beunoheh, very interesting00:08
mwhudsonyes00:08
beunoI've been thinking how much we could reduce our memory usage if, instead of looping into a variable all the lines, we somehow start building the HTML as we loop00:09
lifelessmoin00:09
beunoI think it may worth testing, should scale better00:11
beunohey lifeless00:11
mwhudsonmmf, two concurrent requests to that diff page still chew a lot of ram00:13
mwhudsonwell, about twice as much, no real surprise there00:13
beunomwhudson, I'm going away for a few hours, but I'll probably work for a few when I come back. Anything specific you want me to look in to?00:15
mwhudsonbeuno: not that springs to mind immediately00:15
mwhudsonbeuno: i'll send you email if anything comes up00:15
beunomwhudson, cool. If not, I'll play around with some of the ideas I have and see if we can get a significant memory usage reduction00:16
mwhudsoncool00:16
beunolater!00:16
poolielifeless: hi!00:17
poolielifeless: feeling any better?00:17
lifelessthe fever seems broken00:24
lifelessso yes, but not 'well'00:24
lifelessspiv: ping00:28
spivlifeless: pong00:30
lifelessI'm just pushing up a new snapshot of versioned_files00:30
lifelesspoolie said you were interested in network edition of same00:31
spivYeah, definitely.  I want to use the new streaming stuff.00:32
lifelessthere are two layers that need doing00:33
lifelessa 'fetch' level layer, which replaces repository.get_data_stream00:33
spivI have some cheap hacks that implement a couple of pack specific RPCs (to e.g. autopack) that get significant improvements, but the long term solution is to use your stuff.00:34
lifelessand a text/inventory/revision/signature level layer, for use by e.g. diff00:35
lifelessthere are some open questions00:35
lifelesstree building for instance commonly needs all the texts for one revision00:35
lifelessso it could use the repository level api to minimise the request size00:36
lifelessOTOH when we have even a couple of local commits and the rest is on the network we won't need *all* the texts for one revision to cross the wire, but sending a whole inventory of .oO over the wire to ask for its tree probably outweighs the retransmission cost00:37
lifelessand that doesn't even address the conceptual layering that would be needed to do that00:38
lifelessUsing saved location: sftp://rookery/~/public_html/baz2.0/versioned_files00:38
lifelessNow on revision 3375.00:38
lifeless'punt'00:38
lifeless:)00:38
spivThanks!00:38
lifelessI'm going to try to work today00:39
lifelessthere is much to do00:39
lifelessnote that that branch is currently in the middle of eliminating get_inventory_weave00:39
lifelessspecifically bundles are bust while I adapt the multiparent code00:40
spivOk00:40
lifelesshmm, how best to collaborate here; I think if you have a look at the code00:41
lifelessand get a feel for it00:41
lifelessthen we can chat on IRC?00:42
spivI think so.  I'm currently focusing on getting my various push acceleration work so far to the list.  Digging into using your branch would be next on the list, though.00:44
lifelesscool00:45
lifelessalso for the network apis we may likely want to use the single key space aaron advocates, because for the smart server there is no arbitrary split between indices (in some regards ideally no index at all)00:46
spivThat makes sense to me.00:46
lifelesspoolie: talking is still unpleasant; if you want to catch up IRC would be massively preferable00:53
jelmerJc2k: ping01:11
jelmerbeuno, sorry about that, the server I'm running it on appears to've been assigned a new IP again01:14
=== cammoblammo` is now known as cammoblammo
=== kiko-afk is now known as kiko
lifelesspoolie: ping in fact01:42
=== mw is now known as mw|out
igcabentley: can you check BB please? It appears to be down again01:57
abentleyigc: Should be back in a minute.01:59
igcthanks01:59
poolielifeless: sorry you were minimized :)01:59
PilkyWho is it that updates the downloads page on the bzr site?02:00
pooliePilky: whoever is making the release; for the last one that was jam02:00
lifelesspoolie: must be offscreen rendering, I hadn't noticed02:00
poolielifeless: igc was wanting to know if there was anything he can do to help with merging stacks02:00
Pilkyok02:00
lifelesspoolie: updating it to bzr.dev would be good02:01
Pilkyin that case, jam the OS X 10.5 installer link on the download page still points to 1.4 not 1.502:01
lifelesslet me make sure its recorded and pushed02:01
lifelessssh: connect to host bazaar.launchpad.net port 22: Connection refused02:03
lifelessbzr: ERROR: Unable to connect to SSH host bazaar.launchpad.net; EOF during negotiation02:03
lifeless?02:03
pooliejml ^^02:04
lifelessoh yeah, downtime02:04
poolieoh02:04
lifeless2 hour window02:04
lifelessI would so love to fix that02:04
lifelessigc: poolie: sftp://rookery/~/public_html/baz2.0/shallow-branch updated02:45
=== kiko is now known as kiko-zzz
igcthanks lifeless. I'll take a look after I finish reviewing jam's patches02:46
lifelessit needs bzr.dev merged into the bottom thread and propogated up02:47
igcyup - shall do02:47
pooliejam, in your mail about merge annotations (if you're still here) you say "merge node gets annotate (current)" - do you mean that's what we do now?03:08
poolieiirc it is03:08
lifelessI believe thats what it got updated to do03:08
lifelessI would really like to see multi-ancestor annotations03:08
lifelessbut thats not trivial :)03:09
* RAOF queues up a strange bzr issue for later.03:11
lifelessshoot03:14
lifelessno need to queue :P03:14
RAOFActually, it's queuing on _me_.03:16
RAOFBut public acknoledgement makes it easier for me to remember :)03:16
lifelessRAOF.pop()03:18
jampoolie: (current) means it is what we do now, yes03:27
jamthe 'last modified' for that line is set to the merge revision id03:27
lifelessso03:29
poolieok03:29
pooliereplying now03:29
lifelessI seem to have a bug with left_matching_block stuff03:29
pooliebtw is there a bug number for the current failure?03:29
lifelessI'd like to run this past someone :P03:29
lifelessa left_matching_blocks of:03:29
lifeless[(0,0,1), (1,1,0)]03:30
lifelessmeans from 0, to 0, for 1 line03:30
lifelessand from 1, to 1, for 0 lines03:30
lifelessyes?03:30
pooliefrom memory yes03:39
pooliethat seems odd03:39
pooliei vaguely recall there is always a match anchored at the end even if it's 0 lines03:40
poolie^^ this may be completely wrong03:40
poolielifeless: ^^03:40
lifelessthis is for ['line'] to ['line']03:40
lifelesswhich is why it smells excruciatingly odd to me03:40
lifelessits being generated from multiparentversionedfile though, which is unfamiliar code to me03:41
lifelessand I've got cold sweats right now; I think I'm going to call it in a few minutes03:41
pooliejam, replied to your annotation mail, hope that helps03:43
poolieigc, speaking of faster local branch, it would be nice to show better progress there too03:45
igcpoolie: progress as in UI, or progress as in 'faster before 1.6 ships'?03:46
poolieheh03:47
poolie:)03:47
pooliei meant progress bars; it's just wishlist though03:47
igcmy patch cuts the phases from 2 to 1 so ui progress is better IMO03:47
poolieoh nice03:47
* igc lunch03:50
* poolie lunches04:05
lifelessI'm calling it a day04:25
lifelessfading too much04:25
lifelessI have at least tracked down the failure04:26
lifelesswe were generating a non-normalised line fulltext04:26
lifelessdue to a bug in annotation merging04:26
lifelessit may well be the cause of some reports in launchpad04:26
igcget well soon lifeless04:39
jmllifeless: see ya04:45
beunomwhudson, still around?04:54
mwhudsonbeuno: yep04:55
beunoso, I'm about to jump into code, but I wanted to run by you what I'm getting into04:56
beunoin the revision view (diff), we might have multiple files04:57
beunoand now, we show the diff for all of them04:57
beunoso, I'd like to try the following:04:57
beunoby default, just show what files where changed, and add a "View Diff" to each04:58
mwhudsoni'm writing a long-ish mail to the bazaar list currently04:58
beunowe would get the diff through ajax to make it nicer for the user and the server, and, we generate *just* the diff HTML on the server, most probably skipping the templating engine all together04:59
beunoas it should be fairly straightforward to generate04:59
beunoon LP specifically, that should reduce resource consumption a *lot*04:59
beunoas you wouldn't get every single diff every time, even when the user doesn't want it05:00
mwhudsonyeah, i think that's probably a sensible idea05:01
beunoand, if we find out that getting the same diff multiple times is expensive, we can just cache the diff itself05:02
beunowhich will be fairly space efficient05:02
mwhudsonbeuno: i sent the mail, see what you think of it05:03
* beuno reads05:03
beunomwhudson, wonderful. Now we take a 2 week vacation and come back with that solved, right?  :)05:07
mwhudsonbeuno: heh, i doubt it05:07
beunomwhudson, sums it up very well, can't think of anything I'd add05:08
mwhudsoncool05:08
mwhudsonnow i think i'm going to work on bringing zpt-templating up to date05:08
beunook, so I'm going to dive into what I explained above, on the zpt branch, which seems like the most promising05:08
beunoah, perfect05:09
beunocan you push whatever you have so far?05:09
mwhudsonok, it's not much05:11
beunoit's just so I diverge as little as possible, not expecting anything new other than resolved conflicts  :)05:12
mwhudsonbeuno: ~mwhudson/loggerhead/zpt-templating/ is up to date with what i have05:19
mwhudsonaargh, i just want to stab things :/05:23
* RAOF .pop()05:24
RAOFSo, sometime in the last couple of weeks I've lost the ability to push a bzr tree to my vfat-formatted USB stick.05:24
RAOFbzr push will error out with errno 1: operation not permitted.05:25
RAOFI'll pastebin the actual error, but it looks like somewhere around bzr 1.4/1.5 this broke; it previously worked.05:26
beuno_server seems to have died  :/05:29
* igc pick up kids05:46
beuno_mwhudson, I can't seem to get the zpt branch working, I've narrowed it down to: http://paste.ubuntu.com/15471/05:48
beuno_any ideas?05:48
=== beuno_ is now known as beuno
mwhudsonbeuno: ah right, you need zope.pagetemplate installed05:49
beunoah, it's in zope-replacesupport05:50
beunothanks  :)05:50
mwhudsonwhat an obvious package name05:50
beunoyes, I thought so05:51
mwhudsonas in this package? http://packages.ubuntu.com/hardy/zope-replacesupport05:52
beunoand the fact that it depends on zope 2.10 makes me think something is going to go wrong05:52
beunomwhudson, yeap05:52
mwhudsoni find this a little hard to believe05:52
beunothat's what apt-cache tells me05:52
beunoah, it lied to me05:52
beunobeuno@beuno-laptop:~/bzr_devel/loggerhead.zpt$ apt-cache search pagetemplate05:53
beunozope-replacesupport - Add search and replace functionality to TTW Zope objects05:53
mwhudsoni think my money is more on zope305:53
beunoI already have that  :)05:54
mwhudsonthen you should have pagetemplates05:54
mwhudsonah, perhaps you're running with python 2.5 ?05:55
beunoyes, turbogears explodes with 2.505:56
beunoer, 2.405:56
bob2that is definitely not zpt05:56
mwhudsonbeuno: not for me it doesn't05:56
beunoit only works for 2.4?05:56
mwhudsonzope3 only works for 2.4 yes05:57
mwhudsoni suspect page templates would be fine with 2.505:57
mwhudsongah, why is everything horrible05:58
bob2easy_install-2.5ing zope.tal should work05:58
lifelessmwhudson: why is everything horrible? 'zope'05:59
mwhudsonlifeless: it has help06:00
bob2harsh!06:00
lifelesswhats the relationship between kid and genshi?06:00
beunomwhudson, well, hardy seems to come with turbokid 1.0.1, and loggerhead requieres 1.0.406:00
beunopkg_resources.VersionConflict: (TurboKid 1.0.1 (/var/lib/python-support/python2.4), Requirement.parse('TurboKid>=1.0.4'))06:00
lifelessRAOF: please do pastebin the error :P06:01
beunoon the other hand, it does work with 2.5  :(06:01
mwhudsonlifeless: they're more or less equivalent, they're both templating engines06:01
mwhudsonbeuno: eh?  it all works ok for me06:01
lifelessmwhudson: at EP some guy whose name escapes me right now - the one that did the input locale which uses brackets not whitespace - was saying that kid was terribly slow and genshii rocked06:02
beunomeh, I'll easy_install06:02
mwhudsonlifeless: i went to the genshi talk at ep, but i think i was still drunk06:03
lifelessmwhudson: this was over lunch06:03
lifelessSteveA was there06:03
lifelesswe had pizza06:03
mwhudsongenshi is much nicer than kid, but it doesn't seem to be much faster or less of a pig resource-wise06:03
RAOFlifeless: Sorry; http://pastebin.com/m69b6b5ea06:04
lifelessmwhudson: ah, you've tested I presume ?06:04
mwhudsonwhereas my zpt branch is 2-3x faster and uses 2-3x less ram06:04
lifelessRAOF: note the temp file name06:04
RAOFjml has pointed me at https://bugs.edge.launchpad.net/bzr/+bug/59424 , which isn't my bug but may well be the cause; this seems to be a regression from 1.306:04
ubottuLaunchpad bug 59424 in bzr "repository_implementations.test_vfat* is broken." [Medium,Confirmed]06:04
mwhudsonit's possible the genshi tests were flawed somehow, we haven't spent very long on them06:05
lifelessRAOF: one possible cause the multiple dots06:05
beunomwhudson, sorry to be such a pain, but I can't seem to get it working... :(  Am I missing something else?  http://paste.ubuntu.com/15473/06:05
lifelessRAOF: but essentially we need to trap and diagnose the bug06:05
mwhudsonbeuno: oh yeah, only the annotate and revision views really work now :)06:06
mwhudsonbeuno: i'm fixing06:06
jmlRAOF: run the command again with -Derror06:06
beunohahah06:06
beunoalright06:06
jmlRAOF: that'll give you a full traceback06:06
lifelessRAOF: the bug is orthogonal06:06
lifelessRAOF: you are not even creating your repo06:06
* beuno breaths06:06
lifelessRAOF: have you tried an old bzr to see if it is better06:07
RAOFlifeless: It works in 1.306:07
RAOFlifeless: I'm not sure whether it works in 1.4, but this is 1.506:07
lifelessRAOF: if you have the time, it would be great if you could bisect down the mainline of bzr.dev to find the death point06:07
beunomwhudson, cool, works, thanks. I am a bit worried that it doesn't work with python 2.5 by default though (although the speed difference justifies it)06:08
lifelessRAOF: I wager it will be a change in tmp file usage, mode management, or object creation06:08
RAOFlifeless: Yeah, that's what I was thinking.  I don't have the time right now, but I'll check out the bzr-bisect plugin. :)06:08
lifelessRAOF: the plugin just does the math :P. all you need to do is: bzr branch lp:bzr foo; foo/bzr push06:09
bob2beuno: it does, just not with ubuntu's zope3 package06:09
lifelessbzr revert -r -400 foo06:09
lifelessfoo/bzr push06:09
mwhudsonbeuno: yeah, that part hadn't occurred to me06:09
lifelessbzr revert -r -200 foo06:09
lifelessetc06:09
mwhudsonbob2: oh good06:09
beunowell, how would we package it then?06:09
bob2mwhudson: afaik the only part of zope3 that doesn't run under 2.5 is some zope2 thing06:10
RAOFlifeless: I know.  But I liked git's automated bisect (essentially the only git feature I liked).06:10
mwhudsonbeuno: later06:10
mwhudson:)06:10
mwhudsonlet's make it work first06:10
bob2this sounds like a job for buildout06:10
beunomwhudson, right, fair enough. Just thought I'd throw it out there. Back to work.06:11
lifelessRAOF: AIUI bzr-bisect is feature equivalent; I haven't used it enough to say06:11
lifelessRAOF: I have my own ideas on what would be nice; time FTL06:11
RAOFlifeless: I'm not sure what 'time FTL' expands to :)06:12
poolieabentley: bb is down....06:12
abentleypoolie: working on it...06:13
bob2RAOF: "but I am very busy"06:14
abentleyload averag is 7.4206:14
RAOFbob2: Thanks.  For some reason I was translating as 'Faster Than Light (travel)' :)06:14
SlantCan anyone point me toward where to read about how to implement a new transport?06:33
SlantOr which source files to start reading from?06:33
spivSlant: bzrlib/transport/__init__.py06:37
spivAnd other files in that directory.06:37
abentleypoolie: back.06:43
=== jamesh_ is now known as jamesh
beunoalright, time to get some sleep06:49
beunomwhudson, hopfully I'll have a proof-of-concept branch by tomorrow, based off zpt06:50
mwhudsonbeuno: cool06:50
beunocya tomorrow  :)06:50
silihow do I undo a commit?06:57
vilasili: for the last commit, you can do: bzr uncommit06:58
liwif you want to undo an earlier commit, but keep everything that came after that, you should do a "reverse merge": bzr merge -r 10..9 (if I rembember the syntax correctly)07:00
siliah just found it. thanks07:00
silicool07:00
mwhudsonbeuno: my zpt-templating branch has all views seeming to work again now07:03
mwhudsonbeuno: some have formatting issues07:03
datojelmer: bzr-launchpad???07:53
datojelmer: can you explain to me, wtf?07:53
dato(why the split, I mean)07:53
Jc2kjelmer: pong08:12
Jc2kjelmer: i'll be at work in an hour, and so available for about 7 hours..08:12
* igc dinner08:53
Jc2kjelmer: oooh, nm.. just saw my email :D08:59
=== AfC is now known as AfC|wine
=== weigon_ is now known as weigon
gouranyone can suggest something in favor of bzr for http://article.gmane.org/gmane.emacs.dvc.devel/2164 ?11:18
liw"Merges look terrible in the bzr log output." -- I, on the other hand, find them beautiful and informative11:23
LarstiQgour: and the branch nick defaults to the dirname of a branch, but you can set it with `bzr nick nickname`.11:28
LarstiQgour: Like Aaron does with "Aaron's mergeable stuff" for example11:28
gourheh, it would be nice if someone can post something. DVC uses bzr atm, but there is quite a bashing of bzr in favour of git11:29
gouri replied recently showing how tailor can be used for git <--> bzr11:30
liwI suspect that bashing is not going to stop just because someone injects facts or opposing opinions11:30
gourwell, facts are facts11:31
liwin advocacy, facts are always debatable :)11:32
luksI just wonder how did he manage to get that 'git log' output, if it's a 1:1 copy of the bzr branch11:32
=== yacc_ is now known as yacc
awilkinsre: git/DVC post   i) Doesn't --short cut indented merge info out of the log ii) alias merge to merge --pull if you want that behaviour  iii) nick is useful information if it's used right - an informative name tells you what the branch was being used for12:21
awilkinsBut I think all that's already been said12:21
* Mez wonders how badly he can kill bzr running bzr gannotate on a file in a svn repository13:17
jelmerMez, you can't, since annotate doesn't work on svn stuff atm :-)13:19
Mezjelmer - well - it TRIES to do stuff..13:20
Mezand then finally fails with a "database locked"13:20
Mez2nd try just finishes up with a locked X window ;)13:22
MezException exceptions.KeyboardInterrupt in <bound method apr_pool_t.__del__ of <libsvn.core.apr_pool_t; proxy of <Swig Object of type 'apr_pool_t *' at 0x915c598> >> ignored13:22
Mezjelmer, I must say - checking out a svn branch with bzr is a helluva lot slower than with svn13:23
jelmerMez: It fetches all history13:23
jelmerMez: "bzr co --lightweight" is more like a real svn checkout13:24
Mezwill that make me something I can work with though (and branch)13:24
jelmeryes, but it will contact the remote server a lot more often13:25
jelmer(it's similar to a bzr lightweight checkout)13:25
jelmerdato: to allow people who don't want to have the launchpad plugin to not have it installed13:39
jelmerdato: it also makes sense since the launchpad plugin is totally separate from the rest of the code13:40
datojelmer: I think it's totally a waste an an overkill14:05
awilkinsdato: What, fetching full history from SVN repo?14:16
awilkinsIt would be nice to see history horizons make an appearance.14:16
visik7is there a bisect command like git14:24
Jc2khttps://code.launchpad.net/bzr-bisect14:24
datoawilkins: uh, no. creating a bzr-launchpad package in Debian.14:27
Jc2kdebian folks dislike launchpad14:28
rockstardebian folks dislike *14:30
LarstiQjelmer: If people really object, they can remove the python files themselves. Have you encountered people who object so strongly that it warrants the (archive) overhead of an extra package?14:32
LarstiQjelmer: if I understand you correctly, it is never the case of wanting to install the plugin extra, but only to remove it.14:33
Jc2kthats a bit ewww, tho14:34
Jc2kit would be trivial to have the bzr source package build a bzr and bzr-launchpad, not really a hardship at all..14:35
jelmerdato, http://lists.alioth.debian.org/pipermail/pkg-bazaar-maint/2008-May/000843.html14:36
jelmerdato: perhaps I'm underestimating the overhead on the archive14:36
jelmerIt just seems cleaner to give plugins their own package14:36
LarstiQJc2k: we (Debian) need less packages, not more.14:40
jelmerJc2k, the bug you reported that affected a bunch of gnome svn branches should be fixed now, btw14:43
Jc2kjelmer: i saw, rerunning my script now - all perfect so far14:43
Jc2kjelmer: if i want to keep a bunch of branches up to date, is there anything cheaper than keep running svn-import ?14:43
jelmerJc2k: bzr multi-pull14:44
jelmerthat will update the existing branches14:44
Jc2ki was looking at multi-pull, but that won't take account of new branches14:44
jelmerbut it will not fetch new branches14:44
Jc2kright14:44
jelmerother than that, svn-import is the cheapest available - it should be pretty quick when branches are up to date14:45
Jc2kjelmer: its quite slow against evolution14:45
Jc2kabout an hour..14:45
jelmerwow..14:45
Jc2k23,000 revisions14:45
Jc2kquite a lot of branches too14:45
Pieterit imports 23000 revisions in an hour?14:45
jelmerJc2k, it's probably somthing funny in the repository layout14:46
Jc2kPieter: no, it already has 23000 revisions14:46
Pieteroh.. then I'm less surprised :)14:46
Jc2kPieter: about 1,000 revisions per 5 minutes iirc14:47
Jc2kjelmer: any suggestions?14:47
Jc2kjelmer: you can grab my evolution repo clone if you want14:47
Jc2kactually, i dont know how you clone a repo in bazaar..14:48
Jc2kthere needs to be a bzr import-bzr :D...14:48
jelmerJc2k: Any chance you can run with -Dtransport and send me the output in ~/.bzr.log ?14:48
jelmerJc2k, there's no easy way but Odd_Bloke worked on a plugin to allow cloning of repositories14:48
Jc2kcool14:49
jelmerdato: Anyway, if everybody else objects to this I'd be happy to pull it out again14:49
jelmerdato: but nobody yelled on the list, that's why I went ahead and put it in14:49
datojelmer: well, I follow -commits more closely than -maint :P14:49
datojelmer: anyway, splits in Debian are normally done because of (a) size, to allow users to unbloat their systems, (b) dependencies, same "bloat" argument14:50
datojelmer: but I'm slowly getting uninvolved, so I guess it's your call...14:51
jelmerdato: Ok, I'll see if I cna revert it14:52
jelmerdato: Getting uninvolved with Debian or just Debian+Bazaar?14:52
datoDebian+Bazaar14:53
datousing that I am, *cough*, using mostly git nowadays...14:53
jelmerwell, same here but that's not by choice :-)14:54
* dato goes for lunch14:54
datoyay spain :P14:54
jelmerlol, I know some folks here in .nl that eat dinner at 5...14:55
=== kiko-zzz is now known as kiko
james_wif I want to find whether two branches have diverged is this correct?:15:34
james_wgraph = branch1.repository.get_graph()15:34
james_wdiverged = len(graph.heads([branch1.last_revision(), branch2.last_revision()])) > 115:35
james_walso, do I need to do a fetch beforehand if they don't share all ancestory?15:36
lamontin keeping with the whole english vs english thing, bzr vizualize should work. :-)15:37
abentleyjames_w: If branch1's repository may not have the relevant revisions for branch2, you should do branch1.repository.get_graph(branch2.repository).15:43
abentleyThe branch1 repository will be preferred.15:43
james_wah great, thanks.15:43
abentleyheads > 1 is a valid test for divergence.15:44
Pieterhow can I check out a previous revision?15:47
james_wif you want a separate working area then "branch -r" will get you that, if you just want to look at one then "revert -r", if you want to move to an old one and discard the revisions after then "pull --overwrite -r ." or "bzr uncommit -r && bzr revert" will do it.15:49
Pieterright, revert -r it is15:53
Pieterthanks15:53
MattCampbellIs there any way to convert a Perforce repository to bzr, preserving history?16:32
paskyhttp://bazaar-vcs.org/BzrFastImport/FrontEnds16:34
paskyor if you want to be particularly elaborate, there's git importer and git has p4 importer ;)16:34
Pieterare there any git importers other than through the fastimport frontend?16:34
pasky(oh, actually, the p4 importer on the frontend page is git's one; it's nice idea to reimplement the fast-import interface in bzr)16:35
Pieterbazaar has a fast-import16:35
Pieterbut it's kinda crashy and eats tons of memory16:35
MattCampbellSo the only option is to go from p4 to git and then to bzr?16:36
Pieterno, you can use the p4 fast-export and bzr fast-import16:37
Pieterit might work16:37
luksdoesn't look like the git-p4 has a standalone exporter16:40
=== mw|out is now known as mw
emgentheya16:49
awilkinsI could just go for a slush puppie17:08
=== cprov is now known as cprov-out
denndaHi18:09
denndaI got a branch with several revisions18:09
denndaI now discovered that, by magic, one important file got lost18:09
denndaHow would I best go about restoring that single file from a previous revision?18:09
jamdennda: bzr revert -r XXX filename18:16
jambzr commit -m "restore filename"18:16
denndathanks18:20
ehazlettgreetings... i am getting an error when trying to import a svn repo ERROR: Invalid revision-id {None}18:29
jelmerehazlett: What version are you using?18:30
ehazlettBazaar (bzr) 0.90.0 -- ubuntu18:31
jelmerehazlett: this bug was fixed recently - it's not in any bzr-svn release yet18:32
ehazlettok18:32
jelmerehazlett: you can use the 0.4 branch of bzr-svn but that will requires bzr >= 1.418:32
ehazlettcool.18:32
ehazletti will build from svn :)18:32
ehazlett... bzr ;)18:33
ehazlettis the release on the bzr site (ubuntu) 1.4?18:33
jelmerno, 1.518:33
jelmerbut 1.5 should work just as well18:33
ehazlettok.  thanks for all of your help!18:33
dvheumenhi, I was wondering... I know that bzr currently does not support large (binary) files. Is there any indication when this support may be added? (few months? few years?) (If I could contribute, I would, but I am not at all familiar with Python or bazaar, so I think that would be kind of a long shot)18:45
beunodvheumen, well, it supports them, just needs a lot of RAM to do so18:45
dvheumenbeuno: yeah i figured that much out already reading the mailinglist and sorts18:46
dvheumenbut I was wondering ... at the moment there's no mention yet of it being implemented any time soon?18:46
dvheumen(or not soon :P)18:47
beunoa lot of work is being done on performance these cycles, but I'm not sure that's a part of it18:47
dvheumenI think I read something about that on the 1.6 milestone list18:47
beunodvheumen, I'd say, make sure there is a bug open about it with enough information, and suscribe/comment on it18:48
dvheumenbeuno: I found this bug description and I think this is quite accurately described: https://bugs.launchpad.net/bzr/+bug/109114 But it says 'Nominated for 0.90' although I think it isn't of any significance18:51
ubottuLaunchpad bug 109114 in bzr "commit holds whole files in memory" [Medium,Confirmed]18:51
beunodvheumen, follow up on that. Someone randomly nominated it, but it seems it didn't get done18:53
dvheumenbeuno: what do you mean exactly with follow up, I have subscribed but do you mean to post more information or something else?18:54
beunodvheumen, yes, that usually helps18:55
beunomore ways to reproduce it, attaching your .bzr.log, resource usage, etc18:55
beunoit makes it more likely someone will pick it up18:55
dvheumenhmmm... okay, posting more resource usage sounds useful... at least it's better than just saying "Hey, ... I'd like this to be fixed too!" :P18:56
dvheumenokay, thanks I will do that18:57
beunothanks  :)18:57
beuno(I run into that bug quite frequently too, btw)18:58
dvheumenwell, the thing is that I wanted to use it for something else than just simple source code file storage, but I found out larger files aren't supported yet so that's quite a bummer... other than that this seems to be the VCS I'm looking for18:59
dvheumenI'm using SVN at the moment, but I would like to have some more distributed features and such19:00
beunoyes, it's definetly something we want ASAP19:00
pickscrapeWon't the streaming stuff I've read about help there, or is that a different part of the code?19:02
dvheumenI've read something about a MemoryError fix for HTTP Proxy something19:02
dvheumenbut I thought that it was about a different function, mainly because it specifically names HTTP19:03
=== cprov-out is now known as cprov
dvheumenalthough I think these kind of things can be fixed with doing a streaming diff with a fixed window19:04
dvheumenI think the fix you just talked about is this one: https://bugs.launchpad.net/bzr/+bug/21542619:05
ubottuLaunchpad bug 215426 in bzr "MemoryError - recv for HTTP through Proxy" [Medium,Fix released]19:05
beunoyeah, I think that's unrelated19:07
dvheumenI have to go, thanks for the information ... it may take a few weeks because of examinations, but after that I'll try to post some performance/resource information if it helps you19:08
jamvila: earlier you talked with abently about how the LP mirror of bzrtools seems out of date19:34
jamI believe that is because it is a manual upload19:34
jamnot an lp mirror19:34
jamAt least looking at: https://code.edge.launchpad.net/~abentley/bzrtools/bzrtools.dev19:34
jamIt doesn't show it as a mirror branch19:34
jam                 You cannot upload to this branch. Only                 Aaron Bentley                 can upload to this branch.19:34
jamvila: do you remember the official location Aaron gave?19:35
jamhttp://bazaar-vcs.org/BzrTools19:35
jamhas the launchpad one19:35
jamI suppose I found http://code.aaronbentley.com/bzr/bzrrepo/bzrtools/ by poking around manually19:36
=== AnMaster is now known as AnMaster_
=== AnMaster_ is now known as AnMaster
vilajam: that's the one aaron gave me (I was having dinner, sorry for the delay ;-)19:41
jamvila: I'm deeply offended that you would think to go away from IRC for long enough to eat19:41
jamI expected more from you, vila19:41
jam:)19:41
jamI hope the food was good19:41
vilaapache2 was giving an headache, I had to eat :-)19:42
vilaIt seems I can't explain him that I want directory listings...19:42
jamvila: <Directory "/srv/bzr/public">19:44
jam    Options Indexes FollowSymLinks19:44
jamIsn't that enough?19:45
vila no :-(19:45
beunovila, maybe it has NoOverride set?19:45
vilabeuno: Hi19:46
vilabeuno: How can I check that ?19:46
vilaIt's a test server with a very limited configuration19:46
fullermdjam: re: bug 235715; could well be a 'cherrypick' in the form of 'add --file-ids-from'...  I do that from time to time when I find I want a file on 2 branches that will be merging somewhere down the road.19:46
ubottuLaunchpad bug 235715 in bzr ""bzr merge --lcs" (criss-cross merge) stops with error "bzr: ERROR: Reserved revision-id {null:}"" [High,Confirmed] https://launchpad.net/bugs/23571519:46
jamfullermd: well, this was converted from another source19:47
jamso there are lots of ways it *might* happen19:47
beunovila, let me see how to check for that...  (it's very normal in shared hosts)19:47
beunovila, can you see the apache conf file?19:48
vilajust a sec19:48
gourhow does lighttpd play with bzr?19:48
beunovila, check for: "AllowOverride None"19:48
vila!paste19:49
ubottupastebin is a service to post multiple-lined texts so you don't flood the channel. The Ubuntu pastebin is at http://paste.ubuntu.com (make sure you give us the URL for your paste - see also the channel topic)19:49
beuno/etc/apache2/sites-enabled/000-default would be the default location19:49
vilahttp://paste.ubuntu.com/15607/19:49
beunovila, check in the location above ^19:50
vila...and don't tell me 66 lines is evil :-)19:50
vilabeuno: it's not included19:50
vilait's a test server I setup myself, not the default apache2 server19:51
vilafrom http://localhost/doc/apache2-doc/manual/mod/mod_autoindex.html#indexoptions all I have to do is to laod the module and use 'Options Indexes' I put a '+' just to be sure :-/19:52
beunovila, I always add that within the <Directory> bit, which you seem to not have setup19:53
jelmerabentley: anything in particular that's blocking rich-root-pack as default in 1.6 ?19:54
james_wI'm working on the SRU for bug 230294, and I need a test case for verification of the fix, a checkout over http doesn't trigger it, are there more conditions that need to be true?19:54
ubottuLaunchpad bug 230294 in bzr "ERROR: bzrlib.errors.KnitCorrupt: Knit <bzrlib.knit.KnitGraphIndex object at 0x86e1e2c> corrupt: attempt to add line-delta in non-delta knit" [Undecided,Fix released] https://launchpad.net/bugs/23029419:54
vilabeuno: Because I presumed <directory> inherits from server settings and, as it is a test server, I don't know what directories will exist19:55
gourhuh, more bzr rant in dvc-thread http://article.gmane.org/gmane.emacs.dvc.devel/216619:55
jamstatik: we on for "this week" in 5 min?19:55
vilagour: If you read the thread, you'll see that mwolson is not an example of impartiality, I will not continue that discussion19:57
beunovila, try adding a <Directory> config19:57
abentleyjelmer: http://bundlebuggy.aaronbentley.com/request/%3C48221A5F.60208@aaronbentley.com%3E and uncertainty about whether we should do a new format just be be safer.19:57
vilabeuno: I tried it (deleted it in the pastedbin), same results19:58
vilathe error log says Attempt to serve directory: /v/home/vila/.bazaar/plugins/local_test_server/work/apache2/www/tagada/19:58
vilaor without 'tagada' :-)19:58
vilain the apache sources that string appears in asingle place>: when serving a GET request for a directory in the default handler19:59
beunovila, well, the only other configs I ahve related to Indexes are:  "IndexOptions FancyIndexing VersionSort" and ""19:59
vilatell me more about ""20:00
vila:-)20:00
beunovila, lol20:01
beunoI was expecting for 2 config options, but it was unrelated20:01
gourvila: you're right. "not possible to teach old dog new tricks..."20:01
vilatoo bad :-/20:01
beunoand it's a bit crazy at the office today, so I was talking to someone while typing  :p20:01
beunovila, any symlinks involved?  if there is: add: FollowSymLinks20:02
beunoand I'm out of ideas  :)20:02
vilabeuno: thanks for the help, I tried all of that, thanks for confirming these solutions, may be something else is wrong in my setup20:03
jamjames_w: generally you have to push from a pack repository into a knit repository20:04
jamI *think* you have to push multiple revisions20:04
beunovila, one last thing that may have something to do with it:   DirectoryIndex index.html index.cgi index.pl index.php index.xhtml20:04
statikjam: sorry i had to run downstairs for a minute, i'm back20:04
jamand then it will create one with a 'line-delta' when it shouldn't20:04
jelmerabentley, thanks20:04
jamthen when you pull back from the knit repo => pack repo20:04
james_wjam: ah, thanks, I got a failure with bzr+ssh://20:05
jamit fails because it shouldn't have had the line-delta in the first place20:05
jamstatik: so you ready for thisweek?20:06
james_wthe problem now is that the patch doesn't apply to 1.3.120:06
jamjames_w oops, why not?20:06
jamI'm guessing it is close to correct20:06
james_wI can't find any of the context from the diff -c of the revision that claims to fix it from bzr.dev20:07
jamjames_w: don't you mean bug 217701?20:07
ubottuLaunchpad bug 217701 in bzr "attempt to add line-delta in non-delta knit" [Critical,Fix released] https://launchpad.net/bugs/21770120:07
james_wjam: yep, this is a duplicate, but it's already set up for an SRU, so I'll just carry on.20:08
vilastatik: ping, do you have a few minutes ?20:08
jamvila: statik and I are working on "This Week" in bazaar right now, but he might have some time20:08
vilajam: remind me the url again :)20:09
jamjam-bazaar.blogspot.com20:10
vilathks20:10
jamstatik: you got to "probably gonna drop my".... static20:15
vilaYES20:36
vilastupid apache doc20:36
vilathey say: "so you can use or desactivate module A and/or B" but they forget to say: if you want module B only, load module A anyway :-)20:37
vilasoooo, if you need autoindex_module, load dir_module, just because20:38
vilaand with that apache2 pass the bzr test suite (well, the 70 tests triggered by bzr selftest -s bzrlib.tests.test_transport_implem -v Apache2 )20:40
=== mw is now known as mw|food
felipechow can I clone this? http://stephan.kochen.nl/bzr/gstraopsink/20:47
beunofelipec, bzr branch http://stephan.kochen.nl/bzr/gstraopsink/20:47
felipecbeuno: thanks20:48
beunofelipec, welcome'20:49
felipecI tried with .bzr =/20:49
vilabeuno: the fix was to 'LoadModule dir_module /usr/lib/apache2/modules/mod_dir.so' :-/20:49
beunovila, ah, I would ov never guessed that  :)20:50
jamvila: all that to test against the test suite20:50
jamouch20:50
vilanow that you mention it, I have already forgotten why the hell I tried that...20:50
jamDo we need indexes to be able to run against apache?20:51
jamWe shouldn't20:51
vilajam: strange isn't it, before I activated it the failing test was: test_has_root_works20:51
lifelessjam: that mpdiffs stuff you are doing; the extra try:finally also seems redundant to me20:52
jamlifeless: it was already there, if you want, I could just get rid of it20:52
lifelessjam: I have found an apparent bug leading to deltas with 1 line too few in that code though - with annotated knits20:53
lifelessjam: I'm replacing the entire code section20:53
vilajam: but being able to plug a real server in the test suite will greatly simplify writing test servers for https and webdav, simplifying writing correct client implementations, simplifying writing robust ftp client implementation, etc, etc,20:53
jamlifeless: I'm fine with seeing it go, but we may want to patch it until your stuff lands20:53
lifelessjam: don't wait20:53
jamvila: sure, I think it is a great thing to have. I'm trying to understand why we would need indexes20:53
jamvila: because if we do, it means we have a bug20:53
jamlifeless: for this week in bazaar, I'm writing about Stacked Branches20:54
jamdo you have any URLs I could give?20:54
vilajam: I don't think we really *need* indexes, but I don't want to gratuitously skip some tests either20:55
jamvila: sure. something called "has_root" sounds like something that we shouldn't be doing anyway20:55
vilaI'm interested in understanding why test_has_root_works (which test transport.has("/") is needed though20:55
jamIt might be a carry over from old transport tests20:55
statikvila: i suck, i'm on the phone solid all day today20:56
jamvila: I would say that we *don't* need it, but we probably had a bug with passing an absolute path at one point20:56
vilastatik: just one word then :-) Are you just delayed or something wrong is going on ?20:56
jamwe shouldn't be *passing* absolute paths to those functions20:56
statikvila: just delayed20:57
vilastatik: 2 good words, thanks :)20:57
lifelessjam: only those in the various communications I've made about it20:57
jamwell, are there *public* ones?20:58
jamI remember some comments about rookery, etc20:58
jamThis is something that we would point interested users to20:58
jamlifeless: I honestly haven't seen any URLs given on bazaar@lists...20:59
jamOnly on bazaar-canonical@21:00
jamwhich means it isn't public21:00
lifelessuhm21:00
jamI just went back and searched my folders21:00
lifelessI'm sure I've posted the loom location, status updates etc all to bazaar@21:01
jamI found "Stacking Policy" from aaron21:01
jamYour status updates haven't had a url in them21:01
jamjust "Things to be done"21:01
lifelessall the bundles have source_branch: http://people.ubuntu.com/~robertc/baz2.0/shallow-branch in their headers21:02
jamlifeless: with the one caveat that all of your submissions have been under the heading "VersionedFiles" not "Stack*"21:03
jamand while I realize one is a precursor to the other21:03
lifelessor shallow21:03
lifelessin fact, 'shallow' predates versionedfiles21:03
lifelessin the bazaar@ mail list21:04
michalskihey, I've got a problem: when typing:  bzr push lp:~michalski/+junk/<XYZ>21:14
michalskiit comes back with error:21:15
michalskiUnable to obtain lock lp--1221433044:///~michalski/+junk/vector-core/.bzr/branch/lock21:15
michalskiheld by michalski@bazaar.launchpad.net on host vostok [process #22773]21:15
michalskilocked 79 minutes, 10 seconds ago21:15
beunomichalski, bzr break-lock lp:~michalski/+junk/vector-core21:15
michalskiah ok :) thanks21:16
beuno(a better message for that will be available in the next bzr release)21:16
michalskiworked, thanks beuno21:17
=== mw|food is now known as mw
james_wstatik, jam: nice work, it's a good explanation22:00
james_wis there any plan for server-side forking in launchpad with stacked branches?22:01
statikjames_w: thanks! lp will support stacked branches, but I think server-side forking is a ways off.22:03
lifelessabentley: ping22:03
abentleylifeless: pong22:04
lifelessI've got something wrong with mpdiffs in my new code22:04
james_wfair enough, I think it may make it clearer to a user what is going on, but I understand that it makes very little difference to the data.22:04
lifelessI'm hoping you can spend a few minutes with me to walk me through/clarify some stuff22:04
abentleySure.22:05
lifelessso in an annotated knit the 'noeoldup' test text fails22:05
lifelessit ends up serialising wrongly - the serialised text is missing a \n and the knit record is corrupted22:06
lifelessI've tracked this down I think to the output of get_mpdiffs differing22:06
lifelessin the original knit code, we get:22:06
lifelessMultiParent([NewText(['line\n'])])22:07
mwhudson_beuno: hello!22:07
lifeless(which is conceptually strange to me, because both texts are == ['line'] )22:07
lifelessin the new code, we get:22:07
beunomwhudson_, morning!  I was just closing all my work-related windows to get started on loggerhead   :)22:07
lifelessMultiParent([ParentText(0, 0, 0, 1)])22:08
lifelesswhich is what I would expect22:08
mwhudson_:)22:08
lifeless(the new code runs same test scenario tweaked for api etc)22:09
abentleySo you are doing a diff and the MultiParent([NewText(['line\n'])]) is the result?22:09
lifelesswith the original knit code yes ('test_make_mpdiffs' from test_versionedfile.py)22:09
lifelessI checked that by adding:22:09
lifeless            if version == 'noeoldup':22:09
lifeless                print "Y", mpdiff, version22:09
lifelessto that tests inner loop22:10
lifelessnow what I *think* might be happening is that the get_mpdiffs with knits is broken for the specific case of the last line with noeol22:10
lifelessbut that something else is compensating on insertion22:11
abentleyAnother possible problem would be trusting the KnitDelta's concept of 'line'.22:11
abentleyIt might be split on22:11
abentley\r or something.22:11
lifelessnot in the test case :)22:12
lifelessok, well I'll keep poking at this22:14
lifelessI am concerned that when I find the root cause and fix it for the original code there will be some underlying issue exposed22:15
abentleylifeless: A NewText always has a trailing newline.22:15
abentleyAt least in the serialization.  Quite possibly in the repr22:15
lifelessok22:16
lifelesshow do you signal to a reciever that they should not have a trailing eol ?22:16
abentleyI signal that they *should* have a trailing eol by doubling it.22:16
abentleyHaving a single \n means it should be stripped.22:17
lifelessok, so ['line\n', '\n'] -> 'line' as bytes ?22:17
abentleyNo, ['line\n'] -> 'line'.  ['line\n', '\n'] -> 'line\n'22:18
lifelessright,22:18
* lifeless wipes sleep from eyes22:18
lifelessalright, the generated patch is ok, but its not matching where it can22:18
beunomwhudson_, I'm going through all the comments on the theme, so I can address all of them and move on to the HTML/CSS fun-part22:18
abentleylifeless: Odd, but I guess better.22:19
lifelessahha!22:21
lifeless_extract_blocks is buggy22:21
lifelessabentley: can you do an experiment for me, just want to know its not me :)22:21
abentleyI can do a quick one.22:21
lifelesschange _extract_blocks in knit.py to return None22:21
lifelessand run22:21
lifeless./bzr --no-plugins selftest versionedfile.*make_mpd22:22
abentleyI get a KnitCorrupt.22:22
lifelessyup22:22
lifelessexcellent22:22
abentleyKnit <bzrlib.knit._KnitAccess object at 0x9ad5eac> corrupt: incorrect number of lines 1 != 2 for version {noeolsecond}22:23
lifelesswe currently never match the last line of identical files if they both have no trailing eol22:23
abentleylifeless: We currently override that, actually.22:24
abentleysee KnitContent.get_line_delta_blocks22:24
lifelessabentley: indeed - to never match22:24
abentleylifeless: The intention is to make them match.22:25
lifelessabentley: but if no optimised matcher is provided, we do a full diff, which the code I'm working on does22:25
mwhudson__beuno: sounds great22:25
lifeless(because I haven't yet hooked in the optimiser)22:25
lifelessabentley: well, it doesn't seem to have the effect of making them match22:26
abentleyWell, this is in the case when there's an optimizer present.22:26
lifelessthe optimiser should say they match totally, but it doesn't22:27
lifelessanyhow22:27
abentleyWhy not?22:27
lifelessI don't know - I've been working through this as we speak, as I said I didn't know enough22:28
lifelesswhen I started digging I just had a knit corrupt and was pulling on the chain22:28
abentleyknit.py: 332 is supposed to do specifically that.22:28
lifelessall I can say right now is that when there is no optimiser the diff correctly reuses the parent text entirely22:29
lifelessand that we have a separate more severe bug22:29
lifelessinserting into annotated knits with an identical noeol text that is a snapshot corrupts the text22:30
lifeless(which is the error you see)22:30
lifelessso we can't actually fix this generation bug for current bundles, or something22:30
abentleyAh.  Bogus.22:30
lifeless(it copies the annotated representation from the basis including the *lack* of trailing \n, so the record can't be parsed)22:31
lifelessI'll finish analysing this on bzr.dev and write it up for consideration by the list22:31
lifelessIt's orthogonal to what I'm doing, and now I know it exists in potentia in bzr.dev I'm not blocked22:32
lifelessthanks for the hand, very useful and saved me time22:32
=== mwhudson__ is now known as mwhudson
abentleylifeless: I don't recall precisely how it worked with annotation, but it's a bit surprising, because mpdiffs aren't annotated.22:56
jelmerlifeless: I've almost finished merging bzr.dev into your shallow branch branch, btw22:57
mkanatjam: If you have any questions about https://bugs.launchpad.net/bzr-cvsps-import/+bug/235884 I'll be around for a bit (if you're around).23:03
ubottuLaunchpad bug 235884 in bzr-cvsps-import "cvsps_import can think that trunk checkins happened on a new branch" [Undecided,New]23:03
jam mkanat: If i was to bet, I would say it is confusion on the part of cvsps, and I'm just copying what it is telling me to23:05
mkanatjam: It's possible. I can attach the cvsps log, I'll do that.23:05
mkanatjam: I was thinking it was also possible that cvsps_import creates branches by branching against HEAD w/o a revision number.23:08
jammkanat: that is possible as well, though the graph itself should tell me where to branch23:08
mkanatjam: Yeah. There's some weirdness in Patchset 8195, where it says that one file is INITIAL->1.95, on HEAD.23:09
mkanatHow do you fix the content-type of an attachment in Launchpad?23:10
jammkanat: AFAIK it is auto detected, I don't know a way to change it23:11
mkanatThat's kind of lame. I can't imagine why it would have autodetected that file as text/html. "file" says it's ASCII text.23:12
mkanatLooks like I can't fix it by manually branching from HEAD at the right point, I get a traceback from bzr when doing an import after that.23:17
jammkanat: are you getting this warning:23:19
jamtrace.warning('%s claims an ancestor branch %s which does23:19
jam              ' not exist yet. Falling back to HEAD',23:19
jam              patchset, patchset.ancestor_branch)23:19
mkanatjam: I'll check.23:19
mkanatjam: Not unless --quiet turns that off.23:20
jammkanat: so... looking at the code, I think you are approximately correct23:20
jamspecifically, I see this patch:23:20
jamPatchSet 819923:20
jamDate: 2008/05/21 23:03:2423:20
jamAuthor: lpsolit%gmail.com23:20
jamBranch: BUGZILLA-3_2-BRANCH23:20
jamAncestor branch: HEAD23:20
jamTag: (none)23:20
jamLog:23:20
jammkanat: the problem is that cvsps import doesn't actually give me a base revision to branch from23:20
jamso I just branch from whatever is the current tip23:20
mkanatAh, yeah.23:20
mkanatYou could figure it out, theoretically, from the version numbers.23:21
mkanatProvided that they haven't done anything wonky with their cvs binary.23:21
jammkanat: and part of *that* is because CVS logs aren't very good at telling you what was going on23:21
jammkanat: what version numbers?23:21
mkanatYeah, I ran into a lot of that with VCI.23:21
jamthe one for the file?23:21
mkanatjam: The file version numbers.23:21
jam1.7->1.7.2.123:21
jamBut did *that* file change on HEAD23:21
mkanatjam: Yeah. 1.7 will have existed in some patchset.23:21
jamor just the *other* files23:21
mkanatOh, right.23:21
mkanatBecause you can't know what the actual last HEAD revision was.23:22
jamyeah23:22
mkanatMan, CVS is so lame.23:22
jammkanat: you might find that using "cvs2svn --fast-export | bzr fast-import" works better for you23:22
jamI don't really know23:22
mkanatjam: If you had actual access to the repository files, would there be any way to figure that out, do you know?23:22
mkanatjam: The problem is that I have about 30 branches based on my current imports, right now.23:23
jammkanat: unforunately, I don't know much detail about how cvsps works23:23
jamI built on it, since it seemed tobe the recommended tool23:23
jam(everyone else was doing it, and such)23:23
jamonly to find out later that it isn't really very good23:23
mkanatYeah. I did the same when I needed to abstract away CVS.23:23
mkanatYeah, but it's still the only tool.23:23
mkanatjam: I'd be fine with switching to cvs2svn, but I need to keep my current branches updated...23:24
lifelessabentley: the corruption is not mpdiffs fault AFAICT23:24
lifelessjam: this is why cscvs doesn't use it :P of course cscvs then has its own problems23:25
mkanatjam: I also have no idea how it's constructing the history now, pulling patches with an unrelated history...23:25
jammkanat: I'm not sure what you mean by unrelated history23:26
abentleylifeless: Ah, cool.23:26
mkanatjam: Well, theoretically a file is a collection of changes, and we have some HEAD changes followed by some 3.2 changes that may or may not have been to files with the same content.23:26
lifelessabentley: its just triggerable *by* mpdiffs, and only triggers when mpdiffs creation is fixed for this corner case23:27
lifelessabentley: a classic example of cascade failure/masked bugs23:27
jammkanat: I believe it goes to 'snapshots' each time23:27
abentleyHeh.23:27
mkanatjam: Ahh...23:27
jmllifeless: hi23:27
jmllifeless: may I draw your attention to my bzr-loom patch.23:27
lifelessjml: the one I reviewed?23:28
jmlorly?23:28
mkanatjam: Any suggestions on how to fix the situation I'm in now? Reverse the additional checkins?23:28
lifelesscouple of days ago?23:28
jmllifeless: where did you review it?23:28
* jml frowns23:28
jammkanat: well, depending on what is going on you *might* be able to rebase your changes onto a new converision23:28
* jml sees now23:28
jamI don't know how well rebase handles that case yet, but it is a use case for it to handle23:28
mkanatjam: Oh, we have rebase now?23:29
lifelesswe do, in a plugin23:29
lifelesswhere it shall remain ;P23:29
mkanatHahaha.23:29
jammkanat: there is a plugin, worked on by jelmer, lp:bzr-rebase23:29
lifelessthere is a bug open on it for integration with treemapper23:29
lifelesswhich would be needed to do what jam is suggesting23:29
* elmo is still waiting for bzr rerere23:29
* lifeless tickles elmo23:29
lifelessI love how that is spelt: '/me tickles elmo'23:30
jmllifeless: anyway, thanks for the review.23:30
lifelessits *almost* right23:30
mkanatYeah, I'd think that this would be a good use case for rebase.23:30
mkanatlifeless: So you're saying that rebase won't do what I need right now, then?23:30
lifelessmkanat: AIUI there is a missing feature - the file id mapping logic. I may be wrong.23:30
lifelessmkanat: but given you are converting between two mirrors of cvs, no renames are involved so a simple-implementation would likely suffice23:31
mkanatlifeless: Okay. I guess I'll try and see if it goes.23:32
jamby the way elmo, thanks for whatever you did to pqm, it is much snappier now23:32
jam(that could just be updating to the latest kernel)23:32
lifelessjam: it's a bzr bug23:32
lifelessjam: elmo replaced the kernel to work around it23:32
jamlifeless: sort of23:32
jamThe fact that one kernel is 10x slower than the other...23:32
jamI can agree that it going from 5 => 18s is bzr23:33
jambut going from 5 => 300ms seems like the kernel23:33
lifelessjam: there are two theories. one is the GIL & thread starvation, the other TCP autotuning23:33
lifelessjam: elmo thinks its tcp autotuning that the new kernel *adds* (e.g. kernel works around broken application requests)23:33
lifelessjam: I think its GIL starvation due to scheduler changes23:34
jamby the way, I wasn't able to reproduce it on tungsten23:34
lifelessjam: either way its around 99% certainty that bzr is faulty23:34
elmojam: what?23:34
jamat least, when I ran the test it ran in 300ms23:34
jamrather than 5+s23:34
lifelessreally must disappear for a bit23:34
jamelmo: I submitted 2 patches to PQM, and it was done in < 1 hr23:34
jamIt used to take 2hrs to complete 123:34
jamSo I appreciate your work in that area23:35
elmo jam: try the branch in ~james/haha/home/+trunk23:35
elmoit's entirely reproducable on tungsten there23:35
elmoif it's gone in current bzr.dev that jus tproves it was bzr and not the kernel ;-)23:35
elmoas spiv said he fixed the batching of stuff in the smart server23:35
jamright, but AFAIK that would explain 5=>18 not .323:35
elmoerr, no?23:36
elmoit's 18 on tungsten right now, if I upgraded tungsten's kernel, it'd go to .323:36
elmoit goes to 5 iff I revert back from that branch -1000 revisions23:36
elmo+ stay on the current kernel23:36
mkanatjam: Oh, cvs2svn won't do what I need, since it apparently doesn't support repeated syncs.23:37
jamelmo: well we seemed to have fixed it then, bzr.dev @3452 gives 394ms23:37
jamand I did reproduce your "haha" at 18.5s23:37
elmook, cool23:38
elmospiv: ^-- whatever you did, don't ever undo it ;-)23:38
jamelmo: how did you get that directory? it would probably be good to know what revision, etc you are using there23:38
elmojam: that was a copy of trunk at the time we were diagnosing the problem23:38
jamelmo: so you don't have an idea of a number, right?23:39
jamI think I just isolated it to Spiv's buffering patch23:39
jamrev 3451 == 18.9s23:40
jamrev 3452 == 349ms23:40
jampretty good indication23:40
jam 3452 Canonical.com Patch Queue Manager 2008-05-24 [merge]23:40
jam      Speed up HPSS v3 by buffering writes to the medium. (Andrew Bennetts)23:40
jamelmo:  so I got "lucky" that andrew had just merged his patch when I went to test the bug23:40
elmojam: right23:40
lifelessjam: see, bzr :)23:42
elmooh, yay, that revision even had tests23:42
lifelessjam: generally, whenever bzr is slow, its bzr's fault until proved otherwise :)23:42
lifelessirrespective of the width of the change23:43
johan$ bzr push lp:~jdahlin/bzui/main23:57
johanbzr: ERROR: Transport operation not possible: http does not support mkdir()23:57
johando you guys know why I get this?23:57
johanusing bzr 1.3.123:57
beunojohan, you probably haven't set your lp-login23:57
beunobzr launchpad-login username23:58
johanbeuno: oh23:58
beunoshould solve it23:58
johannot a very good error message ;)23:58
beunonot at all, and it's been fixed in 1.4 I believe23:58
beuno(you can get the latest and greatest from the PPA)23:59
beunohttps://launchpad.net/~bzr/+archive23:59
johancheers23:59

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