/srv/irclogs.ubuntu.com/2009/09/03/#bzr.txt

lifelessjam: 110G and growing, 13K to go00:14
hoserIs anyone familiar with bzr.webdav?00:20
pooliehoser: not very, but if you have a question go ahead and ask00:26
hoserHmm.. well.. at the moment I'm using svn for a lot of projects, and would like to switch to bzr. I've been looking at the webdav plugin but if I'm right, it's basically for the client side, and there's nothing but pure dav on the server side. With svn there are apache modules mod_dav_svn and mod_authz_svn. I'm just wondering if similar things exist somewhere00:28
hoserso that on the server you can implement read/write controls, allow different usernames to access different projects, etc00:29
=== jkakar_ is now known as jkakar
lifelesswe have a wsgi server00:36
lifelessand you can do some policy stuff there' for auth we depend on apache00:37
lifelessnote that with a distributed vcs like bzr policy and access concerns are rather different00:37
lifelessrather than one repository with N different permissions and groups00:37
lifelessits easier to adminster N repositories, each for one user-or-group00:37
hoseryes, but I imagine most projects still have a central authoritative branch00:38
lifelesssure00:38
hoserwhich is all I'm concerned about00:39
lifelessthe N repositories can be on the same server - apache has all tjhe facilies needed to do that with either wsgi or webdav00:39
lifeless[wsgi is a lot faster at push and pull than webdav]00:39
hoserSo you recommend looking into wsgi, then00:40
lifelessyu00:40
lifelessyup00:40
lifelessits in our docs too00:40
hoserOK, will do. The key things that are currently motivating switching vcs are: renaming as a known operation, easy branch and merge, offline commits. So if I can sort out the server side I'll be very happy00:42
lifelesscool00:43
hoserThanks for your help00:43
lifelesshave a read of the docs and if they are unclear or you need inspiration / support just give us a yell00:43
spivlifeless: want to review https://code.edge.launchpad.net/~spiv/bzr/insert-stream-check-chk-root/+merge/11033 ?01:02
lifelesssure01:03
lifelessspiv: you could look at my adjacent streams patch if you like01:10
spivOk.01:10
lifelessspiv: its not up for review as such, just look at the tip commit01:10
spivlifeless: that looks reasonable.01:17
lifelessspiv: ok, I might land that now, to avoid noise in the other patch01:18
lifelessok?01:18
spivlifeless: Hmm.  One comment: it's not clear from the method names/docstrings what the interface to that class is.01:19
spivi.e. that you should call .record_stream rather than .iter_something...01:20
lifelessspiv: I could make them private, but its a private class01:21
spivA brief comment in the class docstring, or renaming the other methods to have leading _, or something along those lines would be good.  It will make understanding the class easier to make it clear what the entry point is.01:21
lifelessit kind of wants to be several classes01:21
lifelessone that does the lookahead handling and grouping01:22
lifelessand one that turns stuff into NetworkRecordStreams01:22
spivRight, because of the relatively complex state it holds.01:22
lifelessand handwave01:22
lifelessotoh this is clearer I think than the previous code01:22
lifelessfor all that it does more01:22
spivWell, with the other code the "now what is the first method that calls the rest" was easy to answer because of the nesting of the functions :)01:23
lifelessI'll tinker a little. I don't feel much need to polish though: this was the only known defect in this area, and we knew that when we wrote it.01:23
spivJust put "Expected usage: decoder = _ByteStreamDecoder(...); stream = decoder.record_stream()" in the class docstring if you like, that'd be enough to satisfy me.01:24
lifelesssure01:24
=== thumper is now known as thumper-afk
lifelessgrabbing foodstuffs01:46
lifelessspiv: why do you change pack_repo to know about chk_bytes?02:13
spivlifeless: because it was convenient ;)02:16
spivlifeless: I was thinking of pushing that into groupcompress_repo, though.02:16
spivNow that I've made a separate method that GCPackCollection could override.02:16
lifelessI suggested that02:17
lifelessbut there is another implication02:17
lifelesswe either are missing the check for inventories on packs02:17
lifelessor there is duplication amongst things withthis broad goal02:17
lifelessI ask that you look for which of those in your future work02:17
spivI *think* the former, at least partly.02:17
spivBecause of the existing 'get missing parent inventories' checks that happen in streaming fetch (but perhaps not all fetch code paths?)02:18
lifelessthrow a stream with only a revision in it at a repo; see what happens :)02:18
lifeless10K to go02:35
twbYou guys change your repo format a lot, right?02:51
lifelesssome people think so02:51
twbWhat's the end-user workflow for updating the current repo's format?02:51
lifelesswe're about to make our first change to the default since nov 200702:52
lifelesstwb: 'bzr upgrade'02:52
twbOK, thanks.02:52
lifelessthere is a guide with docs02:52
lifelessbut that should be the heart of it :)02:52
twb(I work on Darcs, and we're adding in-place upgrading of the repo format.  I want to avoid unnecessary differences with other VCS' CLIs.)02:53
lifelesscool02:53
lifelesswhat have you improved in the repo format?02:53
twbSeveral years ago we hashed the files in the "pristine" directory, which is an unmodified copy of the working tree.  We also changed the semantics of patch application, e.g. two identical changes no longer conflict.02:54
twbHistorically upgrades have been done by making a copy of the repo, but people want to be able to make the change in-place.02:55
lifelessyeah02:55
lifelessits convenient, particularly for developers on C/C++ projects02:55
twbWhy?  Because they have huge codebases?02:55
lifelessbecause their build products are expensive02:55
twb(I mean: why C/C++ especially)02:55
twbYou mean their compilation process is really slow?02:56
lifelessyes02:56
twbYeah, I can see that.02:56
spivright, they want to be able to recycle .o files etc if at all possible.02:56
twbdistcc :-)02:56
lifeless9.8K revisions to go.02:57
lifelesshg fast-export. Slowness. cry.02:57
lifelessmind you, I have a 117G fast import to test out next02:57
twbAt least it works :-/02:57
lifelessdarcs doesn't?02:57
twbdarcs fast-import of a git repo was busted on a mkdir -p-type operation, last time I checked.02:58
lifeless[darcs fast export I mean]02:58
twbIIRC darcs fast-export gets more love, because most people want to leave darcs, not join it :-)02:58
twbBecause you start out with a small project that Darcs works well for, and you end up with a big project that Darcs is too slow for.02:58
lifelessyeah we had that problem02:58
lifelesstook about 18 months to properly solve it02:59
twbBut also I use hg at work and it is super annoying.02:59
lifelessstill don't have as lovable patch workflow as darcs does02:59
AfCI have a bzr-svn created branch of GTK. It took about 2 days to make. Blogged about it back then, maintained it publicly. It even caused Jc2k to take an interest and set up bzr mirrors etc.03:11
AfCMeanwhile, GNOME (abetted by the very same Jc2k, traitor) switched to Git. Idiots. But I am now wondering: how to I talk to it?03:11
AfCCan I somehow leverage the existing bzr-svn created revisions? Or do I use some bzr-git plugin (which launchpad claims to use, not sure if I believe it).03:12
AfCShould I use git natively to clone & transfer their repo down, and then use something local disk to convert to bzr?03:12
lifelessyou can use bzr-git03:15
lifelesssame author as bzr-svn :)03:15
lifelessand yes, lp uses bzr-git03:15
lifelessno, you can't use the existing bzr-svn import of gtk, because there isn't a guaranteed correspondence with what they imported to git03:15
pooliespm, lifeless, how about we try the conversion/switchover again now?03:17
poolie(or after lunch)03:18
spmpoolie: I can kick off the check now, but am also debugging an LS issue -so somewhat distracted; but should be cool.03:18
lifelessI'd rather not have you distracted :)03:19
lifelessI think we should do it03:19
lifelesswhen do you think you'll be ours, body n soul?03:19
spmlifeless: hrmmm. say 2-3 weeks? we can schedule something in then? :-P03:20
* lifeless wedges 3pm into spm's schedule03:20
lifeless(earlier would be better..)03:20
spmseriously tho - I'll rebuild a new bzr from trunk. kick off the make check - and go from there? after lunch basically.03:21
lifelessspm: make sure you have rev 4666 or newer03:21
AfClifeless: ok, so I guess I'll throw away the bzr-svn branches. That's mostly what I wanted to know.03:21
lifelessAfC: yup03:21
spmlifeless: actually 3pm is a horrible time - I can send Dee off alone; but that's usually when I leg stretch by fetching the boy back from school03:21
AfCbzr-git is bundled now, right03:21
AfCer, is anything bundled now?03:22
lifelessthe windows installer bundles a bunch03:23
lifelesswe haven't progressed on bundling elsewhere03:23
AfCI thought we were going to batteries included everything useful. Hm.03:24
lifelessETIME03:31
poolieetime?03:33
poolieafc, igc is working on bundling some more stuff on windows03:33
pooliewe're not going to block 2.0 on bundling more things03:33
AfCpoolie: ah03:34
pooliewe may do that after 2.0 actually freezes though=03:34
pooliethat will make it easier to change the packaging03:34
AfCpoolie: well, I'm glad to hear Canonical employees are spending time on making Linux better.03:34
pooliespm, lifeless, how about just after you get back from trawling the playgrounds? :)03:35
spmpoolie: rob trawls playgrounds!??!!?03:35
poolieno, only you03:35
spmdamn. so much for an unsubtle attempt at sliding out of that one ;-)03:36
fullermd...  I knew we were going for a friendly VCS and all, but I didn't know we were aiming at _friendly_...03:36
pooliebut seriously03:36
poolieping us then?03:36
spmpoolie: will do03:37
=== thumper-afk is now known as thumper
spmlifeless: bzr revno 4667 from dev is built/live and working03:46
lifelessjml: poolie: Want to lunch tomorrow; talk LP bug handling & the like?03:46
lifelesspoolie: I has book for you03:46
spmpoolie: if you're ok with it; I'll stop bzr pqm now; and start a make check on the tree with the 4667 revno I just built03:46
spm(and a new backup -> assumed)03:46
lifelessspm: doit03:46
spm'kk03:47
spm...../bzr check in progress03:49
=== abentley1 is now known as abentley
* spm afk for lunch03:49
jamlifeless: this line doesn't look right to me:03:56
jam+        for record in self.iter_pack_records:03:56
jamsince I can't find 'iter_pack_records' and if I did find it, I would expect it to be a callable iter_pack_records():03:56
lifelessjam: its assigned to self03:57
lifelessits a generator we keep using03:58
lifelesslook at seed_state()03:58
lifelessjam: I got your call; thanks! where is your current branch?03:58
jamlp:///~jameinel/bzr/2.1b1-pack-on-the-fly03:59
pooliespm, that's great04:01
poolielifeless: that's ok04:01
pooliei mean lunch tomorrow is ok04:01
lifelessgreat04:01
jamlifeless: yeah, I called poolie because you didn't answer your phone :)04:01
lifelessjam: was in the other room - sorry04:02
lifelessand at max ring volume its stupidly quiet04:02
jamnot a big deal, it got through to you04:02
lifeless125087/13378004:02
lifelessnearly there04:02
lifeless119G04:02
AfCJelmer's dulwich page http://samba.org/~jelmer/dulwich/ claims a GPG signature for 0.3.3 but the .asc there is not being groked by by `gpg`. Nor by `file`.04:03
AfCIt is certainly not ASCII, whatever it is04:03
lifelessfile dulwich-0.3.2.tar.gz.asc04:04
lifelessdulwich-0.3.2.tar.gz.asc: PGP signature04:04
AfCum04:04
AfCoh, weird. Epiphany has saved a gzip of it. Is that a transfer-compression miss-thing04:05
lifelessyes04:05
lifelessalso note that his link is to 3.204:05
lifelessgpg dulwich-0.3.3.tar.gz.asc04:06
lifelessgpg: Signature made Fri 24 Jul 2009 04:29:25 EST using RSA key ID D729A45704:06
lifelesswget -S http://samba.org/~jelmer/dulwich/dulwich-0.3.3.tar.gz.asc04:06
AfCah, that's also not helping04:06
lifeless  Content-Type: text/plain04:06
AfCjelmer: ping? You've got a copy & paste bug04:06
AfCMeanwhile, /me uses trusty wget04:06
lifelessI'd need a network trace to say. Could be either server misconfig or epiphany damage.04:07
AfCok, good signature now, thanks04:07
AfClifeless: I think it's probably Epiphany trying to be too clever04:08
lifelesspossibly04:08
AfClifeless: jelmer's c&p bug didn't help either. Nothing like multiple simultaneous unrelated problems.04:08
lifelessequally possibvly is the server claiming content encoding04:08
AfCserver claimed "Vary: Accept-Encoding" ... I wonder if that faked out Epiphany's "Download..."04:09
AfCsomething for another time. Thanks Robert04:09
lifelessyeah, it means that it will give wget and epiphany different answers :)04:10
lifelessI bet there was a content encoding on the response you got, and the interaction fails04:10
* AfC grumbles ... Galeon did such things correctly. I need to go bitch at someone, I think04:13
lifelessdebug first04:13
lifeless:)04:13
lifelessget the right culprit04:13
AfCYou kidding? Random drive-by bitching is much more fun. Especially when innocent bystanders get caught in the cross-fire.04:15
fullermdInnocent?  They're on the internet.04:15
AfCI lost my innocence long before the internet.04:16
AfCOh, I hate my life04:17
AfCbzr: ERROR: exceptions.TypeError: open_workingtree() got an unexpected keyword argument 'recommend_upgrade'04:17
AfCafter 2 hours of work trying to get bzr-git to work.04:18
pooliehm, probably a mismatched version of the plugin04:18
AfCpoolie: yeah, I'd branched trunk. I'm gonna try branching from the newest sounding release tag04:19
pooliei don't *think* we changed that recently though04:19
AfCI just packaged released dulwich, so I guess I'll use released bzr-git to go with it04:20
AfCBah. No, that didn't help04:21
AfCSo, I'm trying04:21
AfC$ bzr info git://git.gnome.org/gtk+04:21
AfCprepatory to trying04:22
pooliespiv, tell me about bug 406687?04:22
ubottuLaunchpad bug 406687 in bzr "insert_stream doesn't check references are satisfied" [Critical,In progress] https://launchpad.net/bugs/40668704:22
AfC$ bzr info ssh://afcowie@git.gnome.org/git/gtk+/04:22
pooliegit+ssh:// maybe?04:22
AfC[though I guess that's optional, I'm not pushing at the moment, just like to have r+w since I do]04:22
AfCpoolie: probably - but git:// needs to work first04:23
TaldenDoes anyone know if bzr-svn should support local access (file:///...) to Subversion 1.6 repositories?  I get a 'not a branch' exception suggesting no.04:23
AfCpoolie: c.f. http://www.gtk.org/download.html04:23
fullermdI thought bzr-git only got along with local access.04:23
fullermdOr maybe I'm thinking of bzr-hg.04:23
poolieafc, and what happens? just that typeerror?04:23
AfCyes04:23
pooliefullermd: i think there is at least some remote support now04:23
AfCpoolie: ^04:23
spivpoolie: the partial fix (ensure revisions have corresponding inventories present, and that those inventories + any parent inventories have chk root entries present) is with PQM (although I think PQM is paused for the 2a migration?).04:23
poolieah it may be04:24
AfC[off topic, but:04:24
AfC$ bzr info ssh://afcowie@git.gnome.org/git/gtk+/04:24
AfCgives04:24
poolieand the next step is to check that the whole inventory closure is there?04:24
spivpoolie: the more comprehensive fix is underway, I think I have working code for checking all necessary chk records are present, but I want to write some tests now to prove that :)04:24
AfCbzr: ERROR: Unsupported protocol for url "ssh://afcowie@git.gnome.org/git/gtk+/": bzr supports bzr+ssh to operate over ssh, use "bzr+ssh://afcowie@git.gnome.org/git/gtk+/".04:24
AfCwhich would be WRONG :)]04:24
pooliehow about opening a new bug for that larger fix?04:25
poolieafc, right, i guess you really mean 'dwim over ssh'04:25
lifelesspoolie: well I filed this bug for the larger fix04:25
spivpoolie: and then having found all relevant chk pages, then extract the relevant text versions from that and check they are present too.04:25
AfCbut keep in mind Linus's avowed hatred of git+ssh:// so most of the time people will be using ssh://04:25
AfCpoolie: yeah04:25
pooliethough that's actually a bit hard to implement04:25
lifelesspoolie: we never did get to talking about this yesterday.04:25
AfCpoolie: I think bzr should dwim too04:25
AfC:)04:25
AfCpoolie: ie s/bzr+ssh/ssh/04:25
AfCbut anyway04:26
spivAs lifeless says the existing bug is for the larger fix, although that is a bit inconvenient because it limits how much tracking we can do in LP.04:26
AfCyeah,04:26
AfC$ bzr info git+ssh://afcowie@git.gnome.org/git/gtk+/04:26
spivAlthough filing a smaller bug now and immediately marking it fix committed feels like cheating :)04:26
AfCgives the bzr: ERROR: exceptions.TypeError: open_workingtree() got an unexpected keyword argument 'recommend_upgrade' crash04:26
lifelesspoolie: I contend that we should fix the larger issue now, without necessarily delaying 2.004:26
pooliethat's fine04:26
lifelesspoolie: because its defensive04:26
pooliei'm just asking or suggesting that there be one bug per incremental step04:27
poolieopinions may vary on whether this is clarity or overhead :)04:27
lifelessAfC: its bzr-git that you'd need to tweak/change not dulwich :)04:27
spivYeah, at least when one of those steps is targetted to a milestone and others aren't...04:27
lifelesspoolie: I think that when it helps us its clarity.04:27
AfClifeless: good to know. I had to package & install to system to use it, me not being a sophisticated pythonista04:27
poolieexactly04:28
AfClifeless: but meanwhile bzr-git is crashing, so I give up.04:28
AfCData point: git clone gtk+ took 25m17s04:28
lifelessAfC: at least file a bug on bzr-git. I bet you're pulling from some place jelmer has forgotten about04:28
poolieafc, please put the traceback in a bzr-igt bug04:28
lifelessAfC: what url did you get bzr-git from04:28
pooliespiv, so what did the news or merge for the branch you have sent say?04:29
AfClifeless: um... info says http://bazaar.launchpad.net/~bzr/bzr-git/trunk/ and history says ... lp:bzr-git04:29
poolie'partially fix ....'?04:29
AfClifeless, poolie: ok, will do later today.04:29
spivpoolie: right04:29
spiv+* Prevent some kinds of incomplete data from being committed to a 2a04:29
spiv+  repository, such as revisions without inventories or inventories without04:29
spiv+  chk_bytes root records.  Partially fixes #406687.04:29
spiv+  (Andrew Bennetts)04:29
pooliei guess the operational change i'm suggesting is to never say (in news, merges, proposals) "partially fix blah"04:29
pooliesplit it and then totally fix the split off bit04:30
poolieif you see what i mean04:30
spivYeah.04:30
lifelesspoolie: so, this may mean larger landings04:30
* SamB_XP wonders why you people are all green04:30
lifelessor more landings that do things without references to bugs.04:30
fullermdSamB_XP: It's not easy.04:31
SamB_XP*groan*04:31
spivI'm not sure if that will *always* fit well, but maybe I'm wrong.  I'm happy to try that out.04:31
SamB_XPI don't know what you mean04:31
lifelessAfC: and what revno do you have?04:31
spiv(I'm sure it will often work well, though)04:31
poolieas (i think) Orwell said, 'break any of these rules rather than doing something barbarous'04:32
lifelessI would like to understand the concern about what spiv did though04:32
AfClifeless: trunk 603. 0.4.1 whatever the tag said04:32
spivRight.  I think "make separate bugs rather than write 'partially fixes'" is a good default policy.04:32
spivWhat should I do about the landing that's in-flight?  Just let it be, I suppose.04:33
lifelessAfC: what does bzr help plugins show04:33
lifelessspiv: pqm is disabeld04:33
lifelesswe're upgrading to 2a04:33
SamB_XPhoooray!04:33
spivlifeless: right, which means the flight-time is going to be quite long :)04:33
fullermdGotta be a way to plug that into the VCS/airlines thing   :p04:34
lifelessAfC: it should list a directory that bzr-dif is being loaded from04:34
lifelessbzr-git, I mean04:34
lifelessI kindof think we should have one bug filed per thing a user reports04:35
poolielifeless: am i right in thinking you agreed with robert on what to do with recombining groups, bug 402652?04:35
ubottuLaunchpad bug 402652 in bzr "smart fetch for --2a does not opportunistically combine groups" [Critical,Fix committed] https://launchpad.net/bugs/40265204:35
AfClifeless: you meant `bzr plugins -v` I assume. It says 0.4.1, from the .bazaar/plugins symlink, which points to my 0.4.1 branch04:35
lifelessand not use the bug tracker as a proxy for merges; merges are merges.04:35
spmlifeless: poolie: the check came back with "found error:Internal check failed: revno does not match len(mainline) 1649 != 1674" istr vila suggested just running reconcile would fix same?04:35
pooliei think that's right04:35
spivpoolie: lifeless usually agrees with himself ;)04:35
* AfC thinks we should discuss bzr-git another time. I think you guys are doing something more important and I don't want to distract you04:36
poolieabout the check04:36
lifelessspm: run bzr reconcile in that dir; it will say it fixes the branch, then hit ctrl-c04:36
spmlifeless: oki04:36
lifelessAfC: yeah bug filing time04:36
poolielifeless: about whether issues are change requests or user issues or what; um, it's a very open question but i think in this case the balance is wrong04:37
lifelessspecifically, I don't see any tension between saying you're working towards a bug and landing some code04:37
pooliei'm not saying strictly 1:1 bug with changes04:37
poolieme either04:37
pooliehowever, he's done more than that here04:37
lifelessif its because you want to untarget the bug; I'd just untarget the bug. *My* intent when I filed it was that the larger fix is what we'd do for 2.004:37
poolieit's not04:37
lifelessok04:38
spivpoolie: I'm going to file a new bug for the smaller fix; link to it from the existing bug, and replace the 'partially fixes <old bug>' in that NEWS entry with the new bug.04:38
pooliei do think it's possible in principle that we could decide only part of the change was needed04:38
poolieand in that case having them separate would help04:38
pooliecool04:38
spivIn an ideal world, splitting (and joining) bugs would be an easy operation (and create no confusion).04:39
lifelessso, I think the confusion is that 'work' and 'requests' are different here. AFAICT its only the desire to be able to talk about the work later, to either show we did it, or to show someone that suffered it and wants to know if there is a fux, that drives the idea of assigning a new label04:41
poolielifeless: so, re bug 402652?04:42
ubottuLaunchpad bug 402652 in bzr "smart fetch for --2a does not opportunistically combine groups" [Critical,Fix committed] https://launchpad.net/bugs/40265204:42
lifelesspoolie: we're working on it04:42
SamB_XPlifeless: or show *what* you fixed04:42
poolielifeless: i basically agree; maybe i'm putting more value on those things than you do04:42
lifelessSamB_XP: the merge log does that04:42
spmlifeless: interesting. never said it was fixing. just did it's thing. "Reconciling branch file:///home/pqm/archives/thelove/bzr/0.8/ ;;revision_history ok.;; Reconciling repository file:///home/pqm/archives/thelove/bzr/ ;; Reconciliation complete"04:50
lifelessspm: well, goodo04:50
lifelessnext04:50
spmcheck again?04:50
lifelessyes04:51
lifelesswe cycle until check is clean04:51
spmwfm as a plan04:51
lifelessbut let us know when its not to think about how to handle04:51
lifelessthere are some things we might say 'meh' to04:51
lifelesscheck and reconcile are not ideal yet.04:51
spm'k will do04:52
spmie play it safe; anything unusual pls to be asking loudly kthx04:52
lifeless7.5K to go04:53
jmllifeless, lunch tomorrow sounds good.05:12
spmlifeless: poolie: check still going. the previous check fail has passed this time (post reconcile) so looking good05:30
RenatoSilvaI have a speific code that I think was introuced in some revision? Anything better than bzr log -p | grep -n 'code' to find the revision?05:31
lifelessbzr search some things from the code05:31
fullermdI'd find a rev that has it and use annotate, if the former is easy.05:34
RenatoSilvalifeless: how to make it search?05:35
lifelessRenatoSilva: via the bzr-search plugin, however it sounds like you don't have that, so log -p | grep is fine too05:36
RenatoSilvaok05:38
spmlifeless: poolie: that check has finished. no issues. https://pastebin.canonical.com/21777/  I'm about to be afkingfor the school run, so can continue when I get back?05:43
lifelessok05:44
lifelessbah 4 hours to go on this export. sheese05:47
fullermdAnd you're already a bunch of hours ahead of most of the world.05:49
lifelessfullermd: 121G of fast-export stream so far05:49
lifelessfullermd: from 1 .7G hg repo05:49
fullermdBetter your IO subsystem than mine.05:50
bob2your poor laptop05:52
fullermdSo, is this thing you're doing with spm now theoretically the Big Switch, or just testing in anticipation of?05:52
jmlI really want to read and summarize the test speed thread05:53
jmlsadly, I have other things to do05:53
lifelessbob2: this is on my i705:53
lifelessbob2: my laptop ould have run out of disk.05:54
lifelessfullermd: Biggus Switchus05:54
lifelessjml: heh. Trials n Tribunals.05:54
jmlyeah05:54
lifelessthere is a time to talk, and a time to do.05:54
lifelessjam: your branch has tests.06:01
lifelessjam: I'm not sure whats missing, looking at it06:01
jamlifeless: well, the fact that the test passes with "if len(factories) == 1" rather than "if manager.check_is_utilized()" is one of them06:15
jamso we don't have a test that insert_record_stream uses the right functionality06:15
jamanyway, /me => bed06:15
* vila waves at jam !06:17
fullermdBed?  The sun isn't even up yet!06:19
AfCI am SO pleased to read that poolie's "heart rate" is going up, and that he's getting "excited".06:21
spmpoolie: lifeless: shall we continue?06:32
lifelessAfC: ?06:40
lifelessspm: yes06:40
spmlifeless: cool. so next step: I assume is the bzr upgrade --2a ?06:41
AfClifeless: From: Martin Pool <mbp@canonical.com>  Message-ID: <e01316480909022053n78bb7eci7a98f981a5b77b97@mail.gmail.com> Subject: Re: metronome mail for Bazaar 2.0 and 1.1806:42
pooliespm, hi06:56
poolieafc, i can't tell if that was sarcasm or not06:57
spmpoolie: heyo, so dunno how much of the above you saw? but we're all ready to roll.06:57
AfCpoolie: it was humour, yes.06:57
poolieiow you're not pleased?06:57
pooliespm, i think i saw all of it, and the next step would be to do the upgrade06:58
poolieso let's do it!06:58
AfCpoolie: I thought it was funny. What comes next after "increasing excitement"? By the time you guys release, you're going to be talking about "orgasms", I'm sure.06:58
poolieok06:58
poolieit was meant to be a bit funny06:58
AfCthen good!06:59
spmpoolie: 'kk. I'll give you all 10 seconds to cross fingers, arms legs, then I hit enter. starting.... now.06:59
pooliea dryer way to say it is that when there's more release-related activity we should say more about it06:59
AfCpoolie: dry, yes. Interesting, no06:59
spmhahahahahaha. bzr: ERROR: File exists: u'/home/pqm/archives/thelove/bzr/backup.bzr/': [Errno 17] File exists: '/home/pqm/archives/thelove/bzr/backup.bzr/'07:00
AfCYou know the Bazaar hackers are working too hard when humorous replies to funny emails fall flat.07:00
pooliedrier*07:00
poolie:)07:00
AfCYou guys really need to teach bzr not to repeat itself.07:00
poolieno, just checking07:00
AfCyup07:00
pooliei think in a sense releases, or the process of releasing, should be boring07:00
poolieyou should get more satisfaction from improving things and then getting it out is just a natural consequence07:01
spmspeaking from an operational side, couldn't agree more - releases should be boring.07:01
AfCpoolie: "should be boring". That makes it official. You're now a corporate worker slave07:01
poolieit's like being excited about getting to a concert on time, not the performance itself07:01
=== tro|| is now known as tro
SamB_XP_the release should be exciting07:02
SamB_XP_... to the users who get to use all the cool new doodads07:03
pooliebtw that error, i agree it looks lame07:03
poolieit's actually python doing it, and the behaviour varies per python release07:04
poolieso while we could eliminate it, it's nontrivial to do it correctly07:04
poolieand make sure it's shown just once on all versions07:04
poolieit would make a good personal-pleasure bug07:04
lifelessspm: so bzr upgrade --2a in the root07:08
lifelessspm: and in each branch07:08
lifelesspoolie: are you doing escudero ?07:08
lifelesspoolie: or is spm, or its been forgotten ?07:08
spmerr. poss the latter.07:09
lifelessspm: there is a repo on escudero needs the same treatment07:09
lifelessspm: and we'll have to do the 1.17/1.18/2.0 branches on lp too07:09
spmlifeless: flip side, I have almost no access on esco itself - only via balleny07:09
lifelessok07:10
lifelessI'll ssh in07:10
spmrephrase - can login look around; but nothing special07:10
lifeless1.17, it'll do07:11
lifelessbzr check under way07:11
lifelessspm: now, for bzr.dev, we're going to change where it points at at the same time07:12
spmlifeless: oki07:13
igc1any windows users online right now?07:18
=== igc1 is now known as igc
pooliehi igc107:18
igchi poolie07:18
lifelesslamont: did you upload subunit to karmic this morning? If so thanks :)07:20
lifelesslamont: I was going to release 0.0.2 before asking for a FFe :>07:20
=== tro|| is now known as tro
spmlifeless: what's the preferred way of u/ging the required branches on LP? I assume we can take a branch from the newly upgraded (or use the existing subdir in the shared repo) and delete old/push that? or?07:27
lifelessok its a little complex.07:27
lifelessuhm07:27
spmheh07:27
lifelessthere's a guide07:27
lifelessbut lets toss that out the window07:27
lifelessis bzr.dev upgraded ?07:28
spm <smash?07:28
spmnot yet.07:28
spmTransferring revisions 9600/2730207:28
lifelesswhen it is, do the following.07:28
lifelessbzr init --2a lp:~launchpad-pqm/bzr/bzr.dev   [adjust the user if I got it wrong]07:28
spm'k07:28
lifelessthen bzr push the bzr.dev branch there using --remember so it sticks07:29
lifelessthats probably a Good Time to change the bzr pqm config too, for bzr.dev07:29
spmthis is from ~/archives/thelove/bzr ? vs one of the subdirs07:29
spmright07:29
lifelessthe subdir +trunk07:29
spmah. righto07:29
lifelessthen07:30
lifelessin the bzr project on lp07:30
lifelesschange the branch for the trunk/bzr.dev series to point at this new branch.07:30
spmk07:30
lifelessnow, if we're lucky, we can just delete the other launchpad-pqm owned branches and repush them.07:31
lifelessif we're unlucky we can either rename-and-push, or we can bzr upgrade --2a <URL> them07:31
spmbut the key is the bzr.dev; right. makes sense. stacked on I assume.07:31
spmew07:32
lifelessyes, for all new things pushed07:32
spmright07:32
lifelessonce escudero is upgraded, all the old branches will suddenly start crying07:32
* spm fetches a box of tissues07:32
lifelesselephant tears07:33
spm3 boxes of tissues07:33
vilahi all07:33
spmhey vila07:33
* vila forgot to unmark as away...07:33
pooliespm, we're talking about it...07:35
spmpoolie: np07:36
spivlifeless: I wonder how changing the branches on lp like that will interact with the merge proposals against the existing lp:bzr?07:37
vilaspiv: stop beating the dead horse :)07:38
lifelessspiv: they will need to be resubmitted07:38
vilaI'm 95% sure we need to resubmit them anyway after having been upgraded07:38
SamB_XP_spiv: they'll suddenly be against lp:~bzr/bzr/???, I guess07:38
spivOk.  That's a shame (but not a show-stopper).07:39
vilaspiv: The way I see it is that we're changing the devlopment focus, so lp:bzr gets a new semantic, mp were done against the old one, *something* has to be done, I don't think this can be automated07:40
lifelessvila: oh it would merge ok07:44
lifelessvila: but the trunk url config is changing07:44
=== tro|| is now known as tro
vilammm07:45
spmTransferring revisions 11100/27302 <== this may take a while I'm thinking...07:46
lifelessspm: no07:46
lifelessspm: time stands stil07:46
lifelessl07:46
lifelessl07:46
lifelessl07:46
lifelessl07:46
spmheh07:46
lifelessI'm setting up a new 1.9 format mirror of bzr.dev to become the new trunk for all the old stacked branches07:47
lifelesspoolie and I just discussed some of the merits of different ways of tackling this07:47
lifelesswe're going to keep them working, for now at least.07:47
spmoki07:47
lifeless4.5K to go07:48
jmloh, that reminds me07:48
lifeless.oOo.07:48
jml(the ohloh LP enlistment is moving very very slowly)07:48
spmI'm going to afk and grab an early dinner (curry made last night - should be nicely improved by now). if you need me in a hurry, ring my mobile, or home phone.07:48
lifelessjml: \o/07:49
lifelessjml: where is it up to ?07:49
jmllifeless, 8248/6645107:49
lifelessspm: I'm basically EOD'd: when that completes please SMS me or wave furiously or something.07:50
jmllifeless, it was at ~6500 this morning07:50
lifelessjml: holy swear words bat man07:50
lifeless_what_ command are they running07:50
jmllifeless, Launchpad doesn't track that, you'd have to ask them :)07:51
lifelessjml: how does launchpad track the enlistment ?07:51
jmllifeless, it doesn't. my data is from, https://www.ohloh.net/p/launchpad/enlistments07:51
lifelessjml: k07:52
SamB_XP_ooh! how did you ever get access to that information!07:52
jmllifeless, I guess someone who knows bzr could maybe derive the command from the apache log07:52
SamB_XP_</fake-awe>07:52
lifelessSamB_XP_: its on the page :P07:52
spivhttp://www.ohloh.net/forums/3491/topics/3685 claims they run "bzr log --long --show-id --forward --include-merges -r 1.. -v"07:56
spmlifeless: oki, will sms08:01
lifelesspoolie: I believe there is a cron job donig 'bzr update' in the bzr.dev tree on escudero.. what account is that under - can you cancel it ?08:01
pooliei don't recall, but yes i can08:01
poolie.. find out and cancel it08:01
lifelessspm: ~bzr-pqm is the user I think08:02
lifelessspm: has it converted yet ?08:02
spmlifeless: yeah, that sounds more sane08:02
spmnope. 1400008:02
pooliedone08:02
spmjust over half way08:02
spmlifeless: so guestimating.... about another hour.08:03
pooliespm: to upgrade? that seems slower than it was for me08:03
lifelesspoolie: much older machine08:03
spmpoolie: about 2 hours in total.08:03
lifelessballeny is uhm 3.5? 4? years old08:04
spmAMD Opteron(tm) Processor 25008:04
spmsingle cpu, no cores.08:04
lifeless1 core !08:04
spmalmost as old as me and vila!08:04
spivno cores would explain slowness ;)08:05
jmldoes bzr actually use more than one core for upgrading?08:05
lifelessjml: no, but other things can08:05
spmanyways - back to cooking poppadums - and trying not to eat them all as they emerge.08:05
vilaspm: you mean me *+* you :)08:06
vilaspiv: right, they finally found the worst way ever to use bzr log :-)08:07
jmlvila, you should comment on the thread :)08:08
* jml was quite impressed with ohloh's friendliness and willingness to actually do stuff to support bzr better.08:09
SamB_XP_jml: well, there sure were a lot of people asking for bzr support!08:13
SamB_XP_... how does one get a CPU with no cores ?08:14
SamB_XP_... what does it *do*?08:14
LarstiQjml: when was this? they ignored bzr for a year or so08:15
SamB_XP_LarstiQ: I think the proper term is "were swamped"08:16
SamB_XP_not "ignored bzr"08:16
LarstiQSamB_XP_: ok, let me rephrase that. Despite a lot of people asking for support, and some offering help, I have never seen a public statement from ohloh on the issue.08:17
LarstiQbut maybe I don't care about their site enough08:17
SamB_XP_there aren't very many of them!08:18
LarstiQSamB_XP_: not enough to reply on the forum thread?08:19
jmlLarstiQ, well, they've supported bzr for a while08:21
jmlLarstiQ, but they replied quite quickly to my thread about Launchpad open sourcing08:21
bialixbonjour vila08:25
vilahello Alexander08:25
LarstiQjml: cool08:25
LarstiQjml: yeah, my disappointment is from the period before they supported bzr08:25
* LarstiQ lost interest on the way08:26
jmlheh08:26
bialixmorning knows better than night, I've decided that much simpler for me will be to write special hidden command which invokes get_user/password methods for me08:26
* jml likes that expression08:27
vila*commands* ? Wow, I'm lost here, I really need to read the code you will write...08:27
* vila upgraded 1/3 hosts, fully checked08:28
bialixvila: ^, so I won't need to lookj for real svn repo to test08:28
bialixvila: ?08:28
vilaAnd you will have automated tests then ?08:28
vilaOh I got it !08:28
bialixvila: heh, you're really out of context08:28
lifelessjml: it saddens me to hear that lp doesn't use pqm's test facilities at all :(08:28
bialixvila: :-P08:29
bialixno automated tests yet08:29
vilayou will fake the svn repo behavior to ensure you can catch get_password/get_username ?08:29
bialixyes!!!08:29
vilabialix:  but if you do that you're '' close to have automated tests !08:29
jmllifeless, well, it's much more a function of our terrible test suite rather than anything in pqm08:29
bialixvila: I need to test that our SubprocessUIFactory in QBzr works OK for get_user et al methods for subprocessed bzr command08:30
lifelessjml: I'm still sad though08:30
jmllifeless, sorry :(08:30
bialixvila: it will be pain to properly write automated test08:30
vilaYou already suffered for not having an automated test for that !08:30
jmllifeless, tbh, it doesn't sadden me, it just annoys me constantly. I really miss the days when someone trying to land a failing branch meant that only that person had to care about the failed attempt.08:31
vilaNot writing it now, when you got the concept clearly in your head... is a bit like not making the one missing step to get there :-/08:31
jml(whether that person was me or someone else)08:31
vilayou want to write an hidden command, I say this hidden command can be part of your test framework08:31
vilabialix: Where will you write that command otherwise ? In a plugin ?08:32
lifelessjml: I hear you have Influence now08:33
jmllifeless, I don't have magical powers though.08:34
lifelessjml: cow08:34
lifeless[have you seen apt cow?]08:34
jmllifeless, my influence on this kind of thing is the same as it always was.08:34
lifelessI know08:34
jml[I have!]08:34
lifelessI was teasing08:34
lifeless4K revisions to go08:35
lifelessand then I can put my new memory in!08:35
jmllifeless, if we could test and land a new LP branch in under 15 minutes, I would argue for switching back to PQM08:35
bialixvila: one day I bribe you to help properly set up test suite for QBzr based on QTest08:35
bialix:-P08:35
vila:-D08:36
bialixtesting GUI is not easy08:36
jmllifeless, but as it stands, I think the current (flawed) system is better than the massive queues we had with a traditional PQM set up.08:36
vilabialix: I hope to meet you at one bzr sprint one day....08:36
bialixme too08:36
lifelessjml: me too08:36
vilabialix: 'testing GUI is not easy' that's why you should test at lower levels :-P08:37
bialixvila: rrrrrrr08:37
bialixvila: but I need test high level interactions!08:37
vilabialix: You can't get robust walls if you don't use robust bricks08:38
bialixvila: when you will have a 5 minutes to relax, look into qbzr/liv/subprocess.py SubprocessUIFactory08:38
spm19000/27302 ... getting there....08:38
vilaStart with robust bricks and your walls will be solid enough even if not tested08:38
bialixvila: I'm amazed08:39
vilathe opposite is a dream, a nice dream, but a dream anyway08:39
vilaObviously my english is not good to explain that :-/08:39
bialixI like dreams08:39
vilaObviously my english is not good enough (not are my typing abilities :) to explain that :-/08:39
bialixand my french even worse than your english08:39
vilawant to hear my russian ?08:39
vila:)08:40
vilana gavariu pa ruski08:40
bialix:-) :-)08:40
bialixLOL08:40
bialixne08:40
vilabialix: exactly ! :-D08:40
vila3 words and 1 mistake already !08:40
bialixyour russian is better and better every time! :-D08:41
=== JaredWigmore is now known as JaredW
bialixvila: writing tests is good, and like them, but for QBzr sometimes is much faster to write bugfix w/o tests08:43
vilabialix: so, why don't you just copy/paste get_password in subprocess.py (and update whatever corresponding code that handles GETPASS) ?08:43
vilabialix: It's always faster to write the bugfix without tests08:43
bialixand because I have not infinite amount of free time I have to choose between bugfix w/o test and no bugfix at all08:43
vilaWhat takes more time it to reproduce the bug so you can diagnose it to be able to write the bugfix :)08:44
vilaAnd if you write down how long you spend on the respective tasks... at one point you realize that writing tests saves a lot of time. And if it doesn't... you have to learn how to write better tests :)08:45
bialixto reproduce THAT bug I need to find such svn repo08:45
vilabialix: wrong08:45
bialixvila: I hear you! I hear you! I believe you! But I have reason to do otherwise08:46
vilaYou know you need to implement get_username, do that, test it, ask the people encountering the bug to check your fix :)08:46
bialixmore: I share your belief in tests08:46
vilaif you tested it correctly, you're 99% sure they will come back to tell you: "Great ! It works ! Thanks !"08:46
bialixaaaaaah!08:47
bialixvila!08:47
pooliehello, vila, bialix08:47
vilahye poolie08:47
bialixhello08:47
bialixpoolie: I have a question about traceback generator code08:51
bialixpoolie: I have a question about traceback report generator code08:51
pooliesure08:51
bialixhttps://bugs.launchpad.net/bugs/42322108:51
ubottuLaunchpad bug 423221 in qbzr "External diff no longer works" [Undecided,New]08:51
bialixpoolie: ^, if you llok at the bug report generated by bzr you'll see there is bencoded dict passed as argument08:52
pooliebialix: sorry i don't see the connection?08:52
* igc dinner08:52
bialixerr, bencoded list08:52
poolieoh, right08:52
bialixwhat can I do to decode it for easy understanding?08:52
bialixsome hook into trace.py maybe?08:53
bialixany advice?08:53
poolieso08:53
pooliei guess this is obvious, but it's not the trace code that's doing the encoding08:53
poolieit's the qsubprocess or whatever08:53
bialixno08:53
bialixyes, this string generated by qbzr internals08:53
bialixI just think for me will be nice if qbzr devs see not only raw string but also decoded list08:55
pooliefrom the command line you can say something like this:08:55
pooliepython -c 'import sys;from bzrlib.util.bencode import bdecode;print bdecode(sys.stdin.read())'08:55
pooliebut i can see how putting it into the bug report would make something easier08:55
pooliehow about if08:55
bialixyes, exactly08:55
pooliewe add another line of output that's called something like decoded_arguments08:56
poolieand we call a function in trace.py that can optionally return different more readable arguments08:56
pooliethen it can look for a --bencode option?08:56
bialixthat will be great08:56
bialixmaybe just provide hook point?08:56
poolieright, then the plugins could hook it08:56
bialixmay I file this feature request as bug report?08:57
poolieof course08:57
poolieum08:57
bialixthanks08:57
bialixum?08:57
pooliemy only concern would be, at the time we've already crashed08:57
pooliethe more code we call, the more likely it is that something else will go wrong08:58
bialixyep, this is a problem08:58
pooliefor instance if one of the plugins isn't installed properly, calling this hook might break something more08:58
bialixheh08:58
poolieand prevent us getting a traceback at all08:58
pooliethat probably wouldn't happen in most cases08:58
bialixI'll ask gary for his mind08:58
pooliei think that string is fairly readable once you know a bit about it08:59
poolieabout bencode08:59
pooliewe should test if apport will work ok on windows08:59
bialixbecause we have special code to show qbzr tracebacks in GUI dialog, maybe we just override it08:59
bialixpoolie: apport on windows? you want real testing? any pointers on how to setup it?09:00
bialixigc working on better installer09:00
bialixbecause I'm fan of bzr.exe I need apport working with bzr.exe09:00
pooliei think that if you just install it from https://launchpad.net/apport09:01
pooliethen bzr will try to use it09:01
pooliethen do something like 'bzr assert-fail' or make it crash in some other way09:01
bialixat which level bzr hook into apport?09:01
pooliewhen we want to report an error, we try to import appotr09:02
poolieapport*09:02
poolieand if we can, we use that to write the error to a file, rather than printing it ourselves09:02
bialixis it invoked as subprocess?09:02
poolieno, just as a python library09:02
bialixthis won't work for bzr.exe09:02
bialixit should be bundled inside it09:02
poolieoh?09:02
poolieright, but we could bundle another python library into it?09:03
bialixor there is should be plugin to setup sys.path09:03
bialixbundle into bzr.exe? yes, but it makes it a bit bigger09:03
pooliethat's true09:03
vilalifeless: one more mp vote where you forgot the leading space09:04
poolieit's probably not very big09:04
bialixhow big apport is?09:04
lifelessvila: someday it will listen to me09:04
bialixI'll look if I can wrap apport into plugin09:04
vilaLOL09:04
poolie332k09:04
pooliewe could cut out only the bits we need, which is probably less than half09:05
bialixwell, py2exe is very good in tracking actual import dependencies so it will pick only required modules09:05
bialixbut py2exe don;t know about lazy_imports09:05
pooliein this case it's not lazy09:06
bialixigc: can you look into bundling apport into bzr.exe? just installing it in your python will be enough09:06
poolieit's imported inside the function that uses it, but py2exe should be able to handle that09:06
bialixpoolie: so, what I should expect when apport is working?09:07
bialixhow I can see it actually working ok?09:07
poolietry 'bzr assert-fail' and rather than a traceback it should tell you the location of a crash file09:10
* bialix get lp:approt09:12
bialixpoolie: bzr: ERROR: Unable to create symlink 'data/icons/scalable/mimetypes/text-x-apport.svg' on this platform09:12
spmpoolie: fyi: Transferring revisions 20000/2730209:12
bialixpoolie: I'm unable to get apport sources09:12
lifeless3K to go, 126G09:14
lifelessyou can do itm 128G FTW09:14
pooliebialix :/09:14
pooliethere is a tarball09:14
pooliesorry about the symlink bug09:14
pooliei tried it under wine and it didn't work well09:14
pooliei have to go now, i may be back later09:14
vilaspm: just checking pqm mail submissions are disabled right ?09:15
pooliei'm not sure why eithr09:15
bialixC:\work\Bazaar\zzz\apport\apport-1.8>setup.py bdist_wininst -d.09:15
bialixTo build Apport you need https://launchpad.net/python-distutils-extra09:15
bialixhuh?09:15
bialixpoolie: no way for apport today, too much obstacles09:15
viladependencies.... salt of the earth :-/09:16
bialixpoolie: and you say that installing windows dev tools is tricky!09:16
bialixcomparing to apport it was easy09:16
spmvila: aye09:17
vilabialix: that's certainly a *big* difference between windows and linux and linux devs tends to be used to automatic depedency tracking: you want a tool, you install it, if dependencies are needed, they are taken care of automagically09:17
spmvila: we've still got a ways to go on the 2a upgrade. so the pqm processing is disabled09:17
vilaspm: sure, I understand that,09:17
vilafully09:17
spmcool :-)09:18
vilaupgrading my various dev hosts too just to shake things a bit more09:18
bialixvila: I see how easy it may look, but I prefer to understand what's going on09:18
vilaby doing it at the same time09:18
bialixthis one reason why I hate eggs09:18
vilabialix: but you don't need to care anymore once you use a distro where people's work is to make damn sure the dependencies are right09:19
bialixI don;t want to talk about it09:19
* bialix bbl maybe09:20
vilaok, np09:20
vilajames_w: ping, strangeness here: https://code.edge.launchpad.net/~debian-bazaar/bzr-gtk/debian the last commit is by you and says 'works with bzr-1.19' ?? and lp can access it since 2009-09-0109:29
spmTransferring revisions 24700/2730209:51
spmthumb twiddling excitement :-)09:52
jml:D09:54
jmlhmm.09:55
jmlspm, by my calculations, ohloh's import of Launchpad should be finished by the 13th.09:55
spmjml: which year?09:58
jmlmy bad.09:58
jmlspm, I meant to say, "the 13th century AD"09:58
spmwhen the universe wraps around again?09:59
lifeless2.2K09:59
lifeless127G09:59
lifelessjam: I won't get to the group combining patch today10:02
james_wvila: the branches were upgraded10:03
james_wvila: the commit message is a typo10:03
vilajames_w: ok, which branches upgraded to what ?10:04
james_wdebian branches to 2a10:04
vilaoh great10:05
lifelessigc: does fast-import get multiple branches?10:06
vilajames_w: so the lp branch should be re-created ?10:06
james_wI guess10:07
james_wit looks like LP doesn't like mirrored branches being upgraded10:07
lifelessjames_w: it should remirror10:07
lifelessjml: ^10:08
jmlwhat10:08
jmlyes, it should.10:08
vilaremirror as opposed to ?10:08
lifelessvila: error ? :P10:08
lifelessvila: lp is meant to delete its copy and start over when the format doesn't match10:09
vilalol, no, the question was, was is lp doing right now ?10:09
vilaha ok10:09
jmlmy understanding of the code is that it should be doing that.10:11
jmlwhat's actually happening?10:15
vilajml: lp says This branch may be out of date, because Launchpad has not been able to access it since 2009-09-0110:16
vilahttps://code.edge.launchpad.net/~debian-bazaar/bzr-gtk/debian10:16
jmlhmm10:17
lifelessnow, I filed a bug about it /not doing/ this, but mwhudson/jml seemed convinced it was only a scanner issue at the time.10:17
spmpoolie: lifeless: 'repository converted'10:18
lifelessok, push trunk to ~bzr-pqm/2.010:19
lifeless               ^bzr10:19
lifelessbleh10:19
lifelessspm: I fail.10:19
spmis cool - I get the gist :-)10:19
jmlhmm10:19
lifelessspm: to ..bzr.dev10:19
lifelessspm: not to 2.010:19
lifelesstrunk is bzr.dev :P10:20
spmahh. no didn't get that gist. right. lemme run the cmd line past you first. one sec...10:20
jmlso, while I don't dispute that the bug is occurring10:21
jmland that it's probably in the puller10:21
jmlif you look at http://bazaar.launchpad.net/~launchpad-pqm/launchpad/db-devel/annotate/head%3A/lib/lp/codehosting/puller/worker.py and grep for 'format', it's hard to see what's wrong10:21
spmlifeless: ~/archives/thelove/bzr/+trunk$ ...<funky_path>/bzr push --remember bzr+ssh://bazaar.launchpad.net/~bzr-pqm/bzr.dev10:21
lifelessno10:22
lifeless... bzr+ssh://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev10:22
spmgah. missed that. sorry.10:22
spmlifeless: ? https://pastebin.canonical.com/21784/10:23
lifelesshttps://edge.launchpad.net/bzr is kinda ugly @ 800 wide10:23
lifelessthats good10:24
lifelessnow do it again10:24
spmoh? ok.10:24
spmwell <....> me. is working.10:24
lifelessstacking10:24
lifelessfails10:24
lifelessthen exists so doesn't alter the setting10:25
lifelessiz UI bug10:25
spmah. perhasps a nicer error message would help? :-D10:25
spmsnap :-)10:25
lifelessyes10:25
lifelesscritical, not blocker10:25
spmright10:25
spmkinda like being a windows sysadmin again. if something fails, try it exactly the same way a 2nd or third time. usually works then. :-D10:26
lifelessoh don't say that10:26
lifelessthats nasssty10:26
spmCreated new branch.10:26
spmnasty. maybe. accurate tho.... /cynical10:26
lifelessok10:26
lifelessnow I'm going to change trunk to point at the 2a format branch10:27
spm'kk, and likewise am modifying trunk in pqm config10:27
lifelessok, escudero's bzr.dev is now a branch alias10:28
spmpublish_to=bzr+ssh://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev10:28
spmpublished_at=http://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev10:28
spmsane ^^?10:28
lifelessis that analagous to 1.18?10:29
spmcopy'n'past'nmodify, yup10:29
lifelessspelling etc optional10:29
lifelesskk10:29
lifelessdoit10:29
spmZZ10:29
lifelessnow, to update the 2.0 bzr-pqm branch10:29
lifelesswant to do this the easy way?10:29
spm7.30pm? whadda reckon? :-)10:30
lifelessgot lftp there?10:30
spmerrrr...10:30
lifeless[it does sftp]10:30
spmyes!10:30
vilaspm: not windows related (if it fails, try again), I used to do that in GCOS days10:30
lifelesslftp sftp://bazaar.launchpad.net/~bzr-pqm/bzr/2.010:30
lifelessrm -rf .bzr [in lftp speak,w hich I forget offhand]10:30
Spabby__hi guys is there a yum repo that has a newer version of bzr than the epel one please?10:31
lifeless\o/ 128G fastexport stream from netbeans hg repo10:31
spmlifeless: this'd be in the 2.0 dir I assume? or move existing to one side and create a new.10:31
spmon nm. I'm being dense.10:32
lifelessspm: we're deleting the 1.9 format history on lp; replacing it with the updated master copy.10:32
lifelessSpabby__: http://bazaar-vcs.org/Download10:32
lifelesshas a yum repo listed10:32
Spabby__yes10:32
spmright - yeah - worked that out. was thinking in terms of copy down.10:32
Spabby__but the version is 1.3.110:32
Spabby__which is really old10:33
Spabby__it's the epel one I mentioned in my initial question10:33
lifelessSpabby__: oh, I did'nt know that10:33
spmlifeless: so. .bzr rm'd from baz.lp.n/~bzr-pqm/bzr/2.010:33
lifelessI'm sorry, I don't know know of others10:33
lifelessspm: cd to the 2.0 branch; push it, with --use-existing-dir10:33
spmlifeless: to confirm: .../thelove/bzr/2.0$ /srv/pqm.ubuntu.com/chroot-amd64/home/pqm/bzr-2.0/bzr push --use-existing-dir10:35
lifelessspm: also, remember the 2.0 review team change?10:35
lifelesswe need to do that here as well10:35
lifelessspm: ack10:35
lifelessto the bzr.dev branch10:35
spmlifeless: vaguely - that was in the LP ui from memory? change to ~bzr-devs or similar10:35
lifelessbzr-core10:36
lifelessyes10:36
spmright10:36
lifelesshttps://code.edge.launchpad.net/~bzr-pqm/bzr/bzr.dev10:36
spmUsing saved push location: bzr+ssh://bazaar.launchpad.net/~bzr-pqm/bzr/2.0/10:36
spmSource branch format does not support stacking, using format:10:36
spm  Branch format 710:36
spmUsing default stacking branch /~bzr-pqm/bzr/bzr.dev at lp-45207760:///~bzr-pqm/bzr10:36
spmCreated new stacked branch referring to /~bzr-pqm/bzr/bzr.dev.10:36
spmlooks good10:36
spmlifeless: review team changed to bzr-core10:37
lifelessspm: ok10:38
lifelessspm: repeat the 2.0 process on the other existing bzr-pqm branches10:38
lifelessI think thats 1.17 and 1.1810:38
lifelessunlock pqm10:38
spmphew. for a minute there I thought you meant 0.1 to 1.18 :-)10:38
lifelessand thank you, We all appreciate your doing this late :)10:39
lifelessI'll write up docs to the list10:39
spmta10:39
vilaspm: I second that: T-h-a-n-k y-o-u10:39
lifelessits kinda snappy in loggerhead now10:40
lifeless:P10:40
spm1.17 done (damn this is faster the 2nd time)10:40
lifelessspm: yupyup10:40
spm1.18 done10:41
spmso if ya'll feeling brave, we can re-enable PQM then?10:41
lifelessDoIt10:42
vilahttps://code.edge.launchpad.net/~bzr-pqm/bzr/2.0 still says Repository format:  Packs 6 (uses btree indexes, requires bzr 1.9)10:42
vilahttps://code.edge.launchpad.net/~bzr-pqm/bzr/bzr.dev is fine10:42
lifelessvila: check http with bzr client10:43
spmbzr pqm, re-enabled10:44
lifelesssuper10:44
vilalifeless: you're right, bzr client reports the right format, the web site lags ?10:45
lifelessvila: scanner bug10:46
spmcache?10:46
spmshouldn't be replication lag. that's < 5 secs10:46
lifelessspm: metadata cache in lp10:46
spmfigures10:46
lifelessspm: its coherency bug10:46
lifelessfiled, queued.10:46
vilaI'd say data in some table extracted from .bzr and either not updated or not refreshed (I hope it's the later)10:46
spmlifeless: I look forward to your patch for same tomorrow morning. :-P10:46
lifelessspm: filed some months ago10:47
spmanyways. anything else at this stage? leave it for vila to break overnight?10:47
vilaon my way to submit a simple patch to bzr.dev :-D10:48
spmhahahahahah10:48
vila1) upgrade the local integration branch :)10:49
vila0) upgrade the bounded stacked branch10:49
lifeless1.5K to go10:55
spmoki, outa here. night all.10:55
lifelessthanks again.10:56
alex_morellia good day to all11:04
alex_morelliI need some help with a OSX 10.4 installation: even after installing Python 2.6.2, the installer complains of an incompatible version and asks me to install Python 2.611:05
alex_morellido I need to reboot after installing Python?11:06
=== lifeless changed the topic of #bzr to: Bazaar version control system | bzr.dev is in 2a format | 1.18 final released soon | try https://answers.launchpad.net/bzr for more help | http://bazaar-vcs.org | http://irclogs.ubuntu.com/
alex_morellisomeone can help me?11:13
lifelessalex_morelli: I would sorry, but I am really not here :(11:16
lifelessvila: ^11:16
lifelessany idfeas?11:17
jelmerfetch from hg into bzr seems to somewhat work now with current versions of bzr and hg11:53
james_w\o/11:57
lvhyay, finally we can throw hg away11:57
jmljelmer, grats12:10
lifeless133304/133780, 129G12:12
lifelessso very very close12:12
lifeless138378654414 - netbeans fastexport12:45
lifelessigc: ^12:45
ronnylvh: evil ...13:30
lvhronny: haha13:32
ronnywell, i guess i'll have to do a sprint on hg-bzr next week13:32
lvhdon't mind me, I'm just trolling13:33
ronnyhmm, bzr is starting to spit into my waters (with all those abstractions)13:33
ronnybut i dont see me wanting to use bzr's api anytime soon13:34
ronnybrb, food13:34
lvhronny: that's okay, I feel very much the same way about hg's api13:35
lvhoh wait, I'm not supposed to use hg's python api because it's not public :-)13:35
jelmerlvh: mercurial's API doesn't have the abstractions that bzr's API has13:35
jelmerlvh: for better or worse13:35
lvhjelmer: I'm mostly talking about hg.ui.ui()13:36
lvherr, mercurial.ui.ui() probably :-)13:36
lvhjelmer: every time I moan about it people tell me "yeah stop using that the api is private"13:36
lvhjelmer: my reaction is to stop using hg, I like public apis13:36
jelmerahh13:36
jelmerthe API stability of mercurial is also a bit of a concern for bzr-hg :-/13:37
lvhwhich API13:37
lvhthere is no API!13:37
lvhjelmer: I ran into the same problem when making a version updater for git repos13:38
lvhjelmer: eg inspect the current repo state -> produce __version__="foo" in __init__.py13:38
lvhjelmer: then I noticed that hg seems to assume that you are always working interactively13:38
lvhjelmer: and there is no real way aorund that13:38
lvhjelmer: (But I'm not really sure -- the original/core dev told me to use os.system and parse the output, so I stopped using hg)13:39
jelmerlvh: well, there is an API, just no guarantees about its stability13:39
lvhjelmer: yeah, I dont think that really counts :-)13:40
lvhjelmer: but sure -- there's an API, and you're not supposed to use it13:40
ronnyjelmer: i like the fact that its a unstable api13:54
ronnyjelmer: all the suckage slowly goes away, and doesnt has to stay for centuries13:54
jelmerfunctionality is always deprecated first in Bazaar before it is removed several versions later13:55
jelmerthat's good for API users, but a bit of a burden on developers13:55
ronnywell, bzr is kind of __huge__ and has stuff spead out in unpleasant ways13:56
ronnyi still dont understand bzrs actual repo formats, for hg it was like read 3 files, done including backward compatibilities13:57
ronnyfor bzr i lost interest after dozens of files, tonns of inheritance and pain14:00
eLBaticiao14:25
eLBatiusing env var http_proxy , is it possible to use username and pass for authenticate to proxy?14:27
vilaeLBati: yes14:27
vilaeLBati: Did you try ?14:27
eLBativila: yes, but I get a connection time out14:28
eLBatidoing bzr branch14:28
vilaeLBati: use -Dhttp and look at your .bzr.log to check14:29
vilaeLBati: if you don't understand the http headers I canhelp but be aware that your credentials will appear there14:29
eLBativila: thanks14:30
eLBativila: http://pastebin.com/m30eee71214:41
eLBatisomeone is not responding14:41
vilayou didn't specify -Dhttp :-/14:42
vilaoh, wait, you're trying to use a lp: url, that's a known bug beehind proxies :-//14:42
eLBatiyes, lp14:42
vilayou need to use the resolved URLs instead,14:42
eLBatiah14:43
vilawhat os/versions are you using ?14:43
eLBatiubuntu 8.0414:43
eLBatihow could I resolve URL?14:44
eLBati(lp:openobject-doc)14:45
vilahmm, by going to the web site,14:45
vilalp:openobject-doc is bzr+ssh://bazaar.launchpad.net/~openerp-community/openobject-doc/doc/14:46
vilaor http:// instead of bzr+ssh://14:46
vilaeLBati: https://code.launchpad.net/openobject-doc is the entry point,14:47
vilafrom there you get access to all existing branches in the project and by clicking on each one, you'll get a page with all the urls you need14:48
eLBatithanks vila14:49
vilaeLBati: and the relevant bug is #18692014:50
ronnybtw, is there anything for bzr comparable to submodules/subrepos/externals?14:50
vilaronny: nested trees, but it's still a work in progress14:50
NET||abusehey bzr folks,,, i have a site i downloaded from the server, put under bzr version control on my local drive, developed new pages for, and now I need to publish to the webserver again. is there a good way to push the code up to a server from my local machine?15:00
vxnickNET||abuse: try bzr-upload15:04
=== kiko-afk is now known as kiko
=== sabdfl1 is now known as sabdfl
lvhhi!15:12
lvhwhat's the easiest way to see the revision id's of the last past commits?15:12
lvhI've tried olive-gtk but that doesnt seem to show me the revision ids.15:13
lvhbzr log -l 10 or so?15:13
lvhYay, that shows revnos :-)15:14
jelmerlvh: --show-ids15:26
eLBativila: http://pastebin.com/m6b8d36eb15:41
eLBatiwith easy_install I can authenticate15:41
=== cprov is now known as cprov-lunch
vilalvh: bzr log -l 10 --show-ids15:42
vilaeLBati: bzr-1.3.1, right, I'm 99% sure this has been fixed in recent bzr version, you may want to add the bzr-ppa repository to your software sources15:43
eLBatiI have 1.3.115:44
vilayes, I can see that, let me find the bug15:45
vilaeLBati: in the mean time, look here for instructions on how to get the latest stable release of bzr: https://launchpad.net/~bzr/+archive/ppa15:46
gioelehello15:52
vilaeLBati: bug #36610715:52
ubottuLaunchpad bug 366107 in bzr "Bazaar should attempt Basic authentication if HTTP server offers NTLM" [Undecided,Fix released] https://launchpad.net/bugs/36610715:52
gioelevila: hi, thank you for fixing bug #423331 ;)15:53
ubottuLaunchpad bug 423331 in bzr-upload "Don't upload additional files in / but in another directory" [Wishlist,Fix released] https://launchpad.net/bugs/42333115:53
vilaso you need at least 1.15 to get the fix15:53
vilagioele: my pleasure, your description made it obvious and I felt bad that I didn't realize what Alfredo was talking about :-/15:54
eLBatithank you vila15:54
vilaeLBati: Note that using the ppa bzr archive is how we distribute the upgrades to all Ubuntu releases15:55
gioelevila: one last thing: what is supposed syntax of that option? Is a simple "upload_revid_location = foo" in branch.conf is 'foo' interpreted relative to the path given on the command line?15:56
vilaso adding it to your software sources is the best way to get future updates as they become available15:56
eLBativila: ;)15:56
jambtw, morning vila15:57
vilagioele: yes, relative to the remote path, if you find a clearer way (thatn the README attempt) to explain that, patches are welcome :-)15:57
vilamornign jam !!15:57
vilaWas about to say: Always happy to help (tm), so you were in my thoughts :)15:58
gioelevila: oops, I didn't see the README file in the bzr-upload source code :(15:58
vilagioele: no worries, it means we need a better way to communicate the documentation (and since the targeted audience is web developers, may be one of them will help generate some doc :) Or look into the effort led by igc to generate the html doc from the plugins... I need to check that15:59
NET||abusehmm, i've never pulled code down from launchpad before.15:59
NET||abusehow do i get the plugin?15:59
vilaNET||abuse: which one ?16:00
NET||abusei'm looking to use bzr-upload16:00
NET||abuseso they didn't have direct downloads on the site, just list the trunk in the code section.16:00
vilacd ~/.bazaar/plugins (create the dir if it doesn't exist) bzr branch lp:bzr-upload upload16:00
vilayeah, the plugin authors are bit lazy about distributions...16:01
NET||abuseso i suppose i have to pull code down, and sure why not, i'm getting into bzr and git a bit more than svn these days.16:02
NET||abusei seem to be mixing up both from project to project, bit confusing at times.16:02
NET||abusethat lp alias, can i make my own and assign it to my own launchpad installation, was looking to host my own launchpad on my webserver for the various projects i'll be buliding over the coming months/years ;)16:03
NET||abuseand if it was a straight forward way to do things, it would win out as the choice over git and trac16:03
NET||abusei've already setup svn trac before for 2 projects on my site, but trac doesn't make multiple projects a very straight forward proposition.16:04
NET||abuselaunchpad i imagine would make things simple, as the decisions on how to sperate out projects would be kinda made for you, and launchpad on the ubuntu side works well :)16:04
vilaNET||abuse: try #launchpad if you want support for that, I'm sure they'll be happy to help (tm too) :)16:04
NET||abusetm?16:05
vilaTrade Mark16:05
gioelevila: mini-bug report for bzr-upload (a these lazy users, always requesting things): #42377016:05
gioelevery low priority, filed just in case somebody else need it16:05
vilaubottu: wake up bot, tell us about bug #423770 please16:05
ubottuLaunchpad bug 423770 in bzr-upload "Don't quit with "bzr: ERROR: Failure" when upload_revid_location is a directory" [Undecided,New] https://launchpad.net/bugs/42377016:05
vilathanks16:05
vilagioele: thanks for filing it, there is already a FIXME in the code about more tests with invalid paths, that one is certainly the most obvious error one can make... I even wonder if I didn't make a mistake in giving full control instead of just providing the directory....16:07
vilaNET||abuse: oh, and if you use karmic, bzr-upload is already packaged there16:08
kfogelAnyone know how to turn a revision id (such as "launchpad@pqm.canonical.com-20090806060602-gqejhnxt9rbj5cr1" into a loggerhead URL?  I don't see a way to get to a revision by raw ID through loggerhead; only by revision number (which for various reasons isn't ideal here, as we have different branches with the same rev ids having different rev numbers).16:10
* kfogel supplies the closing paren missing in the middle of the above: ")"16:10
NET||abusevila, no, jaunty till full release16:10
NET||abusewhen's karmic out?16:10
vila9.10 ? :D16:11
NET||abuseyeh, i woulda thought this month16:11
NET||abusejust havn't seen any kind of promotion for it.16:11
gioelevila: I promise that if you change that option I will not complain :)16:11
vila:-)16:11
gioelenow, back to *using* bzr-upload16:12
gioelethank you again16:12
gioelebye16:12
kfogeljelmer: any idea how to turn a revision id (such as "launchpad@pqm.canonical.com-20090806060602-gqejhnxt9rbj5cr1") into a loggerhead URL?  I don't see a way to get to a revision by raw ID through loggerhead; only by revision number (which for various reasons isn't ideal here, as we have different branches with the same rev ids having different rev numbers).16:27
jelmerkfogel: hi16:28
jelmerkfogel: It was possible IIRC it is possible, since I remember there was a bug in that code at some point. Let me check..16:28
jelmers/it is possible//16:29
kfogeljelmer: that'd be great; I didn't see anything in loggerhead UI for it, but could have missed it.16:30
james_wkfogel: I think you can do it by crafting the URLs16:33
james_wI assume they still work, the "prettier" ones are the ones that are presented though16:33
jelmerkfogel: it seems just using the revid instead of the revno works16:33
jelmerkfogel: http://HOST/PATH/revision/REVID16:34
kfogeljelmer: wow, I never even thought to try that16:34
* kfogel looks16:34
kfogeljelmer: yup16:35
kfogeljelmer: thanks for the tip16:35
jamkfogel: the only thing to watch out for is crazy escaping...16:53
kfogeljam: ?16:53
kfogeljam: the only funny thing in there is an "@" sign, right?16:53
jamkfogel: well revision ids *can* have more than just '@' in them16:54
jamThough if they are just bazaar ones, they probably won't16:54
kfogeljam: ?  is there a known charset I can depend on?16:54
jamsvn ids, for example, have ':'16:54
kfogeljam: this is just bazaar16:54
jamI think some may have '/'16:54
jametc16:54
jamTechnically revision ids are UTF-8 strings, but I think the underlying issue is that cherrpy does crazy stuff with things like '/'16:55
jamanyway, it probably won't matter for what you are doing16:55
kfogelthey're link targets in a wiki16:55
jamI just seem to recall that one of the primary reasons to move away from cherrypy was because it had lossy escaping16:55
jamkfogel: so *if* a link works for you, then it is probably good for all eternity.16:56
jam:)16:56
kfogeljam: comforting16:56
jamI'm just not confirming that all mappings from revid will actually lookup the exact content in loggerhead16:57
jamthough if this is normal bzr operations, it should work ok16:57
phinzeoof, okay so my plugin now successfully detects if a tip change touches anything inside a given path, happy times there...17:00
phinzenow i need to figure out how to check if a given change to a protected path was made by a merge with an authorized branch17:00
kfogeljam: what would be a non-normal operation?  I mean, these are all commits...17:01
jamkfogel: importing from svn17:02
jamimporting from git17:02
jamsomeone hand-crafting revision-ids to do something special17:02
jamkfogel: not things you will likely encounter, depending on what that wiki page is for17:02
kfogeljam: https://dev.launchpad.net/Contributions/Draft17:03
jamkfogel: I wouldn't expect that to ever be a problem. Especially if you are always linking the pqm revision17:04
jamalthough by the same token, if you are linking to launchpad's trunk, I would expect that linking by revno would *also* always just work17:05
kfogeljam: I am, although I have a separate ambition to remove PQM from the picture and just have us committing directly.17:05
kfogeljam: but that's a different discussion :-)17:05
kfogeljam: part of the problem is that launchpad has four trunks17:05
kfogeljam: linking by revno also just works -- that's how it was working up until about 5 minutes ago, in fact.17:05
vxnickhi all - is it possible to branch a repo into another repo? I've done this, but 'bzr add' doesn't add the branched repo to the current repo (if that makes sense)17:10
jamvxnick: I think you are thinking of "branching a branch" not a "repo". Yes it is possible ,but we won't add it to the containing branch17:12
vxnickjam: so I'd need to branch it on the production server separately then17:13
jamvxnick: I believe so17:13
vxnickjam: thanks17:13
phinzejam: got spare cycles for me to bother you about this tip change hook i'm working on? .. just a couple of conceptual questions17:14
=== deryck is now known as deryck[lunch]
jamphinze: possibly, though my load counter is pretty high right now :)17:15
phinzejam: if not, is AOK... just looking to sap your expertise for fun and profit17:15
phinzejam: basically i'm stuck given the fact that i'm given a old_revid and a new_revid ... and none of the new revisions exist in the *branch* yet but they're in the *repository*17:16
phinzeso i can get the last new revision easily, as i have its id17:16
phinzebut i'd like to iterate over all the incoming revisions, because i want to see if changes being made to the dirs i'm watching come from the right place17:16
jamg = branch.repository.get_graph()17:17
jamg.find_unique_ancestors(new_revid, [old_revid])17:17
jamb.repository.revision_trees(unique_ancestors)17:17
jamphinze: something like that?17:17
phinzejam: beautiful17:17
phinzethe API is large... i was making my way, but slowly :)17:18
jamphinze: you'll have to double check some of the api to make sure you are supplying the values correctly17:18
jambut something like that should work17:18
jamalso you may want b.repository.revisions(...)17:18
jamif you want to read the commit message, etc17:18
jambut if you want the tree contents17:18
phinzeawesome, you've definitely saved me some significant head-scratching times17:18
jamthen revision_trees()17:18
phinzeright... i've got code that walks the delta between old and new and successfully detects if watched paths have changed, but now i've got to nail those changes down to a revision to see if it's a merge from trunk17:19
jamphinze: ah, so user A isn't allowed to modify them, but it is okay if they look changed because they merged it from trunk?17:19
phinzebasically the plugin ensures that certain dirs are only changed in trunk and merged to projects ... we've had a lot of trouble with people making changes and diverging when they shouldn't17:19
phinzejam: right17:20
jamphinze: why do you care about the individual revisions, rather than the net effect of the merge?17:20
jamwhy not just compare old_rev_id and new_revid's trees17:20
jamrather than every step along the way17:20
phinzethat's what my current code does... walks through newtree.changes_from(oldtree)17:21
phinzebut isn't it possible that the tip change includes many revisions, some of them merges from trunk and others local changes?17:21
=== cprov-lunch is now known as cprov
jamphinze: well, if you only have trunk changes, then the result of the merge should be empty17:33
jamsince those changes are already on the trunk17:33
phinzejam: bzr branch lp:bzr-protect to see what i gots17:34
phinzemeant to be run on the shared repository17:35
jamphinze: when I get  a chance... I'm currently upgrading all my branches to --2a format, which is being ... involved :)17:35
phinzeahh fair17:35
jamphinze: you might want to look at something like "merge --preview"17:35
jamwhich does a merge, and figures out what the final content changes are17:35
fullermdDoes upgrade recurse yet?17:35
phinzejam: will do, thanks for all the advice -- i'll keep working on it17:35
jamfullermd: my branches are new enough, but I decide to 'bzr branch lp:bzr' rather than upgrading from scratch17:35
jamphinze: so just doing "new.iter_changes(old)" you could easily have changes in there that are 'bogus' because your trunk changed something and old didn't change anything17:36
fullermdWell, I was asking for me, but I guess I can just test it   :)17:36
jamyou could look at "common_ancestor.iter_changes(new)" but that may also include things that, like you said, are from trunk17:36
jamfullermd: I don't believe so17:36
jamnot sure17:36
fullermdA quick test agrees with you.  Gruuh.17:37
phinzejam: exactly, so i want to exclude from the list of invalid changes anything that originated in an authorized branch17:38
phinzei mean i could probably simplify the use case if i dictate that merges from trunk must be made exclusively17:39
phinzeso cd project.bound; bzr merge ../trunk.bound; bzr ci;17:39
jamphinze: so there is also the possibility that when someone merges trunk, they also edit the content before they commit17:39
phinzejam: ick, i suppose that's true, but this is not meant for protection from a hostile environment, just as an aid to clumsy developers :)17:40
jamphinze: my point is17:40
jamif you do the merge --previou17:40
jam--preview17:40
jamthen *nothing* should change for those files17:40
phinzeahhhh17:40
phinzeok17:40
jamsince it should only include changes that have already happened17:40
jamit also allows someone to17:40
jambzr commit -m "modify some files"17:41
jambzr revert bad_files -r -217:41
jambzr commit -m "didn't mean to do that"17:41
jamand still end up with a clean merge17:41
jamas long as they undo their mistake before it gets merged.17:41
phinzegotchya17:41
phinzeso the commands you just listed, that would be something someone did on trunk?17:43
jamphinze: commit + revert would be something they did on their branch17:44
phinzeahh bad_files being stuff that would be protected17:44
jamphinze: right17:44
phinzeso--and i'm sorry i'm being slow with this--you're suggesting i look into checking merge --preview into the use case for the plugin (i.e. users would somehow work with it) or into the execution of the tip-change hook17:45
jamphinze: so how are users changing the tip?17:46
jamvia a checkout17:46
jamvia push?17:46
jamvia ???17:46
jam(PQM?)17:46
phinze95% of the time via checkout17:46
jamphinze: and where is this check running? locally, or on the server?17:47
phinzeand i can dictate that it is always via $METHOD_FOO if that makes this plugin work for us17:47
jamphinze: well, I would *recommend* via a checkout, and I would *recommend* setting 'append_revisions_only=True' in the trunk's branch.conf17:47
phinzejam: both of these are true currently17:47
phinzeso it's bzr co bzr+ssh://dev/trunk trunk.bound17:48
jamso... what you are getting is a new_revision_id which is actually the product of the merge17:48
jamso just doing new.iter_changes(old) should result in 0 changes to the protected files17:48
jamthe point of 'merge --preview' is that the 'result of the merge should not change these files'17:49
jamand you are already dealing in the 'result of the merge'17:49
jamnow... how do you actually introduce *desired* changes to those files?17:49
phinzeoooooh... i just realized i've been testing by doing 'bzr push' and not emulating the actual environment17:49
jamphinze: well, bzr push should operate the same as 'bzr commit'17:49
jamsince the end result is a revision which should be a merge into the trunk last revision17:49
phinzeah ok17:50
jamgiven that you have 'append_revisions_only'17:50
jamthere is a small possibility of something else17:50
jamwhich I'll graph17:50
jamjust a sec17:50
phinzejam: heh, i feel bad i always try and make my questions simple and pointed and it always spins out into me trying to get my head around something you're spending much effort to explain :)17:51
jamphinze:  http://paste.ubuntu.com/264530/17:52
phinzehttp://gist.github.com/180399 <-- current code, in more easily visible form17:52
jamhttp://paste.ubuntu.com/264532/ for a bit more detail17:53
phinzeokay, so "will push cleanly as" refers to a push from where to where17:55
phinzefrom user -> project branch?17:55
jamphinze: right17:56
jamsee the second paste17:56
jamnormal operation would be to merge the change to a single mainline revision17:56
jamhowever, push with append_revisions_only will allow the other17:56
phinzeso basically this is an edge case that could circumvent the policy?17:58
phinzeso if we dictate "only merge into trunk, don't push"17:59
phinzewe should be in the clear, no?17:59
jamphinze: so instead of 'changes_from()' I would use the 'iter_changes()' function18:01
jamphinze: it won't circumvent policy18:01
jamnot really18:01
jamjust that potentially D could modify the files, and E revert those changes18:01
jamand the policy would then allow that to be pushed18:01
jamand you would have a mainline revision which modifies and reverts content18:01
jamhttp://paste.ubuntu.com/264536/18:01
jamI would change your inner loop to ^^18:01
phinzeha! so python folk really do use _ ... i was wondering about that yesterday18:02
phinzeeven though _ is just a valid variable name and just gets reassigned18:03
jamphinze: also, I find: http://bazaar.launchpad.net/~phinze/bzr-protect/trunk/annotate/head%3A/__init__.py18:03
jamto be just fine without having to go to github :)18:03
jamphinze: it is generally used to mean "I'm ignoring this variable"18:03
phinzejam: ah sorry, rubyist in a foreign land :)18:04
jampython interpreter's use it to store the 'last computed value'18:04
jamwell, *interactive interpreter*18:04
jaminside python itself18:04
jamit is just another variable you can assign or not18:04
jambut it isn't auto-assigned18:05
phinzejam: right i'm familiar with its usage, i just assumed since _ had a value in testing that it was somehow not the Right Way18:05
jam'value in testing' ? you mean in the interactive?18:05
phinzeit was in interactive18:05
jamwe use it inside bzrlib to just mean "I'm ignoring you"18:05
phinzeso i must have just been confused by that18:05
phinzealright [/aside] :)18:06
phinzeso empty list evaluates to false as well18:06
phinzenice18:07
phinzealright lunchtime here... thank you a million times... i will be working on this once i get back18:07
jamphinze: empty list/set/tuple/etc all evaluate to false18:07
jamyou could also do18:07
jamif len(foo) == 0: if you want18:08
phinzejam: next time you're in town i definitely owe you a beer ;D18:08
=== phinze is now known as phinze_lunch
* vila 2/3 hosts upgraded to 2a, submission sent to pqm (involving both hosts and lp) ! EODing18:12
spirov92a question- I have 2 branches-mysite/working and mysite/devel. one is put on the server, and one is for local development. They need to have different database config files. How do I copy just *some* changes from one to the other?18:29
spirov92I'm thinking while I'm cd'd to mysite/devel, bzr push ../working. if I haven't changed the different files, will that work?18:30
=== deryck[lunch] is now known as deryck
=== phinze_lunch is now known as phinze
jamphinze: what town is that?19:46
phinzejam: iowa city; i work with keith; we had lunch and talked RCS :)20:10
jamah, right20:11
moldyhi20:11
jambeen a while since I've thought about you guys :)20:11
phinzewe're still here, plugging along with bzr ;)20:11
phinzei extended the cerberus CI package with bazaar support and that's been working decently for us http://cerberus.rubyforge.org/20:12
phinzegot it pushed upstream and everything :)20:12
lifelessmoin20:23
phinzejam: incorporated your suggestions, much cleaner now: http://bazaar.launchpad.net/~phinze/bzr-protect/trunk/annotate/head%3A/__init__.py20:32
phinzereading about TransformPreview to try and figure out how to detect valid changes to protected directories20:32
phinzejam: hmm after re-reading above and looking again wondering if your suggestions already account for that; because merges don't show up in the iter_changes loop20:38
phinzebut i don't see how that could be the case since there's no detection being done as to the origin of each change... i'm not sure if i should be trying to use the '(source_parent, target_parent)' returned in the tuple from iter_changes to figure that out20:39
jamso, phinze, the whole objective here is that the change relative to the last committed trunk revision should have no paths in the 'protected set'20:46
jamwhich should be okay for all cases20:47
lifelesshi jam20:47
jamhi lifeless20:47
jamthe main problem is how do you end up introducing *wanted* changes?20:47
lifeless129G of fast import to test today :P20:47
jamlifeless: at least it finally finished20:48
lifelessjam: yeah. I was very happy about that20:48
lifelessI just installed my memory upgrade too20:48
jamooh, shiny20:50
jamthough 6GB <<< 129 :)20:50
lifelessyes20:50
lifelesssadly true20:50
lifelessI let fast import try overnight20:50
jamI'm pretty sure igc recommends .gz your fast import file20:50
lifelessstartsed at 300Revs/sec20:50
lifelessthrashing when I got up, so stopped it and put the memory in20:50
phinzeright...20:51
lifelessjam: I didn't get to the group combining, doing the dogfood upgrade took over20:52
jamlifeless: yeah, I'm still working on getting my branches upgraded as well20:52
phinzejam: ideally relative to the last committed revision from "an authorized branch"20:52
phinzesuch that it's configuravble20:52
phinzebut the concept is the same yes20:53
phinzejam: perhaps a companion command that does the merging from trunk/authorized_branch in a sane way?20:54
phinzebzr authorized_merge ../trunk.bound => merges to tip of trunk and commits?20:55
phinzebzr authorized_merge ../my_dumb_branch => Exception: my_dumb_branch not listed as authorized branch20:55
jamphinze: well, any sort of direct access to the branch that isn't using the plugin would work, too21:00
jamhowever, you could set up the pre filter based on source? I'm not really sure21:00
jamyou could check the username of the committed message21:00
phinzehmmm... yeah basically we just need the i-know-what-i'm-doing detection21:00
phinze:)21:00
phinzejam: yeah that's easy21:00
phinzecheck branch.conf for "smart_people"21:01
phinzemy pie in the sky spec for this plugin was that it would actually split off the changes and attempt to make a commit to trunk and merge it in before attempting a commit to the project branch21:02
phinzecrazy? oh yes21:02
phinzebut i think limiting merge access to certain users is probably a good first step21:02
lifelessjam: in-1.9-format is in 1,921:08
jamlifeless: check21:09
lifelessjam: I think you're ina checkout of 2a or something with an old bzr format21:09
jambzr pull http:..../bzr.dev-in-1.9 is not working21:09
lifelessjam: I did, I replied on the list21:09
phinzeeh, the more i think about it the less satisfied i am with it as a compromise... i feel like there should be some way to detect "changes that came from trunk"...21:09
lifelessjam: yes, I *think* you'll find that 'bzr info' also fails21:09
thumperwhat would cause a VersionedFileInvalidChecksum when pulling from a merge directive into a branch?21:10
jamthumper: best guess, a bundle created with a version of bzr before it actually worked with 2a formats21:11
thumperjam: what about a bundle that was created when it worked and a pulling with a version that didn't?21:11
jamthumper: probably as well21:11
* thumper nods21:11
thumperLP has this21:11
lifelesswhat release did you fix bundles in?21:12
jamlifeless: 1.18rc1 according to NEWS21:14
lifelesslp has 1.1821:14
lifelesssorry21:14
lifeless1.1721:14
thumperwe have 1.18 landed but not rolled out21:15
jamlifeless: any idea why lp:bzr would be 3x larger than it should be?21:23
jam90MB vs 30MB after 'bzr pack'21:23
lifelessnone as yet21:25
lifelessonce spm gets here I'll use him to poke around21:25
spmo/21:25
lifelesso hai21:26
lifelessyou can eat first :P21:26
jamlifeless: interesting...  I have converted to 2a locally, and tried to push to an existing 1.9 branch. It gave me "no revisions to push" which is probably accurate21:26
jambut I expected cross-format warnings first21:26
lifelessjam: the branch has a duplicate check21:26
lifelessbased on tip21:26
jamah, self.tip == remote.tip exit early?21:26
jamfair enough21:26
jamI'm not *terribly* surprised, just a little surprised :)21:27
lifelessI think; also possibly if you were pushing to lp, the remote stuff may have helped defer issues21:27
jamyeah21:27
jamI was21:27
spmlifeless: already eaten etc :-) need to be at the boy's school this morning for a fathers day whatsit. so afk from ~8-10am; hence the early start.21:27
jamI also have my downloaded copy, which is ~100MB on disk, which I can use for post-introspection if necessary21:27
lifelessjam: not sure on that one. Have you solved the mystery of why you think in-1.9 is in 2a?21:28
jamlifeless: you did add code to auto-pack after upgrade, right?21:28
jameven for remote?21:28
lifelessjam: yes, Interfaces21:28
lifelessjam: remote uses the same interface locally21:28
jamlifeless: I think the branch I was pulling into was a checkout of bzr.dev, which caused the failure at 'open master branch' though the failure message doesn't make that clear21:28
lifelesson the far end21:28
lifelessjam: yes, thats what I thought :)21:28
jamwell, the failure message doesn't indicate what branch format it is failing to read21:29
lifelessjam: as in, something along those lines :)21:29
jamwhat branch format *file*21:29
lifelessjam: yeah, we might want a optional url in the error21:29
lifelessspm: so, can you please pastebin ls -l archives/thelove/bzr/.bzr/{obsolete_,}packs21:29
lifelessspm: on balleny21:29
spmlifeless: No such file or directory on both cases21:30
lifelessadd repository/21:30
jam.bzr/repository/{...21:31
lifelessspm: our repo is 3 times larger than we expected21:31
lifelessspm: we want to figure out why21:31
jamlifeless: so it could certainly be fragmentation copying it from balleny to lp21:31
jamespecially if they have different ideas of 'groupcompress' order21:31
lifelessoh, also we might benefit by getting a copy of ~/.bzr.log*21:31
lifelessjam: lp is running 1.1721:31
jamlifeless:  I assume that is pushed from pqm21:31
lifelessjam: so thats a very plausible theory21:32
lifelessjam: yes21:32
jamlifeless: what version is pqm running?21:32
jamalso 1.17?21:32
lifelesshigh security -> lower security21:32
spmlifeless: https://pastebin.canonical.com/21816/21:32
lifelessjam: the conversion was done with .dev 466721:32
jamlifeless: sure the conversion, but what pushed it to lp?21:32
lifelesssame same21:32
jamlifeless: obsolete packs has a nice small: -rw-r--r-- 1 pqm pqm 31820 2009-09-03 15:12 8bc55f8aeed4e37d4d993bff6b8a26dd.pack21:32
jampacks probably has a bunch of garbage packs in there21:33
jamthough I'm a bit surprised by the dates21:33
lifelessspm: bzr dump-btree .../repository/pack-names, please21:33
spmlifeless: https://pastebin.canonical.com/21817/21:34
jamlifeless: ones like: -rw-r--r-- 1 pqm pqm 14115960 2009-09-03 09:12 0eeefcbd67df67ab2e7decf890907ba7.pack  are about 6 hours older than the obsolete pack21:34
jamnow that is strange21:35
jamthey appear to all be referenced and the nicely packed one is in obsolete...21:35
jamalthough... are those all in bytes?21:35
lifelessyes21:35
jamI guess 32k would be way too small21:36
lifelessI asked for -hs, got neither :(21:36
lifelessthat that pack is in obsolete_packs is just weird21:36
lifelessspm can you do the ls again, with -lhS please21:37
jamlifeless: so the size in packs is 54MB21:38
jamwhich is approx what I would expect from packs if it was loose21:38
jamthough it bloated to 90MB on lp21:38
spmlifeless: certainly21:38
lifelessthanks!21:39
spmlifeless: https://pastebin.canonical.com/21818/21:39
lifelessjam: I can't explain that tiny pack21:40
jamlifeless: I assume the tiny pack is just remnants from other stuff21:40
jamlike merging a revision21:40
lifelessoh, I know21:40
lifelessit will be a merge from a 1.9 branch21:40
lifelessthat does the following:21:40
jambut it would seem that we did *not* repack the whole repo into a single pack after upgrade21:40
jamis this an IDS artifact?21:41
lifelessfetch (converting); insert; autopack that one pack file21:41
jamthat IDS only causes autopack of the *last* entry, and not all entries?21:41
lifelessyes, IDS was used to convert21:41
lifelessuhm, not sure21:41
lifelessIDS should be passing in all the packs it accumulated on the way21:41
lifelessunfortunately because a 1.9 branch landed we can't see what obsolete packs was21:42
lifelessthe log files will help21:42
lifelessspm: ^21:42
jamlifeless: so the overall layout looks like what I would expect from IDS without having it repack everything21:42
jamit looks like IDS's pack every 10k 1k, etc21:42
spmlifeless: the ~/.bzr.log as in?21:42
lifelessjam: well, standard log10 backoff21:43
lifelessspm: and .old too please21:43
jamlifeless: right, especially given we have 27k revs21:43
jamand there are 2 10+MB packs, 8 1-7MB ones21:43
jamand a couple small ones21:43
jamit doesn't perfectly line up, but pretty close21:43
jamlifeless: so with pack-on-the-fly starting from the 'badly packed' copy from launchpad:21:44
jamtime bzr branch test-area21:44
jamreal    1m2.541s; 101MB (same as source)21:44
jamtime bzr-pack branch test-area21:44
jamreal    1m42.478s; 61MB21:44
jamtime bzr pack21:45
jam2m0s ; 30MB21:45
lifelessspm: the next thing I'd like you to do21:45
jamso the current pack-on-the fly code does help, albeit not as much as a full pack21:45
lifelessspm: is to gather the same ls data, for the master copy of the bzr.dev branch on codehosting21:45
spm'kk21:45
thumperhey lifeless, poolie: https://code.edge.launchpad.net/bzr/+activereviews https://code.edge.launchpad.net/bazaar/+activereviews https://code.edge.launchpad.net/~lifeless/+activereviews https://code.edge.launchpad.net/~lifeless/bzr/+activereviews21:45
jamlifeless: I also realized a bit ago that we may need to look again at 'chk_map.iter_interesting_nodes()' for pack-on-the-fly performance21:46
jamit returns 'unordered' at each 'level' of the tree21:46
jamrather than grouping by subkey21:46
spmlifeless: we have the backup copy - pre the migration - if on the very off chance that'll help. worst case, I can rerun same ??21:46
jam('pack' groups by subkey)21:46
lifelessspm: thanks, for now keep it in reserve21:46
spmlifeless: https://chinstrap.canonical.com/~spm/bzrlog.tgz21:46
spm'k21:46
lifelessspm: nothing is wrong with our conversion, just identifying things we want to fix in bzr where it could have done better21:47
jamso, take that back, 'bzr pack' results in 39MB, but still better than now21:47
spmlifeless: ahh right. goodo21:47
lifeless06:44:17 38000/133780 commits processed at 1030/minute (:38000)21:49
jamlifeless: this is your fast-import ?21:49
jamand IIRC, fast-import still buffers way to much in memory21:50
jamlifeless: so I have to redact slightly21:50
lifelessyes21:50
jampack-on-the-fly is 41MB after 1m37s sending21:50
jamno-pack is 101MB after 1m01s21:50
jampack is 39MB after 2m0s21:50
lifelessisn't real world data lovely :)21:50
lifelessthumper: whats changed?21:51
jamtesting already-packed to new location21:51
thumperlifeless: approved merges at the top, other heading changed, you can now have it for project groups and person/product21:51
lifelessthumper: awesome; sorry that I had to ask :)21:52
thumperlifeless: and if you look at someone else's reviews, it shows better21:52
thumperlifeless: pn21:52
thumpernp21:52
lifelessspm: how we going on the private copy on codehosting?21:52
spmlifeless: getting - just getting the disk location now21:52
jampack-on-the-fly-from already packed: 41MB 1m0s21:53
jamlifeless: so it is working as we would like21:53
jamit packs data when it needs to21:53
jamdoesn't spend time repacking when the source looks good21:54
jamgets close to full pack results21:54
jamlifeless: however, I think the branch was started from bzr.dev rather than --2a, should we cherrypick it, then?21:54
lifelessjam: well, I started mine from 2a, you merged .dev :P21:54
jamlifeless: I probably started from dev21:55
lifelessI'd land on .dev21:55
lifelessthen cherrypick back21:55
lifelessMy remote streaming thing hasn't landed on .dev either21:55
spmlifeless: https://pastebin.canonical.com/21820/21:55
jamlifeless: adjacent-streaming?21:55
lifelessonyl got it into 2a before the shutdown for conversion21:55
lifelessyes21:55
lifelessjust needs a new NEWS entry in the IN DEVELOPMENT section21:55
lifelessspm: thanks21:56
lifeless50M where pqm pushed21:56
lifeless91M where lp copied21:56
lifelessI think fragmentation21:56
lifelesslets get 2.0 on lp; then get a pack run of all public copies :)21:56
spm....!!!!21:57
lifelessspm: it will same 60% of disk or more21:57
spmOh! In that case, I'm pushing it in now. 'k21:57
lifelessspm: see how one repo is 50M the other 90?22:04
spmyeah - I was wondering if that was an issue - hence the frag comments made some sense22:05
lifelessjam: I'm satisified that we know the causes here22:05
lifelessjam: are you?22:05
jamlifeless: I haven't specifically investigated how the pack is laid out, but I *think* we know what was going on.22:06
jamAs long as we are sure of the version of bzr pqm used to push to launchpad22:06
jamthat it was doing 'groupcompress' and not 'unordered' fetching22:06
lifelessspm: you used the custom build to do the push didn't you ?22:06
lifelesslast night I mean22:06
spmlifeless: to do the pushes we did last night; yes. but verifying my history - one sec22:06
lifelessjam: that will be in the log files22:06
lifelessjam: however, server is 1.1722:07
spmlifeless: aye. every time. revno 4667 on all 5 pushes.22:07
jamlifeless: I'm pretty sure for 'bzr push' it is the client version that matters here22:07
lifelessjam: right. 50M on balleny, 50M on the private copy on lp, 90MB on the public copy22:07
lifelessjam: so I think the first push was unordered22:07
jamlifeless: https://code.edge.launchpad.net/~jameinel/bzr/2.1b1-pack-on-the-fly/+merge/11162 whenever you want22:07
lifelessjam: and the mirror fetch was gc and fragmented22:08
jamlifeless: ah, so when I access over sftp, I'm actually getting the mirrored copy?22:08
jamlifeless: then +122:08
lifelessyes22:08
lifelessspm: please, on codehosting, run bzr pack in mirror copy22:08
lifelessthe one with the 90MB pack22:08
spmsure22:08
lifelessit won't stop this going ugly, but it will help mitigate22:09
spmwant a backup copy first? JIC?22:09
lifelessno22:09
spm:-) brave man22:09
lifelessdo the same for the 1.17 1.18 2.0 public branches22:09
spmoki22:09
jamspm: Not worried about 'bzr pack' destroying things22:09
lifelessspm: pack happens automatically everywhere; if you have to back up before doing it, you'd have to backup before running commit22:09
spmew22:09
jam'bzr upgrade' is a bit more sensitive, but pack is pretty well handled22:09
spmright, makes sense22:09
lifelessspm: also, we have private master copies we can use *if* in the extraordinary event that pack went south22:10
lifelessso we're already backed up22:10
spmlifeless: this'll be using bzr 1.17 - I'm assuming that's ok22:10
lifelessto sumamrise22:10
lifelessspm: thats fine22:10
spm'kk22:10
lifelesswe think that: a) IDS didn't do a full pack during the 'upgrade', and perhaps-it-should perhaps-it-shouldn't22:11
lifelessand b) that fragmentation between the 1.17 GC order and the rev 4667 of trunk order turned 50MB into 90MB22:11
lifelessjam: https://pastebin.canonical.com/21820/ is the codehosting sizes22:11
lifeless07:11:57 41000/133780 commits processed at 635/minute (:41000)22:12
lifeless-rw-r--r-- 1 robertc robertc 89M 2009-09-04 07:06 a6968b0190033b59553272ded45d13fa.pack22:12
jamlifeless: yeah, the mirrors I was aware of, and that fits right at what I'm comfortable saying "this is fragmentation issues with older versions of bzr"22:13
jamlifeless: especially given that the gc order pqm pushed to lp would be different than the gc order22:13
jamthat lp thinks would be best pushing to the mirror22:13
jamlifeless: now to figure out why my network bandwidth isn't getting saturated while fetching from lp22:15
jameven in 'unordered' sorting22:15
jamlifeless: any ideas where to start?22:16
spmlifeless: https://pastebin.canonical.com/21822/ mirrors done for bzr.dev <== keep on truckin'?22:16
lifelessjam: get a network trace, we need data on out of order, window sizes etc22:16
lifelessjam: I've seen lp be a bit spotty from time to time, but we don't have a hard analysis22:17
lifelessspm: sweet go forward and pack22:17
spmon 2.0, 1.17 and 1.8? oki.22:17
lifelessspm: you can remove the contents of [but not the dir] obsolete packs there22:17
lifelessbzr will remove it itself eventualyl22:17
jamlifeless: of course, spm just borked my stream and it has to restart now :)22:18
spmI'll go for the latter option - eventual remove22:18
lifelessspm: kk22:18
spmjam: I deliberately waited till you were mid access :-P22:18
jamthough nice to see that it did so graciously, without interruption22:18
lifelessjam: \o/22:18
lifelessjam: should happen on the client side22:18
lifelessjam: unless you're using sftp22:18
jamlifeless: using bzr+ssh22:18
lifelesssorry, I meant to say 'on the server side'22:19
jamlifeless: yeah, it should notice the repack, and start reading from the new packs22:19
lifeless\o/ layers, and \o/ us22:19
jam_get_remaining_record_stream and all22:19
spmlifeless: fwiw. 2.0: -rw-r--r-- 1 codehost codehost 170K 2009-09-03 10:37 a6acd2ed3e0fa3df6e472d7476523cf7.pack <== the other file is 163K, even worth doing the pack?22:19
lifelessspm: oh hmm no22:20
lifelessignore22:20
KhaZHello: Apologies if I shouldn't ask about fastimport here, but I'm havnig some difficulty and hope someone can help.  Basically I'm trying to use the svn front end, and I'm getting: A lot of: Exporting revision 266... skipping. messages, with the result being that I don't get a valid bzr repo built.22:20
spmwill check 1.17 and 18 to be sure22:20
jamlifeless: is that because it is stacked?22:20
lifelessjam: yes22:20
lifelessKhaZ: you're welcome to ask about anything :)22:20
lifelessKhaZ: is it the svn export that is skipping, or the bzr import ?22:20
jamspm: So did you do the 'bzr pack' using 1.17?22:20
lifelessjam: yes he did22:21
spmjam: aye22:21
mneptoklifeless: why does God not intervene to stop bad people from doing bad things?22:21
mneptoklifeless: (this relates to the continued use of CVS by some people)22:21
lifelessmneptok: because he likes a little tittle himself22:21
KhaZlifeless: It's the export.  If I do the left hand side of the pipe:  ~/.bazaar/plugins/fastimport/exporters/svn-fast-export.py ~/dev/eddie_svn | bzr fast-import -, it still gives that message.22:21
spmmneptok: because that's mnepolo's job - God delegated.22:21
lifelessKhaZ: so, I don't know much/anything about the svn fastexport code22:22
lifelessuhm22:22
lifelessigc /might/22:22
KhaZAh, too bad.  Yeah, unfortunately the message isn't very helpful.  I don't know why it's skipping exactly.22:22
lifelessbut he won't be up for an hour and change22:22
spmlifeless: fwiw, 1.17 and 18 are empty on the packs22:22
jamlifeless: what is a good wireshark filter for excluding everything but ssh?22:22
lifelessKhaZ: if you just want to import to bzr, can I suggest bzr-svn's excelling svn-import command22:23
lifelessjam: port 2222:23
KhaZOh.  Neat.  OK, I'll try out svn-import.  Wasn't sure the difference.22:23
jamlifeless: ip.addr == 91.189.90.11 seems good enough22:25
jam(bazaar.lp.net)22:25
jamso about 18s in, it starts 'thinking'... presumably that is determining revs to send, etc22:27
jamlifeless: hm... I'm seeing a fair amount of 'retransmission' packets22:28
lifelessdo you have SACK enabled?22:28
lifelesswhat OS22:28
jamlifeless: Windows22:28
lifelessyes but which one22:29
jamVista Basic22:29
jamCurrent window is 25988822:29
jamthough it has gone down to 150 at the lowest22:29
jamwel, 15000022:29
jamyou know what, though. I'm also running in the basement, on wireless in the top floor22:31
jamit may just be wireless retransmission issues22:31
jamI don't generally notice, though22:31
jamAnd my connection looks good22:31
jamclaims 88% signal22:31
lifelessHKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters22:31
lifelessSackOpts22:31
lifelesswhats that set to / does it exist22:32
jamlifeless: no SackOpts exits that I can find22:33
lifelesscheck the wireshark handhake22:34
lifelesswas selective act enabled ?22:34
lifeless(in the 3 way handshake at the start)22:34
jamlifeless: I'm not really sure what to look for there22:35
lifelessso if there are lots of retransmissions22:36
lifelessand selective ack is off22:36
jamdownload time with bzr.dev was at least 9m45s22:36
jamwhich is a lot better22:36
lifelessit has to retransmit the entire missing segments22:36
jamof course, that is with 3x less data :)22:36
=== cprov is now known as cprov-afk
KhaZHrmm.  I'm tryign to run bzr with the bzr-svn import stuff, but it's giving me an error: bzr: ERROR: exceptions.ImportError: cannot import name format22:49
lifelessare you installing by packages, or from source?22:50
lifelesswhat does 'bzr plugins' say - is svn listed?22:50
KhaZFrom package.  Gentoo's emerge, to be precise.22:50
KhaZNo module named send22:50
KhaZUnable to load plugin 'svn' from '/usr/lib64/python2.6/site-packages/bzrlib/plugins'22:50
lifelessodd22:51
lifelessthat should write a back trace to ~/.bzr.log22:51
KhaZThere is more to it, but nothing suspicious except that ilne22:51
KhaZWhat does it mean "no module named send"?  That's no python module I know of.22:52
KhaZeasy_install doesn't know of it either.22:52
lifelessis there a backtrace in the log?22:53
lifelessabout the plugin load failure?22:53
lifelesshttp://blog.sesse.net/blog/tech/2009-08-30-11-33_trying_to_understand_tcp_performance.html22:58
lifelessbah, jamgone22:58
lifelesshttp://blog.sesse.net/blog/tech/2009-08-30-11-33_trying_to_understand_tcp_performance.html22:58
KhaZAh, yeah, there is a log file there.  Let me see.22:59
=== thumper is now known as thumper-afk
KhaZYeah; apparently it's trying to load bzrlib.send and it doesn't exist22:59
KhaZI tried that from a python interpreter, same thing.22:59
lifelessKhaZ: could you pastebin the trace please23:00
KhaZCertainly.  One moment.23:00
KhaZSorry about the delay: http://pastie.org/60509523:02
igcmorning23:02
lifelessKhaZ: what version of bzr do you have?23:03
lifelessKhaZ: I strongly suspect that its quite old - current versions have a bzrlib.send module23:03
KhaZ1.15.123:04
KhaZIs that old?23:04
lifelesscurrent stable is 1.18, about to release 2.023:04
lifeless1.15.1 isn't hugely old - 4 months or so. But the error you're getting says that your bzr-svn is mismatched with your bzr[lib]23:05
KhaZAh.  Looks like Gentoo masks the recent versions23:05
lifelesshi igc23:05
jamlifeless: yeah, EOD for me23:05
igclifeless: fast-import will handle multiple branches23:05
jammorning igc23:05
igchi jam23:06
jamjust started another download with the new pack-on-the-fly to see if it is any different23:06
jamI'm guessing not23:06
lifelessjam: I'll review and land stuff23:06
jamlifeless: sounds good23:06
lifelesshttp://blog.sesse.net/blog/tech/2009-08-30-11-33_trying_to_understand_tcp_performance.html23:06
igcjam - do you have a moment for a very quick chat re installers?23:06
igceithe online or Skype?23:06
igcjam: I want to know whether build-release.py is still used?23:07
igcjam: and whether I can test out the buildbot stuff on linux separately to packaging as an installer?23:07
jamigc: I don't use build-release anymore23:08
jamThe last builds have been done purely with 'make installer-all'23:08
igcso it's obsolete?23:08
jamigc: yeah23:08
jamas of... 1 or 2 builds23:09
jamso not very obsolete23:09
igcok23:09
jamI just made the transition23:09
jamI need to go now, and I haven't found my cell phone... sorry23:09
igcjam: do I need cygwin?23:09
igcjam: np23:09
jamigc: you need 'make' etc, cygwin being the easiest way to get it23:09
igcI have make23:09
jamI generally install cygwin + gcc+mingw3223:09
jamfor building for py2.4 and 2.523:10
igcok23:10
jamI've started using VS 2008 for py2.6 ,though not on Kerguelen IIRC23:10
jamlifeless: on this transmission, my windows seems to be down to 64k23:10
jamand I'm still getting up-and-down on the transmission23:10
igcjam: ok bye for now - I'll email any other questions23:10
jamk23:11
jamigc: also 'python setup.py -c mingw32'23:11
jamis good to know about23:11
jambut there is also a 'disutils.cfg' or something like that you can set up23:11
jamso that it is always enabled23:11
jamI certainly recommend digging up my email to canonical-bazaar23:11
jamcirca, a few months ago23:11
jamprobably 'win32' in the title23:11
igcok23:12
lifelessigc: 08:12:56 52000/133780 commits processed at 414/minute (:52000)23:13
lifelessthe timing data23:13
lifelessis that over the last 1K23:13
lifelessor total time/total revs done23:14
igclifeless: averaged since the start - the last minute will be a lot worse than that23:14
lifelessit would be interesting to see that difference23:14
igclifeless: compare the time for 51k vs 52k23:14
lifelessbe a good clue about where it goes south23:14
lifeless08:08:24 51000/133780 commits processed at 421/minute (:51000)23:15
lifeless05:45:33 Collecting statistics ...23:15
lifeless06:07:24 Starting import of 133780 commits ...23:15
lifeless06:07:31 1000/133780 commits processed at 7707/minute (:1000)23:15
igclifeless: it will go south at 80k and 120k23:15
jamigc: it looks like the thread is 'More work on win32 installers' though it seems to have a lot more posts than I remembered23:15
lifelessigc: thats when you're doing a full pack yes?23:16
lifeless13 minutes or so @ 40K23:16
igcjam: do we have the archives online?23:17
jamigc: I believe so23:17
igclifeless: yep - full pack every 4 checkpoints by default and we checkpoint every 10k23:17
igclifeless: both numbers are controllable via options23:17
igcjam: I'll look - thanks23:18
lifelessyeah, I don't think they are the problem23:18
lifelessbut having a weighted or windowed average would be really useful23:18
lifelesshow would you feel about that23:18
jamlifeless: I have a couple of pcap files now. New download was much slower (14m vs 9m)23:19
jamanyway, really away23:19
igclifeless: I'm ok with whatever stats make sense23:19
igclifeless: as a comparison, the kernel with 145k revisions took 13 hours23:20
lifelessigc: right, but does this make sense to you ?:P23:21
lifelessigc: specificalyl, changing at X/minute23:21
lifelessto23:21
lifelessin $total_time[X/minute], last 1000 in $minutes[Y/minute]23:22
lifelessor something similar23:22
igcsure23:22
lifelessbecause I think its actually doing 250/minute23:22
lifelesswhich is hugely slower and more representative [it also suggests something to be looking into]23:22
igclifeless: kernel pack times fyi ...23:24
igc40k: 19 minutes; 80k: 49 minutes; 120k: 108 minutes23:24
igc145k: 90 minutes23:25
igcso 3.5 hours of the 13 in pack23:25
lifeless08:12:56 52000/133780 commits processed at 414/minute (:52000)23:31
lifeless08:23:55 53000/133780 commits processed at 388/minute (:53000)23:31
lifeless1000 in 11m - < 100/minute23:31
pooliehi all23:37
lifelesshi23:38
pooliejam, hi?23:39
moldyhi23:46
moldywhat exactly is the effect of being a "parent" branch of another branch?23:46
igchi poolie23:46
igcmoldy: being a parent doesn't affect a branch23:46
igcmoldy: having a parent means there's a default location to pull from (for example)23:47
igcmoldy: and commands like 'bzr diff -rsubmit:' show you what's changed via you started on this branch23:48
igcs/via/since/23:48
moldyigc: it has no effect on the way the history is kept, right?23:48
igcmoldy: right23:49
igchi emmajane23:50
moldyigc: ok, thanks23:50
igchow is/was the conference?23:50
emmajaneigc, hey23:50
emmajaneigc, it's going well. I did my presentation today and people seemed to like it, so that's always good.23:50
emmajanetwo more days.23:50
igcemmajane: well done23:51
emmajaneigc, thanks :)23:51
igcemmajane: square-dancing vs php right?23:51
emmajaneigc, aye :)23:51
emmajaneigc, at 9AM23:51
igcemmajane: it's never too early for square dancing :-)23:52
igcphp on the other hand ...23:52
emmajaneigc, that's what i thought too :)23:52
emmajaneigc, people thought I was completely nutters but then decided I might be right.23:52
* fullermd glances over at IRC from his PHP-writing...23:53
lifelessfullermd: feeling dirty yet?23:53
fullermdYet?  Was it supposed to go on hiatus at some point?23:53
* emmajane chuckles23:53
moldyi have 2 branches that, according to bzr, "share no common ancester". what is the right way to make one branch the ancestor of the other?23:54

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