/srv/irclogs.ubuntu.com/2009/07/14/#bzr.txt

lifelessSamB: so yes, it would kill us.00:00
SamBlifeless: how does it move the data?00:00
lifelesswe'd have to figure out a lot more structure than we do, which would push memory usage up, processing time up, and increase network traffic - in pathological cases by thousands of times.00:00
SamBtarball?00:00
lifelesswe send the delta compressed data as-is00:01
lifelesswith the minimum edits to its storage to meet user expectations about when data propogates00:01
SamBright.00:01
SamBis that how it works when pulling between formats?00:02
lifelessdepends on the formats00:02
SamBexamples?00:02
lifelessI don't mean to be rude, but I've a tonne of code to write00:03
lifelessunless this is more than academic, can I encourage you to look at the various formats in repoformats/00:04
SamBwhat code should I read, then?00:04
SamBoh, repoformats00:04
lifelesswhich define constraints like needing topological insertion, atomic transactions etc00:04
poolielifeless: bug 390563 is marked in-progress, should it be marked assigned to you00:04
ubottuLaunchpad bug 390563 in bzr "absent factory exception from smart server when streaming 2a stacked branches" [Critical,In progress] https://launchpad.net/bugs/39056300:04
lifelesscross format fetching is parameterised by the RepositoryFormat objects + the stream behaviour / InterDifferingSerializer (streaming is for network, IDS for local)00:05
lifelessSamB: we try to do the least work at any time when copying data00:05
lifelessits the whole background theme to all this code00:06
lifelesspoolie: no00:06
SamBmmmhmm.00:06
lifelesspoolie: jam has a branch to land00:06
pooliethanks00:06
* SamB settles for running bzr branch with -rsvn:1000, then bzr pull with -rsvn:2000 etc.00:13
SamB(for the moment)00:15
* SamB keeps expecting "bzr revert" to ask him hunk-by-hunk for some reason ...00:19
GungaDinI installed bzr from the source... how do I uninstall it?00:25
lifelessdelete it ;)00:33
GungaDinit installed like a million files in different directories00:35
lifelessit should have written the bzr script, and a single directory 'bzrlib' in your python site-packages directory00:38
=== kiko is now known as kiko-afk
lifelessjam: around?00:45
GungaDinI'm running bzr (1.16 or 1.17rc1) froma Fedora 11 installed inside VirtualBox, and it always hangs around 1054K or 1060K when checking out a branch...00:52
GungaDinany ideas why?00:57
mwhudsonGungaDin: how long have you left it to conclude that it's hung?00:57
GungaDinhours?00:59
GungaDinIt succeeds from other machines00:59
poolieSamB: i fully support getting better api docs, but filing bugs on every class without them, if that's where you're heading, is probably not the most efficient way to do it01:01
pooliehow about if for instance you put up a branch containing your guesses at better descriptions or the answers people give to your questions about the api?01:02
mwhudsonGungaDin: oh ok01:03
mwhudsonGungaDin: no idea then really :(01:03
pooliehello mwhudson01:03
mwhudsonhi poolie01:03
GungaDinyeah, weird.01:04
MT-Can somebody explain the correct way to merge two branches with the same ancestory?01:04
GungaDinare there any logs I can check?01:06
garyvdmMT-: bzr merge BRANCH-B01:22
lifelessGungaDin: you can look in ~/.bzr.log01:23
lifelessGungaDin: and/or use strace or lsof to see whats going on01:23
MT-garyvdm: I was confused because I would do that and then get a message when I tried to commit the merge about no changes having been made01:23
MT-garyvdm: I added --unchanged to the commit and it seems to have worked - thanks01:24
fullermdEr.  If commit said there were no changes, there probably were no changes...01:24
fullermd(and if there were, and commit wasn't seeing them, --unchanged probably didn't make it start)01:25
MT-fullermd: that's why I was so confused01:27
fullermdI suspect merge's output will be more enlightening.01:28
MT-http://bzr.pastebin.com/m1d9af2f901:30
MT-exactly like I'd expect01:30
SamBpoolie: I wasn't going to do it for every class, no01:37
SamBfor starters, I'm skipping all the ones whose names begin with _ ;-P01:37
pooliethere probably should be some better way to track this01:37
poolieit just doesn't map well to bugs01:38
SamBpoolie: yeah01:38
SamBbut I couldn't think of any other thing to do that wouldn't get completely lost01:38
SamBand honestly I don't really have any but the vaguest guesses what it's for ...01:39
mwhudsonhttp://starship.python.net/crew/mwh/bzrlibapi/undoccedSummary.html01:39
mwhudson(not linked to or very useful though)01:39
SamBlots of things might be clearly-enough named/subclassed that a docstring would, in fact, be redundant01:40
SamBI'm not planning to file bugs against those01:40
lifelessI think its reasonable, when something confuses you, to ask for help on it01:40
lifelessif you write a docstring and submit a merge as a result of the help, a bug is kindof wasteful01:41
lifelessOTOH if you don't  plan to submit a patch yourself, a bug is accurate, but perhaps its unlikely anyone will work on it01:41
poolieagree01:42
pooliei think one can be kind of usefully provocative by asking the question and then turning it into the patch01:42
SamBlifeless: I agree, but to do that ... wouldn't I have to have understood what you said about InterDifferingSerializer ?01:45
* SamB does a lastlog to see if he mentioned it more than once?01:46
lifelessjml: did my inventory checks stuff get into 1.17rc1?01:47
jmllifeless, I don't know.01:48
SamBjelmer: what the heck is a "native foreign revision"?01:55
GungaDinlifeless - how would lsof or strace help me to understand what's going on?02:01
SamBGungaDin: well, it might end up telling you that something was actually happening02:04
SamBor at least give you an idea where they go wrong02:04
GungaDinHow can I uninstall a version installed from the source?02:08
jelmerSamB: where is that mentioned?02:09
SamBjelmer: bzrlib.foreign02:10
lifelessGungaDin: as I said before you need to delete it02:10
SamBGungaDin: one way would be to install it from the source again, and take note of all the files installed02:11
SamBand then delete them02:11
GungaDinwhy don't you supply an uninstall option??02:12
spivGungaDin: python's distutils don't (currently) provide any mechanism to do that.02:15
spivThere's a proposal on python-dev atm that would address that, I think.02:15
jelmerSamB: revisions that were not roundtripped from bzr02:15
GungaDinalright.02:15
GungaDinthx02:15
SamBjelmer: yeah ... that was my eventual guess02:16
spivGungaDin: if I'm installing something system-wide from source I usually use stow, mostly because it means I can always uninstall it later.02:16
SamBjelmer: now to figure out how to say that without using an oxymoron02:17
GungaDinhmmm... never used stow.02:17
GungaDinnever even heard of it, to be honest.02:17
spivGungaDin: http://www.gnu.org/software/stow/02:19
spivAlthough it's probably packaged for Fedora, which I think you said you are using?02:19
GungaDinyeah, it is.02:20
GungaDinjusted yummed it :P02:20
SamBGungaDin: tastey, is it?02:20
GungaDinmissing a bit of salt.02:20
SamBhmm, what column should comments be wrapped at?02:21
SamBmore or less02:21
jml7902:22
SamBwould it make sense to wrap a bit sooner if it puts a >40 char parenthetical on it's own line?02:25
SamBwell, let me just paste ...02:26
SamBokay, here it is: http://paste.ubuntu.com/217434/02:40
SamBwhich of those comments is better wrapped?02:40
lifelessthe first02:41
SamBokay, next question: does jelmer like the comment?02:42
garyvdmjml: why 79 and not 80? Does that apply for all code?02:58
jmlgaryvdm, 79 is what pep8 says for general code wrapping.02:59
jmlgaryvdm, I don't know whether it's binding on bzr (I suspect it isn't)02:59
jmlgaryvdm, but if someone asks a wrapping question about a Python project, you need a good reason to say anything other than 79 :)03:00
jml(pep 8 actually recommends 72 for comments & docstrings, but that's pretty silly, since none of the editors on my system will do that automatically)03:00
garyvdmjml: I was just under the impression that it was 80 not 79.03:01
SamBgaryvdm: Emacs displays an \ and wraps if you go over that03:01
jml(under SamB's configuration)03:01
SamB(with an 80-character-wide terminal, or the default window size)03:01
SamBjml: not just mine03:01
garyvdmAh - the -1 is for the \03:02
SamBthat's, of course, the *default* default03:02
SamBgaryvdm: yeah03:02
fullermdHistorically, some terminals had Issues(tm) with drawing characters in the last column of the last line, which is one reason to go with 79 over 80.03:03
fullermd(probably none of them have been USED in a long count of years, but I probably have one in my closet   :P)03:03
SamBwell, depends how you define issues03:04
* garyvdm changes editors edge line from default of 80 to 7903:04
SamBthere are some terminfo/termcap flags to specify standard "issues" terminal type has03:05
SamBjml: also, my editor seems to have somehow been given the impression that like 72 is good for comments in Python ...03:06
SamB+something03:06
fullermdI sometimes wonder how many of those flags still work with modern apps.03:06
fullermdI was looking through termcap the other week and reflecting that, "Gee, 'xterm' is used all the time, and 'vt100', and probably a few others like 'cons25', but I'll bet 98% of these entries haven't been used in 20 years."03:07
SamBfullermd: could be, but some of these flags *apply* to xterm and/or some of it's ilk03:08
SamB(oh, and better not forget "linux" and "screen")03:09
fullermdYeah.  But then there are all these comments about "I don't know what this entry is for, there's no model number or attribution", with timestamps in the early 80's.03:10
SamByeah, probably those ones aren't really used much ;-)03:11
lifelessjml: I routinely use all 8003:11
lifelessbecause the bottom right character works these days03:11
SamBlifeless: vi-using jerk!03:12
lifeless:P03:12
fullermdYeah.  And all these entries for homebrew terminals...03:14
fullermdIncluding (at a spotcheck) some that call for tabset files the system doesn't even include   :p03:14
SamBwhat files ?03:14
SamBanyway, a lot of these flags are basically used by curses + screen03:15
fullermdBeats me.  I'm not insane enough to have learned termcap that deeply.03:15
SamBas far as I can tell03:15
fullermdI learned enough to trick screen into doing some insane things and mess with VT10x and such.  That was quite enough for me.03:16
SamBI only try to learn it when something isn't working right03:17
jmltest_transport_implementations has been renamed to per_transport?03:18
lifelessjml: sounds plausible03:21
mwhudsonjml: i have a branch fixing that03:23
jmlmwhudson, oh cool. anything I can do to get it landed?03:24
mwhudsonjml: i'll ask you to review it03:25
GungaDinmy bzr always hangs on "Fetching revisions:Get stream source"03:34
GungaDin....03:34
GungaDinany ideas why?03:34
lifelesslook at it with strace or lsof03:35
GungaDinhow do I look at it with lsof?03:35
GungaDinlsof just tells me what files are open.03:35
lifelessthats right03:36
lifelessits data about whats going on03:36
lifelessjust as strace would b e03:36
igcback03:45
* igc hits the review queue04:00
GungaDinwhen I do strace on the process, the output is: read(6,04:03
GungaDinwhat does that mean??04:03
lifelessit means its waiting for IO04:05
lifelesson fd 604:05
GungaDinso why isn't any IO coming? :)04:06
lifelesswell, I don't know04:07
lifelesslsof can tell you what fd 6 is04:07
GungaDinare there any open source projects that use bzr?04:11
lifelessyes, lots04:12
GungaDinsuch as?04:12
lifelessmysql04:12
lifelessI appreciate you're having some trouble, and I'd like to help04:12
lifelessyou need to gather data though04:12
GungaDinI don't know how really...04:13
GungaDinI think fd 6 was just a pipe.04:13
GungaDinapart from that there's nothing much I can say...04:13
GungaDincheckout works on oher machines.04:13
lifelesswhat url scheme are you pulling from?04:13
lifeless(bzr+ssh? http? ...?)04:13
GungaDinbzr+ssh04:13
lifelessthat should just work really04:13
SamBand you can SSH out from that VM fine?04:13
lifelessis it a very big project or some such?04:13
GungaDinyup04:14
GungaDinit's quite big04:14
GungaDinbut it shouldn't hang like this04:14
lifelessso the client is waiting for data from the server04:14
lifelessdo other clients work on the same project ok?04:14
GungaDinyup04:15
GungaDinthat's what I said: the checkout works on other machines04:15
lifelessto answer your other question more fully - http://bazaar-vcs.org/WhoUsesBzr - lists /some/ of the open source projects using bzr04:16
GungaDincool04:16
lifelessthere are more (based on people asking for support)04:16
GungaDinI'll try checking out from one of those project04:16
GungaDinwe'll see how it goes04:16
lifelesstheres something like 20K projects on launchpad with branches04:16
lifelessall of ubuntu is imported, for instance04:16
GungaDinimported into bzr?04:17
lifelessyes04:17
GungaDinfrom cvs? svn?04:17
lifelessdepends on the thing04:17
lifelessmost of the ubuntu packaging branches are imported from the dpkg source packages04:17
* wgrant points over to https://code.launchpad.net/ for lots of branches.04:17
lifelessthere are also thousands of svn/cvs/git imports04:17
lifelessGungaDin: I also suggest you file a bug to provide a place we can gather systematic data about your problem04:18
GungaDinI don't know if it's a bug.04:19
lifelesssomething is wrong somewhere04:20
lifelessit may be system config04:20
lifelessor a bug04:20
lifelesseither way, having a place to record notes about the problem is a good idea04:21
lifelessand we usually do that in our bug tracker04:21
GungaDinhmmm... seemed to work with https on alltray.04:22
GungaDinhow can I checkout using bzr+ssh from an open source project on launchpad?04:55
GungaDinor somewhere else.04:55
GungaDinI'd like to see that the exact scheme works with a different project.04:55
lifelesssetup your ssh keys in launchpad04:58
garyvdmGungaDin: you need a lp user name with a ssh key set to use bzr+ssh on lp04:59
garyvdmthen bzr branch lp:PROJECTNAME04:59
lifelessthen turn http:// into bzr+ssh://USERNAME@ in any of the http urls04:59
GungaDin*sigh*04:59
GungaDindoesn't seem like it's working05:18
GungaDinwhere do I check the branches of each project on lp?05:18
spivThe "code" link for a project will show the branches.  e.g. https://code.launchpad.net/bzr05:22
pooliei'd like to say just ssh://host...05:27
GungaDinwell, if I bzr+ssh://myaccount@code.launchpad.net/bzr/trunk - it hangs forever...05:27
pooliei know there's a bug for it05:27
lifelesspoolie: that still really squicks me05:27
pooliesorry but i think you'll just have to cope05:27
poolieyou don't have to use it :)05:27
lifelessas long as we don't drop support for bzr+ssh I'll deal05:28
lifelessbut I really think its liable to lead to trouble down the track05:29
GungaDinlifeless - I can't bzr+ssh the way you mentioned.05:29
lifelessGungaDin: what happens05:29
GungaDinnothing05:29
lifelessno error?05:30
poolielike the onion or someone said05:30
GungaDinI tried: bzr co bzr+ssh://myaccount@code.launchpad.net/bzr/trunk05:30
poolie"why don't we have _optional_ gay marriage?"05:30
GungaDineventually I get a timeout error from ssh05:30
spivGungaDin: branches are on bazaar.launchpad.net05:30
lifelessGungaDin: bzr+ssh://myaccount@bazaar.launchpad.net/bzr/trunk05:30
pooliedoes that really still time out?05:30
pooliethat's lame05:30
spivGungaDin: e.g. bzr+ssh://myaccount@bazaar.launchpad.net/~bzr.dev/bzr/trunk05:30
pooliei thought the firewall was changed a long time ago05:31
lifelessGungaDin: actually spiv has it right05:31
pooliemaybe it regressed05:31
lifelesspoolie: I don't follow the onion ref05:31
spivGungaDin: if you use "bzr launchpad-login" you can just do "bzr co lp:bzr" and it will look up the right bzr+ssh URL for 'bzr' for you.05:31
poolienm, it's a joke05:31
lifelesspoolie: I'm concerned that url handlers in firefox are going to end up fighting with ssh: urls05:31
lifelesspoolie: in a way that won't happen with what we do today05:31
poolieas if all the people objecting to gay marriage were afraid they personally would have to gay marry05:31
pooliei'm not saying you're being that silly05:32
lifelesspoolie: and further that we're adding ambiguity that doesn't need to exist05:32
poolieor indeed that they are05:32
lifelesspoolie: I could care less what individuals use as local scheme aliases; things that are liable to make the ecosystem more fragile are something I do care about.05:32
GungaDinspiv - I get an error saying it's not a trunk05:33
pooliewe could possibly apply a kind of 'be strict in what you emit' here05:33
poolieand just treat them as a shortcut on input05:33
GungaDinsorry..05:33
GungaDinI mean "not a branch"05:33
pooliei think bzr rejecting somebody typing the url is too pedantic05:33
spivGungaDin: oh sorry05:34
spivGungaDin: .../~bzr/bzr/trunk05:34
spivGungaDin: that's what I get for typing from memory!05:34
spivGungaDin: like I say, I usually just use "lp:bzr"05:34
lifelessspiv: however that can use http05:34
GungaDinbetter05:34
lifelessspiv: and I don't think it tells the user05:34
GungaDinthx05:34
lifelessspiv: which is why I suggested explicitness here for debugging05:35
spivlifeless: I'm not disagreeing :)05:35
lifeless;)05:35
lifelesspoolie: bzr does tell the user what url they should be using.05:36
lifelesspoolie: if bzr were to nag that its altering the url to be bzr+ssh and translated, well that might be ok. But I think its pragmatically bad to start emitting ssh:// urls ourselves, or encouraging people to put them in app handles05:37
poolieah05:37
pooliei'd forgotten it gave a suggestion in the message05:38
poolielet's discuss it if/when somebody actually starts on it05:38
lifelessI'd actually like to put this to bed permanently someday05:39
lifelessits a bit of a recurring nightmare05:39
lifelessunless we embed a terminal in bzr05:39
poolieit's a URL05:40
poolieit locates a resource05:40
poolieit doesn't need to say everything about what to do with the resource05:40
lifelessif you click on  a ssh url in a browser, what should happen?05:40
pooliepresumably it'll go through the 'what app do you want to use for this' function?05:41
poolieof course at present: nothing happens afaict05:41
poolieto me this seems reasonable05:42
pooliewhat do you think should happen?05:43
lifelessAs a user I'd expect the sshshell (there is a gui ssh shell colin walters has been working on - its really nice) to fire up by default05:43
lifelesswith no questions05:43
pooliek, that sounds good then05:44
pooliewhat's not to like?05:44
poolieif the web page wants to say "open this in bzr" there should definitely be a syntax for that05:44
pooliehm05:44
pooliei mean really it should be something like handwavey ssh://example.com::bzr/some/dir05:45
pooliessh there *and then what*?05:45
pooliejust pointing to the directory on the host doesn't really mean a lot05:45
pooliemaybe this is in the ssh url spec05:45
poolieif any05:45
lifelessthis is a bit of a weakness in std6605:45
lifelessand AFAIK the only workaround at the moment is in the scheme05:46
lifelessI'll note that bzr+ is less letters than ::bzr :P05:46
spivlifeless: you just need a keyboard with a :: key ;P05:46
spivYou could maybe adapt a keyboard with a -- key for tla ;)05:47
* lifeless shudders05:47
pooliei shall treat that trolling with the respect it deserves05:47
lifelesspragmatically, web browsers dispatch off three things:05:48
lifelessembedded controls where a plugin is invoked05:49
lifelessthe scheme05:49
lifelessand the mime type05:49
GungaDinHow big is the the trunk of bzr?05:49
GungaDinaround 68147K?05:49
lifelessGungaDin: about 70MB05:49
GungaDinseems like my bzr hangs again05:49
GungaDinstrace shows the same thing05:50
GungaDinread(6,05:50
spivGungaDin: and I guess if you strace the ssh subprocess it's stuck in a recv or a select on a socket?05:50
GungaDinyeah, select.05:51
spivGungaDin: but it's managed to download 68147kB to .bzr ?05:51
GungaDinseems like it.05:52
GungaDinapparently it always hangs at the end.05:52
GungaDinlike with my repo.05:52
spivI wonder if you have a broken plugin installed?05:52
spivCan you try sending SIGQUIT to your bzr process?05:52
spivThat will drop it into the Python debugger.05:52
lifelessor -Dhpss perhaps05:52
spivThen type "bt" and pastebin the result.05:53
GungaDinkill -?05:53
spivkill -QUIT05:53
GungaDinwell.. I already stopped it with CTRL-C05:53
spivOr hit Ctrl-\ in the terminal.05:53
spivAh.05:53
GungaDinany other smaller repo?05:53
spivDid it give a backtrace (or did it leave one in ~/.bzr.log)?05:53
lifelessGungaDin: you can use the one you were having trouble with earlier, if thats smaller05:54
spiv~jml/testtools/trunk on the same server is quite small.05:54
GungaDinok05:56
GungaDinbrb05:56
spivGungaDin: another test to try would be to add --no-plugins to a command that hangs.05:57
GungaDintried that already05:57
GungaDinit didn't help05:57
spivOk.05:57
lifelessigc: I have more inventory delta stuff06:01
lifelessigc: I'll be updating the merge request this avo06:02
lifelessigc: I'd love if if you could tell me if it sucks perf wise06:02
igclifeless: shall do. I want to get through some more reviews then I'll make some measurements ...06:02
GungaDinI sent a SIGQUIT to bzr... what do you want to do now, spiv?06:03
igclifeless: I'm all for safety first but ...06:03
igclifeless: we need to be sure we don't throw away all the recent gains accidentally06:03
lifelessfor sure06:04
lifelessthe reason this has taken a week is I've been looking and thinking carefully about every change06:04
lifelessI'm sure there will be fallout, but I'm also sure it will be much less than the gains we've made by better disk structure06:05
spivGungaDin: type "bt" and pastebin the traceback that makes06:09
spivGungaDin: that will tell us where in bzr it is stuck, which might help diagnose what's going wrong.  (Even though it's almost certainly not bzr's fault)06:10
lifelessjml: so, can code auto update diffs please?:) at the moment, clicking superseded and aking a new review seems to me to be *more* work for lp...06:18
jmllifeless, you're asking the wrong person.06:18
lifelessthumper isoffline06:18
jmllifeless, well, I think Launchpad should auto-update diffs too06:19
lifelessok cool06:19
lifelessspeaking of which06:21
lifelesshow does one do the superceded dance?06:21
lifelessI get an error about an existing proposal06:22
lifelessEOD (started at 6:30 :P)06:24
lifelessigc: updated thingy submitted06:25
lifelesspoolie: I'll get to your patch early tomorrow06:25
igclifeless: thanks06:25
* spiv makes a late lunch06:27
lifelessigc: I think (I still have to do a careful audit) that I now have complete coverage of things that make deltas go wrong06:27
lifelessigc: which means that once I've done that audit I can get onto iter_changes again and be protected06:28
igclifeless: and in theory, my patch will fail, right?06:28
igci.e. be trapped by your new tests06:28
lifelessigc: your tests won't, but I can construct cases using the regular command line that will make it generate bad deltas06:28
lifelessand those would be caught06:29
lifelessanyway, as I promised I'm going to fix iter_changes itself06:29
lifelesstheres no need to layer on it when iter_changes is, itself, broken06:29
lifelessfor instance, a simple example is06:30
igclifeless: thanks. I still never got why my stuff was wrong so I'm looking forward to understanding that soon06:30
lifelessinit; mkdir a, touch a/b06:30
lifelesscommit06:30
lifelessmv a c06:30
lifelessmkdir a touch a/b06:30
lifelesscommit a/b06:30
lifelessthis sort of situation would turn up after merging parallel imports, for instance.06:31
lifelessigc: the layering approach isn't /wrong/ in a correctness sense; its wrong in a performance sense because of the full-iteration being done under the hood. Thats tolerable.06:32
lifelessthe correctness wrongness is that you have to spider out upwards just like we do downwards06:32
lifelessin what we include06:32
lifelessand that may have further implications (e.g. a spider down impact) that I haven't yet thought all the way through06:33
lifelessit was while I was thinking it through that I realised our delta sanity checks were totally insufficient to protect us against mistakes06:33
lifelessanyhow, I'm really done for today.06:33
lifelesssee you all tomorrow06:33
igclifeless: sure, seeya tomorrow06:33
GungaDinspiv: http://pastebin.com/d5fb72ec706:51
spivGungaDin: hmm, so it's stuck while waiting to receive a response to a get_stream request (i.e. the big request that fetches all the data)06:53
GungaDinbut why????06:54
spivYeah, that's the question.06:54
poolielifeless: let's talk more when it's a bit closer to the top of my stack06:55
spivI mean, I can fetch branches from Launchpad via bzr+ssh just fine.06:55
GungaDinI tend to think it could be a problem with one of the VM drivers.06:55
GungaDinI can fetch it fine from other machines as well.06:55
spivSo if the response isn't making it through to you I'd guess at network weirdness, like a bad MTU setting or something.06:55
spivI would have expected that to show up slightly differently, but perhaps not.06:56
spivThere's certainly nothing particularly special about get_stream, except that it tends to send lots of data fairly quickly...06:56
GungaDinwell, svn works fine...07:11
vilahi all07:19
pooliehello vila07:33
vilahey poolie, I will on and off a bit today, it's national holiday here07:33
poolieoh right07:34
pooliebastille day?07:34
vilayes :) That one, heads on spikes and so on07:34
Kamping_Kaiserah, happy days :p07:35
* jml has eats some cake to celebrate it07:42
=== loxs is now known as loxs_
loxs_Folks, is there some easy way allow multiple (system) users to commit to the same repository?07:44
spivloxs_: create a system group, and chown the repo to that group and set the perms to be group writeable.07:46
spivoh, and set the perms to make sure that new directories/files in that repo are also group writeable.07:46
loxs_spiv, seems like I'll go with access control lists07:52
fullermdIf those'll propogate correctly to new files, it would probably work.07:53
fullermdbzr will do the work of propogating g+w to new files/dirs; with ACL's, the system itself would have to do so.07:53
fullermd(and yes, 'propagate' is one of those words I ALWAYS misspell, even though I KNOW I misspell it...)07:54
=== mario_ is now known as pygi
pooliejust reviewing aaron's merge -i patch, that's very nice08:12
jmlfullermd, you can support a door, or you can prop a gate!08:20
jml(maybe that's terrible enough that you'll remember it forever)08:20
poolieeww08:22
jmlI remember a sign or banner or something in my grade 1 classroom that said "Smell _a rat_ when you _separate_"08:23
jmlnever ever had a problem with smelling that word! :P08:24
pooliemy favourites are "weird is weird" ie doesn't follow the weak "i before e" rule08:24
poolieand "its is like his" ie doesn't have an apostrophe08:24
poolieneither of them are particularly amusing though08:25
igcvila: happy "heads on stakes" day :-)08:34
vilaYeah, stakes, spikes, whatever, they were rather unsophisticated you know :-)08:35
vilaIt's raining like in November though so for fireworks.... :-D08:36
jml"Bastille Day was the day that France declared independence. It was a remarkable achievement, coming only ten days after America invented freedom."08:38
RAOFjml: Heh.  Link?08:48
jmlRAOF, sadly that's all I've managed to make up so far.08:49
RAOFBoo!08:49
lifelessfullermd: lp:libcpuinfo has language bindings now09:08
lifelessfullermd: you might like to let us know if it builds still on BSD :P09:09
fullermdlifeless: In a quick test, autoreconf gets all uppity about AC_PROG_SWIG and AC_PYTHON_DEVEL and bails.  Don't have time to look more closely right now.09:15
pfctdayelisehi... is there a way to do a 'bzr branch' to an existing directory?09:29
mwhudson--use-existing-dir09:30
pfctdayelisebzr: ERROR: no such option: --use-existing-dir09:32
fullermdDon't think that'll be released 'till 1.17.09:32
fullermd(I think it's in 1.17, but I'm not actually sure)09:32
pfctdayelisehm, push has such an option09:33
fullermdYeah, push has had it for ages.  branch just hasn't until very recently (like, last week recently, I think)09:33
pfctdayelisehm09:34
pfctdayelisei think i have version 1.5. 1.17 is the latest?09:35
lifelessfullermd: it needs autoconf-archive09:36
fullermdNot yet, no.  1.17 won't actually be released until late this week or early next, I believe is the plan.09:36
lifelessfullermd: and swig - both are doc'd in INSTALL.txt09:36
fullermd1.16.1 is the current release.09:36
fullermdlifeless: Hm.  I thought I had swig installed...   maybe I didn't put it on this machine.09:36
lifelessits the autoconf-archive i bet though09:37
pfctdayelisegah. so I pretty much have no choice but to upgrade?09:38
pfctdayeliseor if i move my existing dir, let bzr create it, and then move the other things back, might that work?09:38
fullermdWell, you always have choices   :)09:38
fullermdWell...   what's the use-case for having a dir with stuff already in it, and THEN branching?  --use-existing-dir is more aimed at existing _empty_ dirs, I tend to think...09:39
spivpfctdayelise: what fullermd said... this sounds like a weird thing to want.09:40
pfctdayelisewell I don't even know if I really want to branch, is the case any different with checkout? I just want to get a copy of the code, not necessarily develop on it09:40
lifelessyou could just bzr branch <src> newdir09:41
lifelessmv newdir/.bzr ./09:41
lifelessbzr revert09:41
lifelessrm -rf newdir09:41
fullermdLeaving aside the existing dir/files bit, it's probably something like 6 of one, half a dozen of the other, whether you branch or co there, at least in isolation.09:42
spivEither way, why do you want to get a copy of the code into an existing, non-empty directory?  Generally you'd do "bzr co URL somedir". (or "bzr branch ...")09:42
pfctdayeliseI am working on a web app, and i didn't put the framework into my bzr source control09:42
pfctdayeliseso i work on it on my home machine, pushed to lp, now trying to get a copy on my web host server09:42
pfctdayeliseis it such a weird set up?09:43
pfctdayeliselifeless: i might try that :) ta09:43
spivWhat makes it weird I guess is that it mixes unversioned and versioned data.09:43
fullermdIf all the framework files are in their own dir, it's probably easier to "bzr branch lp:foo newdir ; cd newdir ; mv ../framework/dir ./framework" or the like.09:44
pfctdayelisehm, well the "unversioned" data is probably controlled by its own svn co09:44
lifelesspfctdayelise: for publishing it I recommend 'bzr upload'09:44
lifelesspfctdayelise: its designed for deploying web sites09:44
spivThe use case you just described doesn't sound weird, the part where it's apparently necessary for you to mix the bzr working tree with an existing tree of files still sounds weird to me :)09:44
fullermd(lifeless's solution would probable be simpler if there were a ton of files scattered all over the place.  But if there are existing dirs shared, be prepared for that to cause conflicts in the revert too)09:44
pfctdayeliselifeless: bzr: ERROR: No help could be found for 'upload'.09:45
lifelesspfctdayelise: its a plugin - bzr-upload09:45
spivpfctdayelise: https://launchpad.net/bzr-upload09:45
lifelessciao09:45
spivlifeless: g'night09:45
pfctdayelisehm... looks interesting09:46
pfctdayeliseso I install this on my 'dumb server'?09:47
svqyqbhttp://tinyurl.com/nkypfa09:47
spivpfctdayelise: no, on the client, I believe.09:47
pfctdayelisespiv: as in, my web host? because surely I can't install it at LP. I can install it at my web host or my personal (dev) machine.09:48
fullermdpfctdayelise: The idea with upload is that you install it on your personal machine, and it takes care up uploading the files to the web host.09:49
pfctdayeliseah ok09:49
spivpfctdayelise: the README might help: http://bazaar.launchpad.net/~bzr-upload-devs/bzr-upload/trunk/annotate/head%3A/README09:49
fullermd(just the working files, not VCS data like you'd copy up with 'push')09:49
pfctdayeliseright09:49
pfctdayelisewow, this is perfect. thanks everyone09:51
pfctdayeliseand i just went to the hassle of installing bzr on my web host. oh well, I am sure I'll use it another time :)09:51
spiv:)09:52
GungaDinThe bzr problem I had earlier also happens in an Ubuntu guest os.11:25
Keybukso, how do I use "bzr join" ?12:51
Keybukevery invocation I try produces errors12:51
LarstiQKeybuk: bzr branch foo somebranch/subdir; bzr join somebranch/subdir ?12:57
KeybukLarstiQ: "Cannot join somebranch/subdir.  Trees have the same root"12:57
LarstiQKeybuk: aha.12:57
LarstiQKeybuk: those branches were created before a rich-root format then. I don't know what the correct way to make their tree roots unique is.12:58
* LarstiQ knows how to do it with bzrlib, but that might be breaky12:58
Keybukcan I not just use "merge" ?12:58
Keybukno, apparently not due to file conflicts :-/12:59
LarstiQKeybuk: pfoe, you could try that, if you `bzr init --something-rich-root ../newroot; bzr merge -r 0..-1 ../newroot`13:00
LarstiQKeybuk: oh merge the two branches?13:00
LarstiQKeybuk: yeah, you can do that, if you say in the the subdir branch move everything to be under subdir/ first13:00
LarstiQprovided they have a common ancestor13:01
LarstiQwhich is sort of disjoint with the usecase for `bzr join`13:01
KeybukI can just merge -r 0..-1 if they don't, right?13:02
LarstiQKeybuk: yes13:05
Keybukcool13:07
KeybukI think have a branch that works ;)13:07
LarstiQgood :)13:08
LarstiQKeybuk: I hear jml say that you've done some wicked things to test upstart, is there a writeup available about that, or should I look at the source?13:09
KeybukI've done the odd talk about it13:09
Keybukbasically it's a set of C pre-processor macros that expand to common test constructs13:10
Keybukand let me do things like "run a block of code, count the malloc() invocations, then loop over it that many more times failing each malloc() in turn"13:10
Keybukas well as all the usual things like "TEST_EQ" and stuff13:10
LarstiQmaybe I'm just not good enough in C macros to see how to do some of that :)13:15
spivLarstiQ: e.g. http://bazaar.launchpad.net/~scott/libnih/trunk/annotate/head%3A/nih/test_alloc.h13:21
=== kiko-afk is now known as kiko
=== ja1 is now known as jam
ElleoHi; is there anyway to completely remove a file from a bzr pack? We had a rather large file in our repository that has since been deleted; but we'd like to remove it completely14:29
Elleootherwise our repository is about 50mb instead of 5 and makes branching a somewhat slow and bandwidth heavy operation14:30
vilaElleo: You can't. But even if you could, that would mean fixing all existing branches (that's what distribution is about, everybody has its own copy of the history)14:34
vilaElleo: May you want to look at stacked branches ?14:34
Elleowell we pretty much one have the one main branch at the moment (just shifted over from svn)14:35
Elleos/one/just/14:36
vilaElleo: yet you want to keep the history ?14:36
Elleoyeah14:37
vilaElleo: the history includes that large file....14:37
Elleoyes and unfortunately it was commited right near the beginning of the project; sot here's a lot of commits after it14:39
Elleooh well, we can work around it; it's just annoying14:40
vilaElleo: You may try looking at fast-import to re-create an history starting after the file has been deleted... I think recent versions allows that kind of thing (or it's planned, I don't know exactly, I' don't use it myself)14:41
vilaElleo: Another way is stacked branches and/or shared repositories so that you don't pay for the bandwidth each time14:41
Elleoright, I'll take a look; thanks14:42
jamping jml, abentley14:43
jammorning vila14:43
vilahey jam !14:43
abentleyjam: pong14:43
jamabentley: I just noticed that +activereviews doesn't seem to include Approved merge proposals anymore14:44
jamWhere am I supposed to go to see what is ready for me to land?14:44
jamto be explicit, this page: https://code.edge.launchpad.net/bzr/+activereviews14:44
jamis no longer showing this merge request14:44
jamhttps://code.edge.launchpad.net/~jameinel/bzr/1.18-switch-branch/+merge/846914:44
jamAnd I'm not sure what other proposals I have Approved14:45
jamso that I can make sure to land them all14:45
abentleyjam: I'm not sure it ever did.  Marking them approved gets them out of the review queue.14:45
jamabentley: I'm sure I used to use it for that14:45
jambut regardless, it is something I need14:45
jamis it just not available?14:46
abentleyjam: are you sure you don't mean the requested reviews?14:46
jam(it may just have been people marking the review as approved, but not the merge)14:46
abentleyjam: https://edge.launchpad.net/~bzr-core/+requestedreviews for example14:46
jamabentley: well, I've never gone to +requestedreviews before :)14:47
jamanyway, it is possible that I used to see things that were "review approve" and *not* "merge approve"14:47
jambut regardless14:47
jamhow can I find a list of things that have been submitted for review14:47
jamand have been approved14:47
jamso that I can go land them14:48
jamI see this: https://code.edge.launchpad.net/~jameinel/+approvedmerges14:48
jamfor just me14:48
jamis there something for all bzr requests?14:48
jamI guess this: https://code.edge.launchpad.net/bzr/+approvedmerges14:48
jamthough it seems to fit with the "these are reviews that need to be done, and these are reviews that are approved and need to land"14:49
jamI'm not sure why it has to be 2 pages14:49
abentleyjam: I don't think there's anything that directly provides what you're asking for.  I've asked for similar things, too.14:49
abentleyjam: I think "merges I need to work on" and "merges I should land" should also be included on that page.14:52
jamsure14:52
jamis there a bug for it?14:52
abentleyjam: dunno.14:52
jamk14:52
jamI'll look into it14:52
JNRoweHi guys, is there any way to figure out why my clone times are so slow.  I've tried wget'ing a dirstate file to test the network speed and I'm getting ~30k/s, but for a bzr get I appear to be averaging ~6k/s15:10
jamsidnei: ping (are you using kerguelen ?)15:23
sidneijam: not ATM15:26
jamsidnei: k, I went to log in, and there are already 2 connections15:27
jamATM they both seem to be Administrator15:28
jamand one had the buildbot stuff in a terminal and vim15:28
jamsidnei: do you always log off when you are done?15:28
sidneijam: last i logged in was more than a week ago15:28
jamk15:29
sidneijam: yes, unless the connection died at the time, i can't remember15:29
jamsidnei: so at some point, I'll need you to walk me through how to actually build things with the new layout :)15:29
jamfor now, I'll do 1.17rc1 with the old way15:29
sidneijam: ok. i saw ian's comment about adding some documentation15:30
jamsidnei: I'm a bit surprised he landed it without stuff like fixing the PYTHON26 issue...15:31
sidneijam: but basically 'make installer-all' from the top-level15:32
sidneijam: is it landed already? too bad then :( i will make a follow up branch with docs and fixing that15:33
jamsidnei: it is in bzr.dev15:33
jamIt isn't in 1.17 AFAICT15:33
jamsidnei: I also wonder if we should build a newer svn, I think there is a 1.6 out somewhere15:34
jamlooking forward to a patch :)15:34
sidneijam: running 'make installer-all' from bzr.dev would work fine, it will checkout the version specified and build that, it doesn't build the current directory. in fact, i was thinking if all of this should be moved out of the tree and be managed separatedly.15:36
jamsidnei: potentially, but we still have to update lots of versions since you targeted 1.15 with your original buildout.cfg15:36
sidneijam: thats how we do it for the Plone installers, since you usually have to make changes to the scripts that generate an installer after the final release is made.15:36
jamsidnei: sure. A goal of mine would be to have the change made in the rc1 release, and then *not* have to change it again for the final :)15:37
sidneijam: thats a nice goal yeah. so if you build the installer the normal way, just let me know the versions you used (or I could look at the versions in kerguelen myself) and i will update to use those15:38
jamsidnei: I'll try to submit the change to build_release.py back to bzr.dev as well15:40
sidneijam: awesome!15:40
jamsidnei: right now I'm working with: http://paste.ubuntu.com/217999/15:42
jamI'll update you if that has any problems15:42
sidneijam: thank you15:44
jamI don't know that bzr-svn 0.6.3-win32-1 is officially in bzr-svn source, I had to do it manually as a workaround for a bug15:44
jamit was the follow up bug to bug #38481315:46
ubottuLaunchpad bug 384813 in bzr-svn "bzr-1.15-1 Windows standalone claims " Unable to look up default port for ssh" for sftp connections" [High,Fix released] https://launchpad.net/bugs/38481315:46
jamjelmer had fixed it in a way that broke in a different way15:46
=== kiko is now known as kiko-fud
jamsidnei: the installer is failing right now anyway15:56
jamWe moved a script15:56
jamand then tried to make it work by updating an env variable15:56
jambut that variable is different on windows...15:56
jamPYTHONPATH=.:$PYTHONPATH15:56
jamversus15:56
jamPYTHONPATH=.;$PYTHONPATH15:56
jam(semicolon versus colon)15:56
jamanyway, I'll need to do something to get it working15:56
jamI'll let you know15:56
sidneijam: ok16:00
jamsidnei: lp:~jameinel/bzr/1.17-build-updates16:01
jamwasn't terribly tricky (yet) :)16:01
=== kiko-fud is now known as kiko
kenichihi, can one "switch" a branch?  it would seem, no...17:40
kenichias i understand it, one just needs to create a new branch from the new desired parent.  is that correct?17:47
Takyou mean "switch" in the git sense, or in the svn sense?17:48
kenichibzr has a switch command too, but it's only for COs.17:48
kenichii suppose i mean in that sense, which is analogous to the svn sense.17:49
Takyeah - it doesn't really make sense to switch unbound branches, because you can push to or pull/merge from anywhere you want17:50
kenichithat's what i thought, thanks for the confirmation though :)17:52
SamBokay, what does bundle buggy key off of to notice merge directives?18:26
vilaSamB: Use lp merge proposals instead :D18:28
RenatoSilvabug 399398, bug 39939218:28
ubottuLaunchpad bug 399398 in launchpad "Diff highlighting in mail body" [Undecided,New] https://launchpad.net/bugs/39939818:28
ubottuLaunchpad bug 399392 in bzr-email "HTML Support" [Undecided,New] https://launchpad.net/bugs/39939218:28
SamBvila: what's the command for that? ;-)18:29
vilaSamB: bzr lp-open18:29
vilaSamB: and then clicety-click18:29
* SamB supposes this will involve creating a silly branch18:30
vilaSamB: If it's worth merging, it's not silly18:30
SamBwell, it just seems kind of silly since I probably won't use it ever again ...18:31
mgedmincan I view two closely-related branches at once with bzr vis?18:31
mgedminapparently I can, awesome!18:31
vilaSamB: no problem, it will be stacked by default so very small18:31
mgedminuh, oh, no I can't, internal error blah blah blah: KeyError: 'svn-v4:866e43f7-fbfc-0310-8f2a-ec88d1da2979:trunk/Pyflakes:17692'18:32
vilaSamB: But, yes, you may want to use a unique name (we tend to prefix with the bug number a lot :)18:32
mgedminbummer18:32
vilamgedmin: sounds like a ghost problem, file a bug, in the mean time, try with qlog too18:32
SamBvila: there is no bug number18:33
SamBit's just a rewrite of a 2 line comment18:33
vilaSamB: file one first ;-D18:33
* SamB decides to just use the date18:36
* mgedmin reports https://bugs.launchpad.net/ubuntu/+source/bzr-gtk/+bug/39940518:37
ubottuError: This bug is private18:37
vilamgedmin: do you really need to make it private ?18:38
vilamgedmin: you are seriously limiting the number of people who can fix it....18:38
SamBvila: why did lp-open put me on edge?18:38
mgedminit wasn't me, honest! it was apport! I didn't know :)18:38
vilamgedmin: :)18:39
* mgedmin made it public as soon as ubbotu told him about the privateness thing18:39
vilaSamB: because you can :)18:39
SamBbecause I can *what*?18:39
vilago on edge, can't you ?18:39
SamBcan some people not?18:39
vilaonly lp-beta-testers can !18:40
SamB... how did I get to be one of those ?18:40
vilaSamB: ok, you lost me here, why did you ask in the first place ? :-D18:40
vilaAIUI, if you're not a beta tester, edge.lp.net should redirect you to lp.net, so you shouldn't even know edge exist18:42
SamBwell, maybe I am18:42
SamBbut I don't know how I became one!18:42
mgedminok, thanks for the moral support, and bye!18:42
vilaSamB: what is you lp ID ?18:42
SamBnaesten18:42
vilaRight, so you're not part https://edge.launchpad.net/~launchpad-beta-testers18:44
vilabut if you click on the link above, where do you end up ?18:44
SamBhttps://edge.launchpad.net/~launchpad-beta-testers18:46
SamBand it says "This site is running pre-release code. Please report all bugs."18:46
vilaMeh18:47
* SamB suspects that vila may have gotten confused about which way the redirection goes18:47
vilaOh ! Yes, in the little grey bar, gee, I'm so used to it I don't see it anymore18:47
vilaAnyway, may be things have changed...18:48
SamBwhere do you end up if you go to https://launchpad.net/~launchpad-beta-testers ?18:48
vilaBut I recently discussed lp-open and the edge/lp.net thing with jml (the lp-open author) so you may want to check with him18:48
vilahttps://edge.launchpad.net/~launchpad-beta-testers18:49
SamBah, see, you get ridirected vanilla->edge18:49
vilaand that's expected18:49
SamBI don't get redirected at all18:49
vilaThat's not expected :)18:49
SamBwhy not?18:49
SamBit doesn't say anything about the other direction on that page!18:50
vilaAnd if you delete the edge in the url ?18:50
SamBjml: so ... why doesn't lp-open send you to vanilla?18:50
SamBvila: I still don't get redirected18:50
SamBI land on vanilla18:50
SamBno dark grey bar, no request to report all bugs18:51
vilajml told me that the redirection was fixed to avoid very bad errors for people pointed to edge... May be that was fixed and the redirection cancelled, in that case jml may have to revisit his heuristic...18:51
=== AnMaster is now known as AnMaster_ipv6
=== kiko is now known as kiko-afk
=== cody-somerville_ is now known as cody-somerville
lifelessmoin22:15
kfogelhuh, why does bzr merge say "Contents conflict..." for some files and "Text conflict..." for others?22:30
mwhudsonthey're different kinds of conflict22:32
mwhudsonthough i admit, i never remember what a content conflict is22:32
mwhudsonkfogel: 'bzr help conflicts'22:32
mwhudsoncontent conflict == conflict in a file bzr doesn't think is text22:33
kfogelmwhudson: thanks22:33
=== _thumper_ is now known as thumper
jmlpoolie, we still good for squash tomorrow?23:11
pooliejml, hi, yes we are, at 523:26
jmlcool, thanks.23:27
garyvdmHi all23:30
pooliehello gary23:31
* poolie reads the build-updates patch23:46
pooliejml, did you see https://code.edge.launchpad.net/~jameinel/bzr/1.17-build-updates/+merge/875323:46
poolieit wants to merge to 1.1723:47
jmlpoolie, no, I didn't.23:47
pooliejust making you aware; you don't have to read it23:47
jmlpoolie, ok. thanks.23:47

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