/srv/irclogs.ubuntu.com/2011/09/26/#bzr.txt

vilahi all !06:08
pooliehi there vila06:09
vilapoolie: _o/06:10
* fullermd waves in some vague direction.06:12
pooliehi md06:28
jammorning all06:55
vilajam: _o/07:03
vilamgz: welcome on board !07:04
=== jpds_ is now known as jpds
fayazhi, is there a shortcut to remove the working tree from a branch?07:24
lifelessbzr remove-tree07:24
fayazlifeless: thanks07:25
fayazlifeless: what about for a shared repo?07:27
lifelesssame07:27
poolievila, so we agreed we're going to try to release lazr.restful, package it, etc?07:49
poolieif i don't get to it first you can07:49
jampoolie: weren't we going to do the 1:1 today?07:52
poolieyes, hi07:52
pooliewas (unnecessarily) waiting for you07:53
jampoolie: ah, I said hi around 9, but you probably missed it07:54
jamI didn't see you talking, so didn't think you were around07:54
poolieshall we talk here or on the phone?07:55
jampoolie: either is fine by me07:55
poolieok just busy here for a sec07:56
jamnp07:57
leo2007I am getting this msg with the emacs repo. How to fix it? http://paste.pound-python.org/show/1301907:57
poolieleo2007, 'bzr tag --delete  mh-e-8.3' and   mh-e-doc-8.308:02
pooliethen pull again08:02
leo2007poolie: many thanks.08:03
mgzmorning all.08:05
leo2007I am running Bazaar (bzr) 2.3.1. Is there sth I need to pay attention to when upgrading to 2.4.108:07
leo2007some pages look like this on chrome http://imagebin.org/17411208:08
poolieleo2007, no, upgrading to 2.4.1 is safe08:17
poolieleo2007, that's interesting08:17
pooliei don't think it's connected to  bzr08:17
poolieare you in the middle of upgrading your os, perhaps?08:17
pooliemgz, hello!08:19
mgzhi poolie!08:19
pooliehi there08:20
pooliewelcome08:20
poolie:)08:20
jamhey mgz! Good morning to you! And welcome to the gang :)08:20
jamleo2007: If you're upgrading the OS, I've seen some weird bits with rendering and certain Video drivers. It seems launchpad uses a very large image and then pulls sprites out of it. But its never hidden the text, just certain icons for me.08:23
poolie(all, mgz is joining Canonical starting today, there will be mail in a little bit)08:23
pooliemgz, when did you plan to typically start your day - around 9?08:23
mgzyes, planning to do that to start with then if it turns out to be better to do earlier or later will adjust.08:24
leo2007jam: no I am not upgrading os.08:31
jamleo2007: the only thing you upgraded was bzr and you started getting weird rendering in Chrome. Seems odd.08:32
poolieleo2007, suggest we ask in #launchpad08:32
leo2007no, no, I was browsing the bzr website and some of its pages load weirdly08:34
vilamgz: |0/08:40
vilaoops \o/ I meant :)08:40
leo2007ok, now I am on 2.4.1 ;)08:41
fullermdvila: I should hope that's what you meant.  Otherwise, there's something wrong with your head...08:46
vilasmoke going out mainly08:46
mgzokay, getting there...08:46
pooliehi mgz, flapping much?09:32
mgzjust trying to work out what I'm going to do over email :)09:33
jelmerjam: You mentioned making a few updates to your 2.5-soft-hangup MP, but they don't appear to be on lp yet?10:44
jamjelmer: I did push, but not commit :)10:45
jamshould be there now10:45
jelmerheh, thanks10:45
* jelmer waits for the MP to update10:45
jelmerI'm looking forward to those longpoll changes to launchpad...10:46
Riddellif I have a string of a class's name, how can I instansiate the class?11:00
jelmerI guess something like eval(name)() assuming the class is properly imported, etc11:01
jelmerRiddell: why would you want to though? It's usually a bad idea11:01
Riddelljelmer: because your rewrite plugin lists the commands as strings in the info.py file :)11:01
jelmerRiddell: heh, ok11:02
jelmerRiddell: there is a method for looking up command classes by string11:02
jelmerRiddell: bzrlib.command.get_cmd_object11:03
Riddelljelmer: I don't think that'll work though if the plugin isn't installed11:04
jelmerRiddell: true11:04
jelmerRiddell: what are you trying to do exactly, what do you need?11:04
Riddellexporting the strings from rewrite plugin11:05
jelmer... without having it installed ?11:05
RiddellI think expecting the plugin to be installed is too much of an assumption11:05
jelmerRiddell: why do you need to look up classes though?11:07
RiddellI need to instansiate the class to pass it to bzrlib.export_pot._write_command_help11:07
jelmerRiddell: if you need to instantiate anything, that requires loading the plugin11:08
jelmerRiddell: that doesn't seem too bad though, it's always possible to use the BZR_PLUGINS_AT env variable11:09
Riddellit works fine to just run  cmd_rebase()11:09
jelmerRiddell: that's not guaranteed for any of the other plugins though, which may rely on other code in __init__.py having run11:12
jelmerRiddell: it's odd that just cmd_rebase() would work - did you import anything else, do you have bzr-rewrite installed perhaps?11:15
Riddelljelmer: this is what I have http://paste.kde.org/127417/11:16
jelmerRiddell: that's only going to work if you have the plugin installed11:17
jelmerRiddell: it also assumes that the commands are living in commands.py, which isn't necessarily true11:18
mgzokay, I've sent a hello message to the mailing list11:18
Riddelljelmer: I don't  have rewrite installed (according to `bzr plugins`11:18
mgzif someone is free later to try testing out voip things with me, that would be really handy11:18
Riddelljelmer: well this is specific to bzr-rewrite, other plugins would have to adapt11:18
Riddellmgz: ah, you're on a new mailing list, that's exiting :)11:18
Riddellmgz: I've never done voip, how are you setting it up?11:19
mgzon this machine if at all possible, otherwise I'll just use my phone11:20
jelmermgz: hello!11:20
mgzjelmer: hi, nice to meet you!11:21
jelmerRiddell: I'd personally prefer something more generic, even if that somehow requires loading the plugin11:21
jelmerRiddell: importing info and commands is going to load some bits of the plugin anyway, so I don't really see how what it gains us11:22
jelmermgz: :)11:22
Riddelljelmer: well this way e.g. packagers can run make update-pot and know it'll work, if you have to have the plugin installed it might pick up the wrong version of the plugin or not work at all11:23
jelmerRiddell: This is much more likely to regress because importing commands might require on side-effects from __init__11:24
jelmerriddell: there are ways to load plugins from specific locations11:24
jelmervila: ^11:25
vilaBZR_PLUGINS_AT ?11:25
Riddellmgz: doesn't a voip account require asking sysadmin for one, or are you not using canonical's server?11:25
jelmerRiddell: I got my VOIP credentials by email automatically on my first day?11:26
fullermdIt's a rite of passage.  You're supposed to hack into the server and set yourself up...11:26
vilajelmer: Not sure I understand the question :-}11:27
jamjelmer: if there is anything I can do to make it easier to review my changes, just ask. I'm happy to discuss them line-by-line, etc.11:28
jelmerjam: I'm having another look at them now11:28
jammgz: I've got voip set up if you want to test it, or mumble, or whatever11:29
Riddellvila: I need objects of cmd_rebase etc from the rewrite plugin so I can pass them to export_pot._write_command_help() and get the translations11:31
vilaRiddell: about your pasted snippet, beware that '-' is translated to '_' between the command name and command class name, get_command_object which should take care of that11:31
Riddellit seems to work fine if I just do  foo = cmd_rebase()  but that might not be reliable for all commands11:32
vilanot all plugins use the info.py trick and the ones who do don't necessarily declare bzr_commands :)11:35
jelmer.. and not all of them have their commands living in commands.py11:35
vilayeah, so, bzrlib.commands.plugin_cmds may be a better source11:35
Riddellmm11:42
jelmerjam: I'm getting an additional leaked thread from bb.test_serve with your MP12:04
jamjelmer: I don't....12:05
jambut let me check another machine12:05
jelmerjam: aren't you missing a call to finish_bzr_subprocess?12:05
jamjelmer: could be12:05
jelmerthat fixes it for me, fwiw12:06
jelmerhttp://pastebin.ubuntu.com/697224/12:06
jamjelmer: I'm calling "assertFinishesCleanly" right?12:07
jelmerjam: nope12:07
jamhmm, I was12:07
jelmerjam: IIRC assertFinishesCleanly tries to send a SIGINT12:08
jamjelmer: so add assertFinshesCleanly12:08
jamafter the readline12:08
jamfor the test involved either is fine.12:08
jamAll I'm testing is that you *can* connect, and that SIGHUP triggers the shutdown code.12:08
jelmerjam: assertFinishesCleanly doesn't work:12:08
jelmera = 'bzr: interrupted\n'12:09
jelmerb = 'Waiting for 1 client(s) to finish\nbzr: interrupted\n'12:09
jamIf we want, I can extend that code and make sure it doesn't actually stop12:09
jelmerfinish_bzr_subprocess seems fine though12:09
jelmersince it doesn't check stdout12:09
jamjelmer: and, TBH, that "waiting for 1 client" is going to be random, depending on timeouts, etc.12:09
jamjelmer: let me poke at that one, I actually want to do something like the 1MB tests I was doing elsewhere.12:09
jelmerhere's another one I hit: http://pastebin.ubuntu.com/697229/12:10
jamwe could certainly leave the test to only make sure that "Requested to stop gracefully" and assume that means everything is hooked up12:10
jamjelmer: thx, I've been doing mixed windows and Linux testing. And I changed that line from 'signal.signal.' to signal.getsignal12:10
jambut didn't notice because it doesn't run on Windows.12:11
jamjelmer: so... What do you think about having a test that writes 1MB to disk? It seems a bit ugly. I want it to be larger than the socket buffer, though.12:11
jelmerjam: is it really writing 1MB to disk? from my reading of the test it seemed like it put 1Mb on a memorytransport12:13
jamjelmer: that was the other tests. I'm thinking to adapt the 'bb.test_serve' test to do something similar12:13
jam64kB is probably enough12:13
jam(waits for fuller-md to notice :)12:14
fullermdIt's not a real test unless it's a prime number.12:15
jelmerjam: It seems pretty well tested at this point, what's the reason you're thinking of having the bb.test_serve test do something similasr?12:23
jelmer*similar12:23
jamjelmer: acceptance test12:23
jamsince it is a 'blackbox' test.12:23
jelmerhmm12:23
jelmeris there a portable way to set the socket buffer size/12:24
jelmer?12:24
jelmerjam: if there's no other way to test it, then it doesn't seem too unreasonable. Of course, we shouldn't be doing stuff like this in too many tests..12:26
jamjelmer: there is setsockopt(SO_SNDBUF)12:26
jamThough I'm pretty sure 64kB is sufficient, 1MB I would think is quite big12:26
jamjelmer: the test passes on devpad at 64kB12:27
jamjelmer: if I did it correctly, there is only ~1 new acceptance test is bb.test_server12:27
jamI agree that we shouldn't do them for most testing12:27
jelmerjam: that seems perfectly fine to me, fwiw12:28
jamjelmer: updated test pushed12:30
jamand the fix for signal.getsignal12:30
jamwell, pushed now. (had to put in ssh key:)12:30
jamr602112:30
jamr620112:30
jelmerjam: lo12:36
jelmerjam: sorryu12:36
jelmerargh, my keyboard is acting up12:37
jelmerjam: Anyway, I was going to say that it all looks reasonable to me. The large number of tests is really nice, and actually helped me understand how things are working.12:37
jamjelmer: yeah, it helped me to assemble it as well :)12:40
jamThere were a couple of races in the code (racing against the test suite), but I was able to think them through, and make sure things were changed12:40
jamso that there was always communication between the time variables were inspected.12:40
jam(make sure to add the item to the list before you talk on the socket, etc.)12:41
jelmerjam: yeah, it seems particularly hard to consider all the corner cases here12:42
jelmerjam: was somebody else still looking at your other in-progress MP?13:04
mgzokay, had lunch, and am on mumble server13:04
mgz...I probably need a better mic though13:04
mgzcan someone spare a moment to come on and tell me how much too quiet I am?13:05
jamjelmer: poolie approved it offline13:08
jelmerjam: cool13:08
* jelmer stumbles onto mumble for a bit too13:11
=== med_out is now known as medberry
jelmerworking mumble in under 5 minutes!13:18
* jelmer sees progress13:18
mgzcool, mumble experiment worked13:42
mcepl_could somebody suggest 100% working way how to get working bzr fast-export on Fedora?13:43
mcepl_I have to do symlinking of fastimport to ~/.local/lib/python27/site-modules and yes I get this backtrace http://fpaste.org/RFaK/13:43
jelmermcepl_: do you perhaps also have fastimport in ~/.bazaar/plugins with a different name?13:47
mcepl_jelmer: well, I have ... when I don't how is bzr supposed to find it?13:47
mcepl_I am sorry, i am not very good with bzr (use fast-export only to get the repository to git so i don't have to bother with bzr anymore ;))13:48
jelmermcepl_: bzr will either find it in the standard Python import path at bzrlib.plugins.fastimport13:48
jelmeror you can add the plugin in ~/.bazaar/plugins, e.g. "bzr branch lp:bzr-fastimport ~/.bazaar/plugins/fastimport"13:49
mcepl_when I tried to follow http://doc.bazaar.canonical.com/plugins/en/plugin-installation.html13:49
mcepl_which doesn't work13:49
mcepl_let me give you the error message13:49
mcepl_jelmer: http://fpaste.org/PHVY/13:51
mcepl_what am I missing?13:51
jelmermcepl_: can you pastebin the output of "bzr plugins -v" ?13:53
mcepl_no problems there http://fpaste.org/ZmiO/13:54
jelmerhmm13:56
jelmermcepl_: did you try to install fastimport any other way perhaps, are there other copies elsewhere on your system?13:56
jelmerit seems that somehow "from fastimport import ..." is loading the bzr plugin rather than the fastimport python module13:57
mcepl_I don't think so http://fpaste.org/LiCQ/13:58
jelmermcepl: /home/matej/.local/lib/python2.7/site-packages/fastimport13:58
jelmermcepl_: what's that?13:58
mcepl_locate fastimport from whole system13:58
mcepl_proof, that there is no other copy of fastimport here13:59
jelmermcepl_: what kind of link is it?13:59
mcepl_oh, that's a dead symlink to13:59
mcepl_when i remove that I get13:59
mcepl_mitmanek:~ $ bzr selftest fastimport13:59
mcepl_bzr: ERROR: No module named fastimport13:59
mcepl_You may need to install this Python library separately.13:59
mcepl_mitmanek:~ $13:59
jelmermcepl_: You need to install the python fastimport module (which is different from the bzr fastimport plugin)14:00
mcepl_doh14:00
mcepl_where does it grow?14:00
jelmerit's in the cheeseshop, or http://launchpad.net/python-fastimport14:01
mcepl_I don't think we have it in Fedora14:02
jelmer(or packaged in Debian/Ubuntu/Arch/Fink/..., but I guess you're on RH ?)14:02
jelmeryeah14:02
mcepl_OK, got it14:03
mcepl_I accept that this is PEBKAC, but I think there could be something more explicit at somewhere.14:04
mcepl_now I have succesful selftest14:04
jelmermcepl_: yeah, it's a bit unfortunate. the bzr-fastimport commands ("bzr fast-import", etc) give a clearer message but not selftest14:05
mcepl_jelmer: any ideas about http://fpaste.org/91vw/ ... (it's bitlbee repo BTW)14:13
mcepl_bzr: ERROR: 86daca7b9076381129708faf127820de.iix is not an index of type <class 'bzrlib.btree_index.BTreeGraphIndex'>.14:14
mcepl_bazaar 2.4.0, git 1.7.6.214:16
jelmer"charis:/tmp/bitlbee.git% bzr fast-export --plain http://code.bitlbee.org/bitlbee | git fast-import" seems to work fine here14:18
mcepl_I'll try once more from plain directory14:18
mcepl_no error, but14:20
mcepl_16:20:12 WARNING: not creating tag u'1.2.7-1' pointing to non-existent revision wilmer@gaast.net-20100515151824-1bv2apjub0w9c66j14:20
jelmermcepl_: right, git doesn't support ghosts14:21
=== Riddell_ is now known as Riddell
mgzjam: is there extra overhead for a 'def' function in pyrex than a 'cdef' one? I forget.15:27
jammgz: a 'def' function is a regular python func, accessible to other python code15:28
jamcdef is a pure C func, not accessible from general python code15:28
mgzright, and if I want to expose a (currrently) cdef function, should I wrap it in a new def one, or just change it to def?15:29
mgzI'm looking at dirstate.pack_stat15:29
jammgz: 'it depends' :) If it is critical time, you want a wrapper15:29
mgz(...which I also have problems benchmarking... the best I've come up with is a big tree and touching every file)15:29
mgzokay, a wrapper is what I have, will commit15:30
jammgz: you shouldn't have to touch every file, a big tree should be enough15:30
jamspecifically, pack_stat gets called for each one to compare it to the stored value15:30
mgzah right, but I can't then see it in the profile because the pyrex version is called directly from another pyrex function15:32
=== deryck is now known as deryck[lunch]
exarkunbzr error, <http://buildbot.twistedmatrix.com/builders/winxp32-py2.7/builds/440/steps/bzr/logs/stdio>, "Cannot create a file when that file already exists"16:06
mgzhm, can you make your bot use -Derror exarkun?16:12
exarkun'bzr -Derror checkout ...'?  Probably not.16:13
mgzcould set it in bazaar.conf instead?16:16
mgzif you could find that error in .bzr.log that would do too.16:18
exarkunI can probably find it in .bzr.log16:19
exarkuner, if I can find the directory that file is in.16:20
exarkunah, there it is.  I wonder how to get it off this computer.16:24
mgz...I hope you're not typing it across by hand :)16:35
vila... he needs to learn it by heart before he starts typing16:41
mgzokay, end of day 1 aim, fix two bugs with seven duplicates between them.16:43
vilamgz: way to go ! Congrats !16:46
=== beuno is now known as beuno-lunch
mgzfirst, to write some tests...16:47
=== deryck[lunch] is now known as deryck
Noldorinhi jelmer17:09
jelmerhi Noldorin17:09
Noldorinhow's it going?17:10
Noldorinany much progress? :-)17:10
=== beuno-lunch is now known as beuno
SpamapSIs there a way to force a 'bzr export lp:something' to not use ssh ?20:52
mwhudsonSpamapS: BZR_HOME=/tmp bzr export ... probably works, for slightly obscure reasons20:58
mwhudsonSpamapS: why do you want to avoid ssh?20:58
mwhudsonjelmer: i assume you've seen https://code.launchpad.net/~python-dev/python/trunk and related fun?20:58
SpamapSmwhudson: automated test21:00
SpamapSmwhudson: in a chroot, so it won't have access to my SSH keys21:00
mwhudsonah ok21:00
SpamapSactually thats perfect that solves some of my other problems.21:01
mwhudsonSpamapS: don't set launchpad-login in the chroot?21:01
SpamapSI don't21:01
SpamapS$HOME is bind mounted..21:01
SpamapSso its picking up anything in there21:01
mwhudsonoh21:01
mwhudsonright21:01
SpamapSexporting that at key moments to /tmp/sometmpdir will work actually21:01
mwhudsonthen BZR_HOME=/random/stuff21:01
mwhudsonis probably reasonably appropriate21:02
mwhudson(or running as a different user in the chroot, or something)21:02
jelmermwhudson: yep, working on submitting an updated bzr-svn21:20
KilrooThis is relevant to my interests.21:27
KilrooHehe. I was actually just revisiting bzr today for purposes of comparing bzr-svn and hgsubversion.21:28
jelmerKilroo: this issue has already been fixed in bzr-svn, it's just because of the snapshot of bzr-svn launchpad is using21:29
KilrooI don't know what issue you mean; I just happened to get home from work and look in here and see you talking about it. I was entertained.21:30
jelmerah, ok :)21:30
KilrooI think I figured out the shortest sequence of steps to combine bzr-svn and bzr-colo to result in the closest possible analog to what hgsubversion does by default with a TBT svn-layout.21:31
jelmerI'm not sure what hgsubversion does by default - what did you end up with?21:33
KilrooAh...well, what I actually tested was...I think... bzr colo-init; bzr svn-import <source> .bzr/branches/origin; bzr switch colo:origin/trunk; bzr colo-prune colo:trunk21:34
KilrooI'm actually curious whether bzr init-repo --no-trees; bzr svn-import <source> .bzr/branches/origin; bzr checkout --lightweight colo:origin/trunk would accomplish effectively the same thing.21:35
jelmeryou'd definitely need colo-init somewhere in there if you want to use bzr-colo21:36
Kilroook. That was the part I wasn't sure about, because one of the things I was looking at seemed to imply that switch colo:etcetera would work without it.21:37
KilrooIncidentally, If you have hgsubversion and you hg clone the root of a trunk-based svn repository it just translates it into Mercurial named branches.21:38
jelmerKilroo: we're making colocated branches a part of core bazaar, so in the future just "bzr clone <svn-url>" would do the same thing21:39
KilrooYeah, I was reading up on that.21:39
jelmermwhudson: still there?21:40
mwhudsonjelmer: hi21:40
jelmermwhudson: can I trouble you for a quick lp review? It's the update of bzr-svn to fix the tags issue21:42
mwhudsonjelmer: sure21:42
mozmckI'm using tortise bzr in windows.  Can I revert to a previous revision of my code but still keep the changes I'm reverting away from?22:02
ccxCZyou probably want uncommit then, not revert22:03
mozmckWill this keep my changes in the repository?22:05
mozmckThe revision I want is 3 revs back.22:05
ccxCZif you want to diff to that revision you can just do that. if you want to create separate working tree on that revision, you can checkout that specific revision22:07
ccxCZnot sure what you are trying to do22:07
mozmckI guess checking out the specific revsion in another tree will work.22:08
mozmckI am trying to go back to some code I had working, but keep my other changes in case I need them later.  A separate tree is probably the best way.22:09
ccxCZprobably. you can also shelve your changes22:09
mozmckAh, hadn't seen that command before.  Thanks!22:11
pooliemozmck, ccxCZ, if you want to keep uncommitted changes use shelve23:09
poolieif you want to leave the committed changes alone but go back to a previous revision, use update23:09
mwhudsonjelmer: i guess you didn't need me for that review after all?23:21
jelmermwhudson: sorry, I forgot to mention23:21
jelmermwhudson: my kernel oopsed and when I rebooted Curtis had already done a review23:22
mwhudsonjelmer: hahaha23:22
jelmermwhudson: thanks, though23:22
mwhudsondon't worry, i haven't been hanging around waiting23:22
jelmermwhudson: heh23:23
jelmermwhudson: thanks for *offering* to review that branch :P23:23

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