[00:01] <meoblast001> wgrant: so having old email addresses is normal?
[00:02] <spiv> Good morning.
[00:02] <igc> hi spiv
[00:02] <wgrant> meoblast001: People change email addresses. You cannot change them in old commits. I think so.
[00:02] <meoblast001> well, you can, but it's not normal :P
[00:03] <meoblast001> and it breaks compatibility of all branches
[00:03] <igc> verterok: see https://answers.edge.launchpad.net/bzr-explorer/+question/84897. Was it ok to say that?
[00:04] <meoblast001> wgrant: one last question, do most version control systems also use emails like bazaar does?
[00:05] <meoblast001> bazaar is the only real version control system i've used with any of my projects
[00:05] <wgrant> meoblast001: I think all the DVCSes do, but I couldn't be sure.
[00:05] <malept> hi spiv, I believe you know the most about smart http servers?
[00:05] <wgrant> SVN does whatever it wants.
[00:05] <spiv> malept: probably, yeah
[00:06] <malept> spiv: what does ""An attempt to  access a url outside the server jail was made""
[00:06] <malept> mean?
[00:06] <meoblast001> wgrant: well, as linus torvalds says, svn is horrible, right? ;)
[00:06] <wgrant> meoblast001: Yes.
[00:06] <malept> (followed by a chroot-[somenumber]:///)
[00:07] <spiv> malept: probably that you're hitting https://bugs.edge.launchpad.net/bzr/+bug/348308
[00:07] <spiv> malept: there's a work-around in the last comment.
[00:07] <verterok> igc: yes it was ok, I plan to make a installer for Tiger...but I don't have Snow Leopard and don't think I'm going to buy it in the short or medium term (as my main desktop is Ubuntu)
[00:08] <igc> verterok: cool. As long as the code for the installer is available, I'm sure someone will step up and do the Snow Leopard build.
[00:09] <malept> spiv: ok, thanks for the pointer
[00:09] <igc> In the worse case, I have a copy (which might work in a Parallels VM)
[00:09] <verterok> igc: I'm using jfroy's package branch as with that approach was quite easy to get it working :)
[00:10] <verterok> igc: also I added some infrastructure to make it compatible with all supported OS X versions ;)
[00:11] <igc> verterok: sounds very promising. I'm sure we'll have a heap of OS X users take up Bazaar once Explorer can be easily installed
[00:12] <jfroy|work> making a bundled version of Explorer shouldn't be terribly hard I think
[00:12] <verterok> jfroy|work: bundled? like a standalone "bzr.app"?
[00:13] <jfroy|work> yeah
[00:13] <jfroy|work> that's what we should go for
[00:13] <jfroy|work> guessing widely, either you can use a shell script doing "bzr explore" as the bundle's main executable
[00:13] <verterok> jfroy|work: I have been trying to build such beast using py2app, without much success. but I have a CLI only bzr bundle working
[00:13] <jfroy|work> or setup a small C program that loads up the interpreter and kicks off the command
[00:14] <verterok> jfroy|work, igc: the main issue I think is some bug in python 2.5 subprcoess module that makes explorer and Qbzr unusable :(
[00:15] <jfroy|work> cute
[00:15] <verterok> jfroy|work, igc: I keep getting: [Errno 4] Interrupted system cal
[00:15] <verterok> *call
[00:16] <verterok> each time I click in any button of explorer :(
[00:24] <verterok> igc, jfroy|work: I just pushed my branch, isn't finished yet but works for me (tm): lp:~verterok/+junk/OSX-package
[00:24]  * verterok needs to run, bbl
[00:24] <verterok> later!
[00:25] <igc> bye
[01:27] <poolie> igc, i'm planning to fire the announcement today
[01:27] <poolie> and then... should i tweak the web site more, or leave it to you?
[01:27] <igc> poolie: cool. Got KDE screenshots overnight so I'm just uploading a KDE tour now
[01:28] <igc> poolie: I'm happy for you to tweak the website from here
[01:28] <poolie> ok
[01:28] <poolie> i think my next thing would be to either get the fonts working
[01:28] <poolie> s/working/the right size
[01:29] <poolie> though that might be better left to someone who knows what they're doing :)
[01:29] <poolie> or to change it to be templated, so that we can add some dynamic content
[01:29] <igc> templated would be good
[01:30] <igc> I think we're better to leave the font tweaking to web designers myself
[01:30] <igc> it's fiddly
[01:39] <poolie> right
[01:39] <poolie> spiv, hi?
[01:47] <spiv> poolie: hey
[01:47] <spiv> poolie: had a good trip home?
[01:55] <poolie> yes thanks
[01:57] <poolie> igc, is it really worth having totally separate tours for every environment?
[01:57] <poolie> is it the same content and just different screenshots?
[01:57] <igc> poolie: content is 95% the same but there are differences
[01:58] <igc> poolie: people like to see programs running in their environment
[01:59] <igc> and its the best way IMO to drill home the cross-platform message
[01:59] <poolie> ok
[01:59] <igc> poolieL I still see lots of comments on IRC like "explorer is only for Windows isn't it"
[01:59] <igc> so I want to put that to bed forever
[02:00] <poolie> i was wondering if one document showing multiple systems would get that across more effectively
[02:00] <poolie> if people land on the windows one they might still be confused
[02:01] <igc> the fist paragraph in every tour points to the others
[02:02] <igc> first
[02:08] <poolie> spiv is there a master bug for toomanyconcurrentrequests masking other errors?
[02:10] <spiv> poolie: bug 429747 is the closest, I think.
[02:14] <poolie> how did you get along with that bug last week?
[02:33] <quidnunc> If I tried an upgrade and it fails, how do I restore the original version?
[02:35] <poolie> quidnunc: mv .bzr  bzr.broken; mv backup.bzr .bzr
[02:45] <spiv> poolie: so the only_raises decorator appears to work well.  The test fallout from applying it to various unlock methods was pretty minimal.
[02:45] <poolie> ok
[02:46] <spiv> I've pushed up an update to that which adds a brief section to HACKING which tries to explain when to use it, and which exceptions to allow when using it.
[02:48] <quidnunc> poolie: I get "ERROR: No repository present" after doing that (bzr log)
[02:49] <poolie> k
[02:49] <poolie> what else is new with you?
[02:50] <poolie> what's in your .bzr now, quidnunc?
[02:50] <quidnunc> poolie: branch, branch-lock checkout, backup.bzr, branch-format, README, repository.backup
[02:52] <poolie> quidnunc: really? is this with an old bzr perhaps?
[02:53] <poolie> anyhow it looks like you have to restore repository.backup to being just 'repository'
[02:53] <quidnunc> poolie: dunno:  bzr://rudel.bzr.sourceforge.net/bzrroot/rudel/trunk
[02:53] <poolie> inside .bzr
[02:53] <quidnunc> poolie: Thanks, that seemed to work
[02:53] <poolie> i hope to work on making upgrade smarter soon
[03:57] <spiv> poolie: https://bugs.edge.launchpad.net/bzr/+bug/437626 has me stumped
[03:58] <poolie> ah
[03:58] <poolie> me too a bit, i've never seen that message before
[03:58] <spiv> lifeless and I wrote the code with that assertion.
[03:59] <idnar> so it's all you fault
[03:59] <idnar> *your
[03:59] <spiv> Hmm...
[03:59] <idnar> ;)
[03:59] <AfC> idnar: :)
[03:59] <spiv> I wonder if that assertion requires a stacked target to occur, which would suggest stacked branches locally.
[04:00] <poolie> so
[04:00] <poolie> can you reproduce it?
[04:00] <spiv> Hmm, yes, it's triggered by the target..
[04:00] <spiv> No, although I wasn't trying with stacking locally.
[04:01] <spiv> Although it would be a bit weird for "bzr branch" to produce a stacked branch locally.
[04:01] <spiv> I mean, it's possible to make that happen, but I'd be surprised if people had actually configured that.
[04:02] <spiv> I wonder if it's something like: "make shared-repo; make branch in it stacked on launchpad; make branch a new branch from launchpad".
[04:03] <spiv> i.e. perhaps doing a fetch for a non-stacked branch into a repo that was previously only used for stacked branches causes this?
[04:06] <poolie> oh, because it's creating effectively a situation with lots of ghosts?
[04:06] <poolie> because the repo is kind of hollow underneath the other branches?
[04:06] <poolie> could be
[04:07] <spiv> Yeah.
[04:07] <spiv> Just trying to reproduce that now.
[04:09]  * spiv blinks at the *five* bzr+ssh connections bzr branch --stacked -r1000 lp:~ubuntu-core-dev/upstart/ubuntu reports.
[04:19] <poolie> !
[04:19] <poolie> not so hot
[04:21] <mwhudson> impressive
[04:26]  * igc lunch
[04:43] <AfC> If an Ubuntu mirror is out of date, is there a central place to report that to?
[04:56] <poolie> afc, probably, but i don't know it off hand
[04:56] <poolie> maybe mirrors@ubuntu.com
[05:18] <AfC> poolie: k
[07:42] <poolie> sending announcement soon...
[07:51] <AfC> It would really be better if the "Bazaar Explorer" thing wasn't used in the same sentence as "GNOME" on your website, as it not a (HIG compliant, GTK based) GNOME application.
[07:56] <spiv> Lots of hail.
[07:58] <vila_> hi all
[07:59] <vila_> poolie: yeah for annoucement :)
[07:59] <bialix> hello bzr 2.0
[08:00] <AfC> spiv: fun tip: if you throw an appropriate base image from Terry Hills radar into the Weather Applet's Preference -> General Tab -> "Enable radar map -> Use custom address for radar map" Address field, say http://www.bom.gov.au/radar/IDR714.gif its
[08:01] <AfC> spiv: automatically & always there when you pop up the weather Details dialog
[08:01] <bialix> 2.0.0 is announced! Hooray! it's finally happens
[08:01] <bialix> somebody, adjust topic of the channel please
[08:02] <Lo-lan-do> And it should even be in testing tonight :-)
[08:04] <bialix> in testing? what?
[08:05] <Lo-lan-do> squeeze
[08:05] <spiv> AfC: thanks!
[08:07]  * bialix singing and dancing
[08:50] <igc> bialix: pypi updated too btw
[09:17] <jml> what I would like, in bzr
[09:17] <jml> is a way of pulling all of my trunk branches when I come online
[09:18] <spiv> jml: yeah, that would be nice
[09:19] <jml> such a plugin would actually be quite simple
[09:19] <jml> I mean, having a single command to do this would be quite simple.
[09:19] <spiv> jml: I guess you could put a shell script in /etc/network/if-up.d/...
[09:19] <jml> hmm
[09:20] <spiv> There's probably a more desktop-oriented way to do the same thing that would actually run as your user.
[09:20] <spiv> Presumably triggered off a dbus event.
[09:20] <spiv> I know that empathy does stuff in reaction to online/offline state changes.
[09:23] <igc> jml: jam wrote a update-mirrors plugin you could use as a starting point
[09:23]  * igc dinner
[09:24] <jml> igc, thanks.
[09:24] <mrevell> Hey peoples of the Earth, if I put this in Launchpad's identi.ca stream does it make sense? "Yet more congrats to the Bazaar community! Bazaar 2.0.0 is now out! If you haven't already, try the new default repo format, 2a -- zoooooom!" I'm thinking particularly wrt the 2a format comment, obviously.
[09:25] <spiv> mrevell: by "make sense" do you mean "is it accurate", or "is it appropriate"?
[09:26] <mrevell> spiv: accurate
[09:26] <mrevell> spiv: Happy also to take comments wrt how appropriate it is, though :)
[09:26] <spiv> It seems accurate to me, but I'm not enough of a microblogging user to know if people following @launchpad would mind it or not.
[09:27] <spiv> I'd possibly not mention "2a" by name, just call it the new default repo format.  I'm not sure why I say that, though :)
[09:28] <spiv> I guess because users shouldn't have to care about that sort of jargon.
[09:28] <mrevell> spiv: Yeah, won't mention "2a" by name. As for whether people will mind, I think it'll be fine. I tweeted/dented the new bzr website and got a thumbs up back.
[09:28] <mrevell> cheers sp
[09:28] <mrevell> cheers spiv
[09:28] <igc> mrevell: LP users may also be interested in the "visual tours" we've put together in the last few days. See http://doc.bazaar-vcs.org/explorer/en/index.html
[09:29] <mrevell> Ah, thanks igc. I was planning to blog about bzr 2.0.0 on the LP blog ... I'll mention the visual tours there too. ta.
[09:29] <igc> mrevell: there's tours for GNOME, KDE, Windows and Mac OS X so that should help communities encourage casual contributors
[09:29] <mrevell> ah, very cool
[09:29] <spiv> mrevell: I suppose squeezing in a tiny URL to a 2.0.0 tour or release notes would be good too.
[09:30] <mrevell> spiv: Yeah, good point. I guess I can lose the "zooom" :)
[09:33] <spiv> mrevell: Aw, I liked the the zooom! :)
[09:34] <mrevell> spiv: heh :) I've changed it to "Bazaar 2.0.0 is now out -- congrats to the bzr community! The new default format gives faster & smaller repos - zoooooom! http://is.gd/3ZZ78"
[09:34] <spiv> mrevell: :)
[09:34] <mrevell> Okay, cheers guys, posted.
[09:55] <bialix> igc: many thanks
[11:08] <ddaa> So, 2.0 is out, so when people say "bzr is much slower than hg and git", we can say "no, not anymore with 2.0".
[11:08] <ddaa> Congrats for the release BTW.
[11:08] <ddaa> But where are the benchmarks we can point people at so they'll at least consider it?
[11:09] <ddaa> I'd love to be able to say more than just "trust me, it's fast now, yes, I know I it's the 5th time I say that"
[11:15] <Kinnison> Hmm, with 2.0 out, I might consider switching to packaged bzr instead of running bzr.dev
[11:15] <Kinnison> congrats guys
[12:44] <Lo-lan-do> ddaa: I'm still having the feeling that the periodical repacks take too long.  But maybe my hardware is too old.
[12:47] <lifeless> Lo-lan-do: are you running 2a?
[12:47] <lifeless> Lo-lan-do: and are you talking local or remote?
[12:47] <Lo-lan-do> I am.
[12:47] <Lo-lan-do> Local.
[12:47] <lifeless> Lo-lan-do: and do you have the C extensions?
[12:47] <lifeless> {2a is the format, not the bzr software version}
[12:48] <Lo-lan-do> Don't know.  Do the debs have them?
[12:48] <lifeless> they should
[12:48] <lifeless> if you have 2.0.0 it will nag if they don't
[12:49] <Lo-lan-do> It doesn't seem to be complaining.
[12:50] <Lo-lan-do> http://paste.debian.net/48296/
[12:54] <Lo-lan-do> lifeless: Does that sound extreme to you? Maybe it's some misconfiguration on my side…
[12:56] <Lo-lan-do> Hm.  A bzr pack of a similar repo only using rich-root-pack on faster hardware happens in 15 seconds.  I guess my desktop PC is to blame.
[12:57]  * Lo-lan-do tries to compare with really identical repos
[12:57] <lifeless> Lo-lan-do: rich-root-pack and 2a times are not comparable
[12:58] <Lo-lan-do> Yeah, which is why I'm scping the 2a repo to the fast server.
[12:58] <Lo-lan-do> It only has bzr 1.16.1 though.  Another skew.
[13:08] <lifeless> Lo-lan-do: so, 3 minutes, how many revs?
[13:09] <lifeless> Lo-lan-do: or, how big is .bzr/repository/packs
[13:09] <lifeless> Lo-lan-do: and note that autopack *doesn't* do as much work as 'bzr pack'
[13:10] <Lo-lan-do> 7662 revisions, 67M
[13:10] <Lo-lan-do> Good to know.
[13:16] <Lo-lan-do> Hm.  1.16.1 with better hardware does the bzr pack in 1m25s on modern hardware.  Better.
[13:17] <Lo-lan-do> Is it expected that branching from a rich-root-pack repo into a 2a one is slow too?
[13:25] <johnf> jelmer: you about?
[13:39] <spiv> Lo-lan-do: yes, doing that has to convert all the data.  It's basically the same as doing "bzr upgrade".
[13:42] <Lo-lan-do> I see.
[13:42] <Lo-lan-do> Ah yes, 2a to 2a is indeed *much* faster.
[13:42] <Lo-lan-do> I can live with that :-)
[13:42] <spiv> Right, because it can simply copy most of it, rather than needing to extract and re-compress everything.
[13:43] <spiv> (And extract from a slower format...)
[13:44]  * Lo-lan-do waits for everyone to have a 2a-capable client
[14:02]  * Lo-lan-do reads /etc/bash_completion.d/bzr.simple
[14:02] <Lo-lan-do> Would it make sense to cache the results of bzr commands?
[14:03] <mzz> I doubt it, for most of them
[14:03] <Lo-lan-do> Er, sorry, missing quotes.
[14:03] <Lo-lan-do> Would it make sense to cache the results of "bzr commands" (for completion)?
[14:03] <mzz> "bzr help commands" you mean?
[14:04] <Lo-lan-do> Yes
[14:04] <mzz> that sounds reasonable to me
[14:04] <mzz> however, plugins.
[14:04] <Lo-lan-do> Yes, and upgrades and so on.
[14:05] <mzz> for upgrades I'd expect just checking the mtime of the bzr executable used to suffice
[14:05] <Lo-lan-do> I guess I could stat /usr/bin/bzr and expire stuff, but it doesn't handle plugins.
[14:05] <mzz> but I haven't thought about that very hard :)
[14:05] <mzz> for plugins you could similarly track the contents of the plugins directories, but that's not entirely trivial and may not always suffice
[14:06] <Lo-lan-do> I'm thinking about a dpkg trigger that would regenerate a static file when installing/removing a bzr* package, but it wouldn't handle locally-installed stuff.
[14:06] <lifeless> I would cache within a shell lifetime, I'd hesitate to cache longer than that
[14:07] <lifeless> Lo-lan-do: it also wouldn't handle optional deps being added or other such things; the list of commands is turing complete
[14:07] <Lo-lan-do> Yay.
[14:07] <mzz> and for locally-installed plugins you'd have to recursively check if any subpackages got their files updated, iiuc.
[14:08] <Lo-lan-do> Right.  I'll probably go the simple way and cache within the shell's lifetime.
[15:41] <michaelforrest> I always type 'bzr commit -am "commit message"' when I'm switching between git and bzr a lot. I wish it didn't error.
[15:41] <michaelforrest> (bzr: ERROR: no such option: -a)
[15:42] <luks> see that git is doing to your branch? :)
[15:42] <luks> meh
[15:42] <luks> *brain
[15:43] <luks> it's hard to NOT type branch in this channel
[15:43] <mzz> michaelforrest: I rarely use git, but iirc you mean you want bzr commit to accept and ignore -a?
[15:44] <luks> can't you somehow set git to use -a by default?
[15:45] <michaelforrest> mzz: yeah something like that - I'd rather have git accept and ignore -a than set git to do -a by default
[15:46] <michaelforrest> (for some reason...)
[15:46] <michaelforrest> (maybe because I'm more likely to do incremental commits from the command line with git, whereas I'd use bzr qcommit  to do incremental commits with bzr)
[15:47] <michaelforrest> maybe that's crazy though. it would probably better to change git's defaults as per luks' suggestion..
[15:48] <mzz> I don't remember how difficult it is to write a bzr plugin that'd do this
[15:48] <luks> pretty easy
[15:50] <michaelforrest> having a go at writing a plugin...
[15:53] <luks> an evil version would be http://paste.pocoo.org/show/143301/
[15:54] <luks> but yes, it is crazy :)
[15:55] <beuno> michaelforrest, you want to add all files and commit?
[15:56] <michaelforrest> beuno: I just don't want the error when I accidentally type -am instead of -m
[15:57] <michaelforrest> beuno: I will have to risk bzr suddenly adding a command -a that does something very different to what git does (please let's not let that happen ;) )
[15:58] <beuno> michaelforrest, creating a plugin that adds -a and does nothing should be very close to trivial
[15:59] <michaelforrest> beuno: yeah that's what I'm doing.
[15:59] <michaelforrest> beuno: my plugin is called "git_cushion"
[15:59] <luks> have you seen the code I pasted?
[15:59] <beuno> michaelforrest, "lol"
[16:00] <luks> surely it's not nice, but I'm not sure if it's worth creating a nice solution for this
[16:00] <beuno> michaelforrest, let me know if you need help
[16:00] <michaelforrest> luks: yeah first I tried using my brain but then I just pasted your code in and it worked :)
[16:00] <michaelforrest> plugin created.
[16:00] <michaelforrest> sweet.
[16:39] <lifeless> bug 440631
[16:40] <lifeless> vila_: I find the description a little brief; perhaps paste in IRC conversations or something?
[16:41] <vila_> lifeless: ouch, you're in Sydney ?
[16:41] <lifeless> montreal
[16:42] <vila_> haa, you scared me :)
[16:42] <lifeless> as per my mail last week or so ;P
[16:42] <vila_> yeah, sorry, I remember now, I'm just bad at connecting dates and mails
[16:42] <vila_> ..unless I use my agenda that is :)
[16:46] <vila_> lifeless: updated
[17:04] <crisb> vila_: about 405745 - I thought there was no client thread in test_http_impl_urls?
[17:05] <vila_> crisb: .....
[17:05] <vila_> but you were talking about two threads no ?
[17:06] <vila_> ooooh, waitaminute
[17:06] <vila_> one main thread and one thread for the server,
[17:07] <vila_> crisb: the server is blocked in select(), the main thread blocks on close() ?
[17:07] <crisb> must be!
[17:08] <vila_> crisb: but what is the python interpreter doing ?
[17:08] <crisb> vila_: how do you mean?
[17:09] <vila_> if they are only two threads python is supposed to give control to one...
[17:10] <vila> now, the "dirty" part is that we are closing the socket from the main thread why the server is listening in the other thread... Does the police check such things ?
[17:10] <vila> the code police I meant
[17:10]  * vila don't want to trigger NSA loggers...
[17:10] <crisb> vila_: well the trouble is when I invoke pdb by sending SIGQUIT it causes the server thread to exit as select() returns, so I only see the trace from the main thread
[17:11] <crisb> vila_: but attaching with dbx I can see both of them hanging around
[17:11] <vila> crisb: yeah, the bug don't want to be observed... Schroedinger ?
[17:12] <Lo-lan-do> It's just shy.
[17:12] <vila> crisb: that's unknown territory to me but are you saying that you can see the python interpreter going in circles without releasing any of the threads ?
[17:12] <crisb> vila: yes its blocked on close() and select()
[17:13] <vila> I can understand blocked on select(), but not on close(), anything relevant from dbx ?
[17:14] <vila> wait a minute, what bzr version do you use exactly ? What code is before close() a simple shutdown(RW) or ?
[17:15] <crisb> this is bzr 2.0.0
[17:15] <jam> morning all
[17:15] <jam> hey vila, are you around?
[17:16] <vila> my right eye is writing a unit test for has_changes while my left one discuss the AIX hangs on server.close(), I'm all ears to you though :)
[17:16] <crisb> vila: and its using shutdown(RWRD), but i've tried changing it to just RW
[17:16] <jam> vila: just wondering about the status of https://code.edge.launchpad.net/~vila/bzr/selftest-fixes/+merge/10364
[17:16] <jam> (this is the --parallel stuff you were working on)
[17:16] <vila> crisb: no no, I meant a full shutdown, so both read and write
[17:17] <jam> I'm trying to par the review queue down a bit, and that is "needs fixing" from Robert but "needs review" overall.
[17:17] <crisb> vila: yes thats the original code
[17:18] <vila> jam: yeah, interrupt level 3 or 4, I need some setup for ec2 and I want to test ec2 by installing a windows host and I want a local windows host first, which is progressing sllloooowwwllly
[17:18] <vila> crisb: all right, so I don't understand why it accepts to shutdown (not blocking) but not to close...
[17:18] <jam> vila: so should I mark it "Work in Progress" ?
[17:19] <vila> and shutting the socket down should also unblock the select
[17:19] <jam> (sorry about the interrupt levels, I've been there myself)
[17:19] <vila> jam: good idea, I'll do if you don't
[17:19] <jam> done
[17:19] <vila> jam: thanks
[17:21] <crisb> vila: yes, plus looking at netstat and lsof output, the socket is still in LISTEN state!
[17:24] <Pilky> anyone know if there are any other sites for hosting open source bzr repositories besides launchpad?
[17:25] <vila> crisb: so something is wrong there.. can you see the comment in TestingHTTPServerMixin.tearDown ?
[17:26] <jam> Pilky: I thought Sourceforge and Savannah both would let you push code up. Certainly any sftp or ftp locations could be used.
[17:26] <jam> I'm not sure how much integration they have with code browsers, etc.
[17:26] <crisb> vila: yep!
[17:27] <vila> crisb: it's as if your python didn't realize it uses the same socket in both threads and can't propagate the shutdown from the main thread to the server thread....
[17:27] <Pilky> jam: I've used sourceforge before and it has similar issues to launchpad and savannah looks like it might be the same from first glance
[17:28] <Pilky> I'm looking more for something with the simplicity and usability of github/bitbucket
[17:28] <jam> Pilky: "similar issues" ?
[17:29] <Pilky> usability issues
[17:29] <jam> care to be more specific?
[17:29] <Lo-lan-do> Pilky: fusionforge has a bzr plugin now
[17:30] <Lo-lan-do> Slightly more usable than sourceforge and savannah, even :-)
[17:30] <Pilky> well basically I feel launchpad shows too much on each page without good separation, overcomplicates things and is just generally not easy to navigate or administrate
[17:31] <Pilky> jam: it's improved a lot over the past year or so, but it's still a long way off the likes of github and bit bucket
[17:31] <Pilky> Lo-lan-do: I'll take a look
[17:31] <Lo-lan-do> Doesn't do Launchpad's automated branching/tracking/merging/reviewing, but it has the advantage of being installable :-)
[17:33] <Pilky> hmm, seems better, but still not quite what I'm looking for
[17:35] <crisb> vila: the plot thickens! shutdown is throwing ENOTCONN :)
[17:35] <Pilky> I might have to look into seeing if it's possible to design a much simpler, more usable UI for launchpad while keeping the current feature set
[17:35] <vila> crisb: hmm, good, now we know why it's still listening !
[17:36] <Pilky> do it as a side project and then see if the launchpad team are interested in it at all
[17:37] <ddaa> Pilky: you probably should write stuff from scratch. Launchpad is massively complex because it intertwines different facets such as bugs, branches, questions, project registry, karma, etc.
[17:37] <ddaa> branches can be generated in 3 different ways (code imports, mirrors, hosting), etc.
[17:38] <vila> crisb: and is self.socket different from None ?
[17:38] <ddaa> the reason lp UI is complex is not because lp folks don't know what they're doing, it's because it does something complex.
[17:41] <crisb> vila: yes indeed
[17:42] <vila> crisb: ..... so it means we can't shutdown the socket before the first connection ? Thats' silly, how can we shutdown a server then 8-/
[17:45] <crisb> vila: hmm yes.  just check the fileno() in select() and shutdown() are the same
[17:46] <crisb> vila: both 5, so its not like the threads havent got the same fd
[17:46] <Meths> Where does bzr get its Platform string from on Windows?
[17:50] <vila> crisb: I more and more feel that we may be in a dead end here because AIX implements sockets differently...
[17:51] <Meths> Cool, you fixed bzr shelve on Windows with v2.0.0.  Thanks devs :)
[17:52] <vila> crisb: what I'm reading from a google search with "aix socket bug shutdown select" seems to indicate that shutdown() not interrupting select() is considered a bug by many (not sure that include AIX devs though... :)
[17:55] <vila> crisb: sorry I should leave, can you be there earlier tomorrow ?
[17:55] <vila> crisb: otherwise just add a comment to the bug with your last experiments... :-/
[17:56] <crisb> vila: sure, could we not just send the other thread a signal so select() exits?
[17:57] <jam> Meths: 'import platform'
[17:57] <vila> crisb: hehe, that's what shutdown is supposed to do !
[17:57] <jam> Meths: "platform.platform(aliased=1)"
[17:58] <jam> it is in the python standard library
[17:58] <Meths> jam: thanks
[17:58] <jam> I'm not 100% sure where it gets it from, but you could read the code
[17:59] <jam> vila, crisb: "if sys.platform == 'aix': os.kill(other_thread, SIGHUP)" ?
[17:59] <vila> jam: you can't kill a thread :-/
[18:00] <vila> jam: especially when it is in a blocking call...
[18:00] <jam> signal.sethandler(SIGHUP, IGNORE)
[18:00] <jml> or if it's a mailing list thread.
[18:00] <Lo-lan-do> Even with a Godwin point?
[18:00] <jam> os.kill(os.getpid(), SIGHUP)
[18:00] <Lo-lan-do> Damn, /me loses
[18:00] <jam> signal.sethandler(...)
[18:01] <jam> "if sys.platform == 'aik': self.knownFailure()" ?
[18:01] <jam> vila: ^^
[18:02] <vila> jam: I'm afraid we'll have to use that yes, but AIUI (crisb can confirm or not) that will be all http tests...
[18:03] <jam> vila: can you setDaemon() those threads so that it doesn't cause python to block on shutdown?
[18:04] <vila> jam: they are daemonic threads and that's why we have so many problems with thread/socket leaks
[18:06] <crisb> vila: isnt it naughty to be doing things on the same socket from different threads at once anyway? maybe thats why close() hangs
[18:06] <vila> jam: at least closing the server thread somehow guarantee that they will be gc'ed later, if we don't close that socket, we exhaust the threads/sockets far quicker, unless you run with --parallel=fork and workaround the problem, but you need some cores..
[18:06] <vila> crisb: well, now that it fails, you can say it's naughty :-) But AIX is the first to not be happy with that :D
[18:07] <jam> crisb: if you are allowed to talk to yourself via a socket, then it seems like it shouldn't be naughty
[18:07] <jam> you probably shouldn't talk on the same side in both threads
[18:08] <jam> I suppose it depends if it is considered 'allowed', but certainly it is used in places...
[18:08] <jam> (such as our test suite :)
[18:08] <crisb> :)
[18:08] <vila> jam, crisb: the clean way to resolve that will be to have a boolean ste to stop the server and explicitely connect once with a client that explicitly close its socket...
[18:08] <crisb> is it just python that wont let you kill threads?  i've used pthread_kill with SIGUSR1 as a way of unblocking other thread before
[18:09] <vila> crisb: yup, it's python
[18:10] <jam> crisb: looking here: http://docs.python.org/library/threading.html#thread-objects
[18:10] <jam> it looks like we have start/run/join, but no kill
[18:12] <vila> crisb: as jam said :-D
[18:12] <jam> http://www.velocityreviews.com/forums/t330554-kill-a-thread-in-python.html
[18:12] <jam> Interesting method
[18:12] <jam> basically hijacks the system 'trace' functionality to check at every line of execution if the thread should exit
[18:13] <jam> doesn't sound like it would help with select/shutdown, though.
[18:13] <vila> jam: indeed :-/
[18:15] <vila> but I think having the server loop check a boolean and replacing shutdown() by stop = True, connect(server.address) close() server.close() may work, I'll try that tomorrow
[18:15] <jam> vila: enjoy your evening
[18:15] <jam> do you have AIX to check?
[18:15] <vila> we don't care if neither the client nor the server understand what that last connection is about...
[18:15] <vila> jam: hehe no
[18:16] <vila> crisb: I don't think you can provide a VirtualBox VM with an AIX installed don't you ?
[18:17]  * vila really wants to trigger NSA or IBM lawyers here :)
[18:20] <kennethd> from launchpad, it looks like `bzr branch lp:mailman/2.2` should get me mailman's source, but it tells me: "ERROR: Not a branch: /home/kenneth/src/lp:mailman/2.2/"
[18:21] <LarstiQ> kennethd: what version of bzr are you using?
[18:21] <kennethd> 0.11.0 (from debian etch)
[18:22] <kennethd> is it too old for that format url?  is there another format url i can use?
[18:22] <LarstiQ> 0.11 is way way ancient
[18:23] <LarstiQ> kennethd: yes there is, but then your client likely doesn't understand the repository format used
[18:23] <kennethd> well, it is debian etch :)
[18:23] <LarstiQ> kennethd: so I'd recommend to upgrade bzr to something released this decade first ;P
[18:24] <LarstiQ> kennethd: you could try backports.org, or just install bzr by hand (you can run it from the unpacked tarball, do run make though)
[18:31] <Pilky> ddaa: true, I'll probably have to look into it at some point down the line, got enough stuff on my plate at the moment development wise
[18:32] <kennethd> LarstiQ: got 1.5 from the tarball, thanks
[18:32] <LarstiQ> 1.5?
[18:33] <LarstiQ> kennethd: that's a bit of a weird version choice?
[18:33] <Tak> note to self: never try to dpush a branch with multiple revisions
[18:35] <kennethd> oh, i didn't notice there's a 1.16 there too ... well, it is downloading mailman at least
[18:36] <jam> kennethd: and a 1.17, 1.18, and now 2.0.0...
[18:39] <LarstiQ> kennethd: yeah, 1.15 (1.5 too) should work well enough for that
[18:41] <kennethd> jam: oh, well i got the source from backports.org
[18:41] <LarstiQ> backports.org needs a packaging update
[18:41] <LarstiQ> jelmer: in case you have time, ^^?
[18:42] <jam> Lo-lan-do: did you see my review of your earlier patch?
[18:42] <jam> https://code.edge.launchpad.net/~jameinel/bzr/lolando-branch-root/+merge/12740
[18:42] <jam> I tried to send you the emails directly
[18:44] <Lo-lan-do> jam: Yes, I was just busy.  Will try to address your concerns sometime this week.
[18:45] <jam> Lo-lan-do: no problem, just cleaning out the review tracker a bit and that reminded me
[19:15] <lifeless> jam: lp merge re views update now
[19:15] <lifeless> so I don't think you need to resubmit stuff anymore
[19:16] <jam> lifeless: well, I also wanted to poke people to remind them that it needed reviewing, I could probably have done that a different way
[19:16] <jam> lifeless: did I hear correctly that you are in Canada now?
[19:17] <jam> (well, "this week" not specifically a move)
[19:18] <lifeless> this week
[19:18] <lifeless> yes
[19:18] <lifeless> Montreal
[19:19] <lifeless> jam: I'd remind people by mailing the list ;)
[19:19] <jam> lifeless: asking for a code review mails the list, too...
[19:19] <lifeless> jam: yes, but discards the old thread
[19:19] <lifeless> which is something I find annoying ;)
[19:20] <jam> well, for most I just asked for code review from 'bzr-core'
[19:20] <jam> that one I probably should have just done the same
[19:20] <jam> I don't remember specifically why I thought it was necessary
[19:23] <lifeless> :)
[19:25] <dwt> Hi there, I'm currently looking at the 2.0 release and I can't seem to be able to penetrate the nomenclature around it. For example, what is a rich-root repository format - and where could I look up stuff like this? (google seems unwilling to help...)
[19:25] <Pilky> dwt: I believe rich-root is mostly for use with subversion integration
[19:26] <Lo-lan-do> It was introduced for that, but it's been generalised since then.
[19:27] <mzz> the new default repository format (2a) supports rich-root
[19:28] <dwt> thanks for the answers - is there a way to get deeper information on what this means?
[19:28] <dwt> from what I've found it means the repository supports more metadata
[19:28] <mzz> I'd say "look at "bzr help formats" but it is unfortunately a bit stale in 2.0
[19:29] <mzz> afaik what it says about rich-root is correct, but it doesn't realise "some appropriate time in the future" has arrived
[19:30]  * dwt is reading bzr help formats
[19:41] <Peng_> Rich root formats give the root directory a file ID, just like every other directory.
[19:44] <dwt> Peng: Thanks!
[19:48] <jfroy|work> Is there API to run a specific command in bzrlib, or should I just allocate the command class and call its run method?
[19:48] <jam> jfroy|work: depends what you want, but there is "run_bzr()"
[19:49] <jfroy|work> bascially run a sequence of bzr commands w/o launching individual bzr processes (to avoid the cost of launching the interpreter and all)
[20:00] <jelmer> jfroy|work: hi
[20:00] <jelmer> ehm, sorry
[20:01] <jfroy|work> eh, hi :)
[20:01] <jelmer> jfroy|work: I was actually looking for johnf, but it seems he disappeared
[20:04] <Tak> jfroy|work: there's builtins...
[20:07] <jfroy|work> verterok: http://home.devklog.net/~bahamut/bzrexplorer.app.zip
[20:07] <jfroy|work> I consider it crude :p
[20:09] <Pilky> jfroy|work: that link doesn't work
[20:10] <jfroy|work> doh
[20:11] <jfroy|work> ok, let's try this again
[20:11] <jfroy|work> http://home.devklog.net/~bahamut/BazaarExplorer.app.zip
[20:11] <jfroy|work> ok that works
[20:11] <jfroy|work> Hacked up a quick bundle for explorer :|
[20:11] <jfroy|work> Kind Of Works™
[20:11] <verterok> jfroy|work: cool, using py2app?
[20:12] <jfroy|work> manually :p
[20:12] <Pilky> ah, thought it was going to be everything bundled up into one thing
[20:12] <verterok> jfroy|work: oh, I need to learn that :)
[20:12] <jfroy|work> well using Build Applet from the dev tools, then fixing it up
[20:12] <Pilky> so I didn't have to fight with all the QT stuff that doesn't want to install on my machine
[20:12] <jfroy|work> right, this only launches a user-installed explorer
[20:12] <jfroy|work> still need to bundle the rest with this
[20:12] <jfroy|work> Qt & etc.
[20:13] <jfroy|work> so it's not anywhere near done.
[20:13] <jfroy|work> just more convenient than running it from a terminal :p
[20:13] <Pilky> heh
[20:13] <Pilky> I might package up BazaarX this week, not had a crash since I refactored so it might be good enough to call 0.1
[20:14] <Pilky> and also start work on 0.2
[20:23] <dwt> any screenshots yet?
[20:27] <Pilky> dwt: http://dropbox.mcubedsw.com/skitchpics/BazaarX%200.1.png
[20:28] <dwt> thanks!
[20:28] <dwt> Looks nice so far - I'm looking forward to try it. :)
[20:29] <Pilky> only does add, commit and remove, but that's 90% of what most people do
[20:29] <Pilky> hoping to add move and possibly log in 0.2
[20:30] <crisb> jam: vila's suggestion about the AIX select()/ close() hang has worked :)
[20:32] <verterok> Pilky: I builded a PyQt installer for 10.5, but requires Qt installed (hopefully I'll upload it tonight)
[20:33] <Pilky> verterok: that would be useful if it also works for 10.6
[20:33] <Pilky> Qt installed fine, PyQT wouldn't install for some reason, kept complaining about QT's structure not being able to be verified
[20:34] <verterok> Pilky: I don't have 10.6 :(
[20:34] <Pilky> well, if it works with Python 2.6 I'd assume it would work fine with 10.6
[20:34] <verterok> Pilky: it depends on the system python...so it's a problem across all versions (10.4, 5 and 6) ;/
[20:35] <verterok> Pilky: the OS X python ins't the same as the python.org python, I can try to build it to get some feedback  :)
[20:35] <Pilky> sure
[20:36] <Pilky> jfroy|work: probably knows the internals better than me given that he did the 10.6 bzr installer
[20:44] <vila> crisb: passing around, what did you implement ? Which tests are passing ?
[20:49] <crisb> vila: the fake connect to get the select out and setting the boolean :)
[20:50] <crisb> vila: all tests from  bzr selftest -s bt.test_http -v now pass
[20:50] <vila> \o/
[20:50] <vila> \o/
[20:50] <crisb> vila: more details in 405745
[20:50] <vila> crisb: Congrats !!!
[20:50] <vila> bug #405745, ubottu, url please
[20:50] <vila> good bot
[20:52] <vila> crisb: excellent, can you publish a branch with your patch ?
[20:53] <crisb> vila: sure - do you know why its saying that one test is leaking threads? is that relevant at all?
[20:55] <crisb> vila: never mind, just tried it here on linux and its the same without the patch
[20:56] <vila> crisb: because the threads spawned by the server for the client connections are daemonic ones as well as the server thread itself,
[20:57] <vila> your patch un-hang it, but we didn't join()ed it, the gc will, later, get it back
[20:58] <vila> crisb: your patch address the root problem I had here. On top of it, I can now 1) collect the client threads, 2) close them properly and join them, 3) join the server thread......... 5) profit
[20:59] <vila> ... and get rid of the leaking tests, because if your patch works for http, it will also work for ftp so we will get rid of some other leaking tests there
[21:00] <crisb> vila: bonus!
[21:00] <vila> crisb: and *that* in turn, will allow the full test suite to pass again on OSX and gentoo and maybe even make some more progress on windows *without* resorting to the --parallel=fork trick
[21:01] <vila> crisb: so those three lines are really worth their bits on gold :-D
[21:01] <vila> aaaargh s/on/in/
[21:02] <vila> . o 0 (Once again the typo-gremlin attacked the joke)
[21:02] <crisb> vila: where's my cheque then ;)
[21:03] <vila> Please receive my gratitude and enjoy our full test suite in all its glory :-D
[21:04] <crisb> virtue is its own reward eh :)
[22:29] <poolie> hello vila
[23:14] <kenichi> what's the easiest way to see when a branch was branched?
[23:15] <beuno> kenichi, I don't think there's a good way of doing that
[23:16] <kenichi> beuno: i'm thinking of svn's --stop-on-copy type thing... nothing?
[23:17] <beuno> kenichi, I have no idea what that does
[23:17] <beuno> what information are you looking for?
[23:17] <poolie> hi beuno
[23:17] <beuno> a date, or a revision?
[23:17] <beuno> hey poolie!
[23:18] <poolie> kenichi: you can look at the branch nick in the log
[23:18] <poolie> there's no option to cut off the log at the point where it changed but that would be kind of useful
[23:19] <kenichi> poolie, beuno: thanks.  i can see in the log where the nick switches... but i have to hunt.  hmmm...
[23:22] <igc> morning all
[23:36] <poolie> hi igc