[00:00] <igc> thanks lifeless. So the big 1.5 finally lands.
[00:00] <Verterok> awilkins: all tetsts passed :) (pushing to lp now)
[00:04] <Verterok> awilkins: I'll be back online in ~ 1h (heading home)
[00:05] <Verterok> seeya
[00:05]  * Verterok runs to catch the train
[01:16] <igc> reviewing abentley's StackingPolicy patch today
[01:16] <abentley> igc: thanks.
[01:29] <kumi2> lifeless: wow, mysql using bzr
[01:29] <lifeless> kumi2: nice huh :)
[01:29] <kumi2> yeah that's so awesome.
[01:32] <jelmer> james_w: Now that bzr-loom is packaged, do you think it makes sense to have bzr-builddeb suggest it?
[01:32]  * jelmer also wonders if it makes sense to make the bzr package suggest every possible plugin
[01:33] <jelmer> you'd assume that reverse "Enhances:" would be suggested by aptitude, but that doesn't appear to be the case yet
[01:34] <lifeless> bug filin' time
[01:53] <poolie> hi
[01:54] <beuno> howdy poolie
[02:27] <jelmer> 'morning lifeless, poolie, beuno
[02:27] <beuno> evening jelmer
[02:28] <lifeless> hi jelmer
[02:55] <beuno> lifeless, http://intranet.pentacorp.net:8080/bazaar/bzr_garbage/changes
[02:56] <lifeless> beuno: getting there!
[02:56] <beuno> :)
[02:56] <mwhudson> beuno: can you suppress ff's history suggestions
[02:56] <mwhudson> ?
[02:56] <beuno> food, then polish
[02:56] <lifeless> beuno: suggestions - put it to the right, or else suppress ff
[02:57] <lifeless> also, could you show it as words and phrases not tuples:)
[02:57] <beuno> mwhudson, that's one of the things I have to find out. I probably can with some voodoo magic
[02:57] <beuno> lifeless, I'm going to do better then that
[02:57] <lifeless> and perhaps they can be clickable, to make that the search ?
[02:57] <beuno> yes :)
[02:57] <beuno> that's what I meant by better
[02:57] <beuno> and it should go away when you delete all text
[02:58] <beuno> and a big list of etc
[02:59] <beuno> but, I'm off to get food
[02:59] <beuno> mwhudson, I uploaded the fix to the clean url branch
[02:59] <beuno> your changed didn't seem to quite get there
[03:00] <mwhudson> beuno: i noticed :)
[03:00] <beuno> not it behaves the same as it does on LP
[03:00] <beuno> s/not/now
[03:00] <mwhudson> beuno: so when i said i was firefighting
[03:00] <mwhudson> that was triggered by me not accessing launchpad's loggerhead to compare my branch to launchpad :)
[03:00] <beuno> hahaha
[03:01] <mwhudson> thanks for doing it :)
[03:01] <beuno> I'm so glad I don't have access to some places...   :)
[03:01] <beuno> ok, off for a bit
[03:01] <mwhudson> i'm hoping to get that taken away soon :)
[03:01] <mwhudson> beuno: see ya later
[03:01] <beuno> mwhudson, let me know what else I can do to help with the wsgi merge
[03:02] <beuno> if that's going in sooner then later, then I'll start merging that in with me branches and see what breaks  :)
[03:02] <beuno> I'd like to fix setup.py and everything that surounds installing LH
[03:02] <beuno> aside from making lifeless happier with more search bling, of course  :p
[03:02] <mwhudson> beuno: well, i think i'll be merging zpt.cleaner_urls soon
[03:03] <mwhudson> beuno: and then probably the wsgi-ify stuff
[03:17]  * mwhudson merges zpt.cleaner_urls to trunk
[03:21] <mwhudson> uff, wsgi-ify is 2400 lines of diff
[03:22] <mwhudson> out of only 8k lines total :)
[03:31] <mwhudson> hmm
[03:32] <mwhudson> should bzr branch $url a/b create a shared repo at 'a' if it doesn't exist?
[03:32] <mwhudson> it would be a bit magic, but it would be handy
[03:40] <lifeless> mwhudson: eep, sscary
[03:40] <lifeless> mwhudson: maybe with a flag
[03:40] <lifeless> mwhudson: but what if a/.. is a repo
[03:41] <mwhudson> lifeless: yeah, maybe it's too magic
[03:42] <mwhudson> in general i do worry a bit that getting a good environment for a new project with bzr  (shared repo, appropriate appendpath-y paths in locations.conf) takes a bit too much typing
[03:46] <Peng> jelmer: I ask this daily, but is bzr-svn's 0.4 branch considered stable at the moment?
[03:48] <TodoInTX> Hello; I just created a project on launchpad and am trying to check-in my files to it.  I created a branch but when I try to push I get...
[03:48] <TodoInTX> bzr: ERROR: Not a branch: "/home/matt/mysql/scripts/".
[03:48] <TodoInTX> did I miss a step somewhere?
[03:49] <spiv> How did you create the branch?
[03:50] <TodoInTX> On lauchpad.net  Code -> Register a Branch -> Fill out form...
[03:50] <TodoInTX> added my public key...
[03:51] <TodoInTX> then I got this page... Update this branch: bzr push lp:<url>
[03:52] <spiv> TodoInTX: registering a branch on Launchpad doesn't create a branch.  See "bzr init --help"
[03:53] <spiv> TodoInTX: you probably want to do something like "bzr init /home/matt/mysql/scripts", then "bzr add" in that directory to add files to that new branch, then "bzr commit" to commit the files, then "bzr push lp:<foo>" to push the result to Launchpad.
[03:53] <TodoInTX> ok... missed lots of steps :-)
[03:54] <spiv> thumper: ^ looks like the "Register a Branch" and choosing "Hosted" still leads newbies astray
[03:55] <thumper> :-|
[03:55] <TodoInTX> spiv:  grr... I did "bzr init help" and it made a directory 'help', I assume it's not safe to just delete that... I need to kill it from the repository some how?
[03:55] <spiv> TodoInTX: it is safe to delete that
[03:56]  * TodoInTX removes the .bzr directory anyway for good measure. 
[03:56] <TodoInTX> nothing usefull in there yet anyhow
[03:57] <spiv> TodoInTX: http://doc.bazaar-vcs.org/latest/en/mini-tutorial/index.html  is probably a good thing to read if you haven't already
[03:58] <TodoInTX> will do.
[04:00] <TodoInTX> spiv, thumper: either of you Canonical employees?
[04:01] <spiv> TodoInTX: both :)
[04:01] <TodoInTX> ah, know egrubbs in San Antonio ?
[04:01] <spiv> Yeah :)
[04:02] <spiv> I saw him at PyCon in Chicago a while ago.
[04:02]  * spiv -> lunch
[04:02] <TodoInTX> :-D he's in my MySQL users' group I created.
[04:02] <TodoInTX> though pushing his PgSQL agenda ;-P
[04:03] <TodoInTX> we used to work together a Rackspace for several years.
[04:06] <jml> lifeless: would it make sense for loom to have an analogue of 'bzr log' for 'record'?
[04:06] <lifeless> jml: yes
[04:07] <jml> lifeless: good. I will file a bug to this effect.
[04:07] <lifeless> thumper: you could just delete the web ui to create hosted branches :)
[04:07] <lifeless> jml: most of TODO is valid bugs
[04:08] <jml> lifeless: I didn't even think to check TODO
[04:08] <jml> lifeless: in that case, I am going to take TODO and turn it into bug reports.
[04:09] <lifeless> sure; just think about each one ;)
[04:09] <jml> naturally
[04:12] <thumper> lifeless: no
[04:23] <TodoInTX> ﻿spiv: sorry to be a pest... trying to push using lp: url location from site gives "http does not support mkdir()".  Trying using bzr+ssh: format from the tutorial gives "Parent directory...does not exist."  Tried with --create-prefix and it pushes but I don't see the files associated to me on the site.
[04:27] <beuno> mwhudson, yay! Did you have to fix anything else?
[04:28] <TodoInTX> thumper:  ^ ideas?
[04:28] <thumper> TodoInTX: you need to do `bzr launchpad-login <your lp id>`
[04:28]  * beuno curses LH in LP
[04:29] <mwhudson> beuno: on the phone, brb
[04:29] <thumper> TodoInTX: which version of bzr?
[04:29] <TodoInTX> thumper:  1.3.1
[04:30] <TodoInTX> It says "Created new branch" but I don't see it.
[04:30] <thumper> TodoInTX: it takes a few minutes to flow through the LP ether
[04:30] <TodoInTX> hrm... so I could have a couple up there now :-/
[04:33] <TodoInTX> thumper: ah... login was the trick.   now original lp: location works :-)
[04:34] <beuno> statik, ping
[04:38] <Peng> If a patch for a random bug is in bzr.dev, can I mark it as fix released?
[04:41] <beuno> Peng, I believe it's fix committed until it's in a release
[04:42] <Peng> Okay. Does anyone mind if I change the status, though?
[04:42] <Peng> (Bug 215059, fwiw; it was fixed in r3506.)
[04:43] <beuno> Peng, on the contrary  :)
[04:43] <lifeless> Peng: please, bug gardening is a good thing
[04:43] <Peng> lifeless: fix committed?
[04:44] <lifeless> Peng: if its not in 1.5, fix committed is appropriate
[04:45] <Peng> done
[04:45] <lifeless> please also tag it for 1.6, so people can tell what release it is going into
[04:45] <Peng> Oh.
[04:46] <lifeless> or is it a milestone; yes a milestone
[04:47] <lifeless> http://bazaar-vcs.org/BugGuidelines?highlight=(bug)
[04:48] <lifeless>     *
[04:48] <lifeless>       Fix released - the fix is merged into the bzr.dev branch. (It may not be strictly "released" as a tarball yet but this definition seems best.) Please put the milestone for the upcoming release into the bug change message and the bug target milestone.
[04:48] <lifeless> thats our official usage; I was confused
[04:49] <Peng> Wait, how do you change the milestone? "Nominate for release"?
[04:50] <beuno> I'm not sure *why* we do it that way, since common usage for it is committed == trunk, released == in a release
[04:50] <Peng> It's nice not to have to go mass-changing bugs when making a release.
[04:52] <mwhudson> beuno: just merged wsgi-ify :)
[04:53] <lifeless> beuno: because lp shows 'fix committed' bugs by default
[04:53] <Peng> "Nominate for release"?
[04:53] <lifeless> beuno: but when determining what to work on you want 'not fixed bugs'
[04:53] <lifeless> Peng: uhm I don't know :(
[04:53] <lifeless> Peng: it seems to have changed somewhat
[04:54] <beuno> mwhudson, oh, VERY cool
[04:54] <beuno> congrats  :)
[04:54] <Peng> I nominated it for 1.6, but I don't know if that's correct.
[04:55] <Peng> Can someone give me an example of a fixed bug tied to a milestone?
[04:55] <Peng> Hmm
[04:55]  * Peng shrugs.
[04:56] <lifeless> thanks Peng
[04:57] <mwhudson> how can i revert a symlink?
[04:57] <mwhudson> i'm getting 'not in the same branch as' errors
[04:57] <poolie> the obvious thing doesn't work, mwh?
[04:57] <lifeless> there is a bug open
[04:57] <lifeless> we resolve it
[04:58] <poolie> mwhudson: suggest you rm then revert it
[04:58] <poolie> plain rm
[04:58] <lifeless> rm link && bzr revert link will work around
[04:58] <mwhudson> poolie: ah right, thanks
[04:58] <poolie> lifeless: if you want to talk now would be good for me
[04:59] <lifeless> poolie: I'd rather talk Monday if thats cool with you; I have substantive news to report
[04:59] <poolie> that's totally ok
[04:59] <poolie> thanks
[05:00] <lifeless> s/have /have no /
[05:00] <poolie> oh heh
[05:00] <poolie> i thought you wanted to just build anticipation :)
[05:01] <poolie> spiv: could you please send that brief update mail on hpss status, before 4:30?
[05:05] <Peng> poolie: What's the right way to say a bug was fixed in a particular release? "Nominate for release"?
[05:06] <beuno> mwhudson, #158584 is fixed with the wsgi branch, right?
[05:06] <mwhudson> ubottu: ...
[05:06] <mwhudson> bug 158584
[05:07] <mwhudson> beuno: yes
[05:07] <mwhudson> beuno: in two ways :)
[05:07] <mwhudson> (1, we generate revnos, 2, revid links work now)
[05:07] <beuno> ah, that's right  :)
[05:07] <beuno> no "super fixed
[05:08] <beuno> on LP
[05:08] <beuno> so fix committed  :p
[05:08] <igc> poolie: I need to head off in an hour or so. I'm reviewing abentley's stacking policy patch today and expect to get an email out about that before I go
[05:10] <Peng> What are loggerhead's trunk's current dependencies, then? Paste, ...?
[05:10] <beuno> simpletal
[05:10] <Peng> Paste and simpletal; that's it?
[05:11] <beuno> Peng, I'll find out in a sec, after marking bugs as fixed, I'm going to get setup.py into shape
[05:11] <beuno> oh, python-sqlite
[05:11] <Peng> Also, is it in a usable condition? I might run it just for fun.
[05:12] <beuno> until we fix bug #156609 at least
[05:12] <beuno> Peng, yes, very usable  :)
[05:12] <Peng> Except for setup.py? Can it just be run from source?
[05:13] <beuno> Peng, yeah, ./start-loggerhead.py and you're off  (after editing loggerhead.conf)
[05:13] <mwhudson> Peng: the setup.py is probably broken
[05:13] <mwhudson> beuno: serve-branches.py is much easier now
[05:14] <beuno> I've seen you mention it, I'll look into it now. Does it have any drawbacks?
[05:14] <beuno> oh, and also, do you mind if I remove the homepage/ dir from trunk?
[05:14] <mwhudson> it stores the sql in a tmpdir, rather than a deterministic location
[05:14] <mwhudson> beuno: no, that's a good idea
[05:14] <mwhudson> beuno: are you in loggerhead-team now?
[05:15] <beuno> mwhudson, nope
[05:15] <beuno> the thing that bugs me the most is not being able to set priorities to bugs  :/
[05:17] <jml> lifeless: https://code.edge.launchpad.net/~jml/subunit/split-right/+merge/413
[05:18] <lifeless> jml: EWORKDAY
[05:19] <jml> no need to shout
[05:20] <lifeless> jml: symbolic constant, not a shout
[05:21] <Peng> Y'know, port 9876 is registered.
[05:21] <Peng> I don't know what the heck for, but still. :P
[05:22] <lifeless> isn't that bzr:// ?
[05:22] <mwhudson> oops
[05:23] <mwhudson> it's what serve-branches.py uses
[05:23] <mwhudson> mind you, 8080 is registered too :)
[05:23] <lifeless> no, 4155 is bzr
[05:26] <Peng> 4155 was officially registered for bzr too. :)
[05:27] <Peng> mwhudson: Shouldn't serve-branches.py be executable?
[05:27] <mwhudson> Peng: probably
[05:28] <Peng> That was a hint to someone with push rights. ;)
[05:28] <poolie> hello igc
[05:28] <igc> hi poolie
[05:28]  * mwhudson is fairly hint-proof
[05:31] <Peng> Hey look, it works.
[05:32] <Peng> How do you get serve-branches.py to use a different IP or port?
[05:32] <mwhudson> you edit it
[05:32] <mwhudson> which, yeah, isn't so wonderful
[05:34] <Peng> How do you kill it?
[05:34] <Peng> Woah, 45 MB of RAM. Nice..
[05:34] <mwhudson> Peng: C-c
[05:34] <mwhudson> it doesn't background
[05:34] <beuno> mwhudson, trunk seems much faster to em
[05:34] <Peng> So special signals to make it do magical things?
[05:34] <beuno> s/em/me
[05:35] <mwhudson> Peng: C-c to exit isn't special is it?
[05:35] <mwhudson> it's how bzr serve works too
[05:35] <Peng> Err, No*
[05:35] <Peng> I meant "No".
[05:36] <mwhudson> Peng: i'm sorry it's been a long week and i'm tired
[05:37] <mwhudson> Peng: what was that "no" attached to?  and is there something you'd rather serve-branches did differently?
[05:37] <Peng> I meant "No special signals ...".
[05:38] <Peng> Some things do stuff like reload config or restart or shut down gracefully when they get SIGINT or SIGHUP or whatever.
[05:38] <mwhudson> ah
[05:38] <mwhudson> nop
[05:38] <mwhudson> e
[05:38] <beuno> mwhudson, really, wsgi thing is really nice. Really  :)
[05:38] <mwhudson> it has no config to reload :)
[05:38] <Peng> So far Loggerhead looks pretty nice, and it was trivial to set up. :)
[05:38] <mwhudson> progress hooray
[05:39] <Peng> What about proxying to it from a web server, so it can be available from http://example.com/loggerhead/ or something instead of http://example.com:9876/?
[05:40] <mwhudson> that's possible, but requires coding atm
[05:41] <Peng> How much coding?
[05:41] <mwhudson> you want to wrap the app object in a paste.deploy.config.PrefixMiddleware object
[05:41] <mwhudson> Peng: very little
[05:42] <Peng> Oh.
[05:42] <mwhudson> from paste.deploy.config import PrefixMiddleware
[05:42] <mwhudson> app = PrefixMiddleware(app, prefix='loggerhead')
[05:42] <mwhudson> i think
[05:44] <Peng> I think it'd need a leading slash.
[05:45] <mwhudson> uh, yes, probably
[05:54] <igc> time for me to go today - see you all next week
[05:54] <lifeless> bye igc take care
[05:54] <igc> thanks lifeless
[05:57] <beuno> mwhudson, sent you a small patch to remove some remaining tg stuff
[05:59] <lifeless> beuno: http://www.google.com/webhp?complete=1&hl=en disables the ff bar
[06:01] <beuno> lifeless, cool, thanks. Once I finish adapting the branch to trunk, I'll finishis polishing that further
[06:01] <beuno> mwhudson, scratch that, found a few more, re sending in a bit
[06:05] <beuno> mwhudson, re-sent
[06:10] <mwhudson_> beuno: ah, the correct thing to do with branchview.py is to delete the file :)
[06:11] <beuno> mwhudson_, ah, it's superseded with apps/*, right?
[06:11] <mwhudson_> beuno: yes
[06:11] <mwhudson_> i am completely done for this week though
[06:12] <Peng> I think my VPS died. :\
[06:12] <Peng> It's slightly on-topic: I was working on setting up Loggerhead at the time! :D
[06:12] <beuno> mwhudson_, oh, absolutely.  This looks really good. The more I use it, the more I love it  :)
[06:14] <Peng> Oh, good, just routing issues.
[06:19] <beuno> ok, search now works with wsgi magic and doesn't autocomplete. On to making them links
[06:21] <lifeless> wicked
[06:21] <beuno> google keeps scanning my local LH branch]
[06:22] <beuno> seems it grabbed it from the logs
[06:22] <lifeless> :P
[06:22] <beuno> I know because it hits the 36k diff file often
[06:22] <chandlerc> google never did anything of the sort!!!!!
[06:22] <beuno> and my CPU goes through the roof
[06:22] <chandlerc> ;]
[06:22] <chandlerc> beuno: you can stop it from scanning directories....
[06:23] <beuno> chandlerc, well, yes, but I don't want to add a robot.txt to *every* LH branch I have
[06:23] <chandlerc> hmm
[06:23] <chandlerc> you sure you would have to?
[06:23] <beuno> pretty sure, yes
[06:24] <chandlerc> what's your layout, if you don't mind? honestly, thats a bit nuts...
[06:24] <chandlerc> and i can file a bug with the responsible team. ;]
[06:24] <beuno> chandlerc, well, LH uses it's own http server, and if you file a bug for it, I'll be the one fixing it, so maybe we can avoid that  :p
[06:24] <mwhudson> branchesfromfilesystemroot should have a robots.txt
[06:24] <chandlerc> bwahahahahaha
[06:24] <chandlerc> excellent
[06:25] <lifeless> chandlerc: you work at google?
[06:25] <chandlerc> indeed
[06:25] <chandlerc> (recently)
[06:25] <chandlerc> hold on...
[06:25] <mwhudson> (the one i just wrote for launchpad does)
[06:25] <chandlerc> pff, i'll join from work i guess.
[06:25] <lifeless> so in theory, google may well want to index LH sites
[06:25] <chandlerc> hmm
[06:26] <lifeless> but it would be more efficient for it to learn bzr and read the history itself (like bzr-search does)
[06:26] <chandlerc> somehow... that doesn't seem the most likely outcome
[06:26] <chandlerc> good to know there are other bzr-lovin googlers
[06:26] <lifeless> (because loggerhead pages themselves are just rendered denser info)
[06:27] <lifeless> chandlerc: you found some bzr-love site within google ? :)
[06:27] <chandlerc> no, just noting that other bzr folks work at google
[06:27] <chandlerc> refreshing
[06:27] <lifeless> cool
[06:28] <lifeless> I know jaq like bzr, and hes at google for a bit now
[06:28] <chandlerc> hehe
[06:28] <chandlerc> i'm a big fan of bzr, with one exception -- i want perforce's integrate. ;]
[06:37] <Peng> Thanks for the help, guys. Setting up loggerhead was a snap. :)
[06:37] <Peng> Except for when I broke my web server configuration for a few seconds.
[06:41] <lifeless> Peng: must have come a _long_ way then :)
[06:41] <Peng> lifeless: I'm using the trunk. It was literally just "sudo apt-get install python-paste python-simpletal" and "./serve-branches.py".
[06:42] <Peng> (Well, then I installed paste deploy and hacked serve-branches.py a bit so I could use a reverse proxy, but still simple.)
[06:48] <beuno> lifeless, http://intranet.pentacorp.net:8080/bazaar/bzr.garbage/changes
[06:49] <beuno> mwhudson, ^    (no more work, I promise)
[06:49] <lifeless> beuno: freaking cool
[06:49] <Peng> Hmm, using serve-branches.py, loggerhead is leaving behind its temporary directories, some of them with the sqlite files.
[06:51] <beuno> lifeless, it's even reproducible on other people's computers too  :)
[06:51] <beuno> (as in, no more hardcoded paths)
[06:51] <Peng> If a loggerhead instance gets crawled by a web crawler, how bad will its ram usage get?
[06:52] <beuno> Peng, google has been quite nice up to now. Doesn't crawl aggresively
[06:52] <lifeless> beuno: cool. two-words are behaving badly though :)
[06:52] <lifeless> beuno: if I type:
[06:52] <lifeless> test Robert
[06:53] <lifeless> into the search box, what do you pass to bzr-search.suggest() ?
[06:53] <Peng> beuno: But what if it gets hit by something less friendly and benign?
[06:53] <lifeless> and http://intranet.pentacorp.net:8080/bazaar/bzr.garbage/changes?q=test+Collins makes it crash I think
[06:55] <beuno> lifeless, not anymore  :)
[06:55] <beuno> doesn't return results
[06:55] <lifeless> so
[06:55] <lifeless> test Robert
[06:55] <lifeless> should result in [('test',), ('Robert',)]
[06:55] <beuno> I think it has to do with a workaround I had to add, because it was splitting up strings into letters
[06:55] <lifeless> as the search termlist
[06:55] <lifeless> "test Robert"
[06:56] <lifeless> should result in [('test', 'Robert')]
[06:56] <beuno> lifeless, http://bazaar.launchpad.net/~beuno/loggerhead/bzr-search_integration/annotate/argentina%40gmail.com-20080620055014-8wnr5qpzt6h2x7mz?file_id=search.py-20080614235103-lpt63f7b2drplju8-1
[06:56] <beuno> I have to do: query_list = [query_list]
[06:57] <beuno> or it will split up "test" into [('t', 'e', 's', 't')]
[06:58] <beuno> so the side-effect of me doing that is probably forcing all searched into one term
[06:58] <lifeless> so, what is repr(query_list) before you alter it ?
[06:58] <beuno> Peng, with the current LH trunk, I think it's fine with crawlers
[06:59] <Peng> Yeah, I just loaded a couple reasonable large diffs, and ram usage barely changed.
[06:59] <Peng> 32 bytes each time.
[07:00] <beuno> lifeless, hrm, seems to work now
[07:00] <beuno> 'robert'
[07:00] <beuno> [('robert',)]
[07:00] <beuno> (before and after)
[07:00] <beuno> didn't before though
[07:00] <lifeless> ok
[07:00] <lifeless> now send
[07:00] <lifeless> robert collins
[07:00] <lifeless> as the search
[07:01] <beuno> NoMatch: No matches were found for the search ['robert collins'].
[07:01] <beuno> let me remove that first line now
[07:01] <lifeless> I guess thats robert+collins in the url
[07:01] <beuno> lifeless, with out that first line:
[07:01] <beuno> 'robert collins'
[07:01] <beuno> [('r',), ('o',), ('b',), ('e',), ('r',), ('t',), (' ',), ('c',), ('o',), ('l',), ('l',), ('i',), ('n',), ('s',)]
[07:02] <beuno> before and after aplying: query = [(query_item,) for query_item in query_list]
[07:02] <lifeless> beuno: ok, and now http://intranet.pentacorp.net:8080/bazaar/bzr.garbage/changes?q="robert+collins"
[07:02] <lifeless> whats the repr for that before you alter it
[07:03] <beuno> lifeless:
[07:03] <beuno> '"robert collins"'
[07:03] <beuno> [('"',), ('r',), ('o',), ('b',), ('e',), ('r',), ('t',), (' ',), ('c',), ('o',), ('l',), ('l',), ('i',), ('n',), ('s',), ('"',)
[07:03] <lifeless> beuno: ok
[07:03] <beuno> that's with my hack commented out
[07:03] <lifeless> beuno: so, we don't have phrase indices yet
[07:03] <beuno> is it suppose to work that way?
[07:03] <lifeless> so we can ignore the " scenario, I just wanted to see how it would come across
[07:04] <lifeless> what you're being given is a string
[07:04] <lifeless> we need to break that into terms
[07:04] <beuno> so, split by spaces?
[07:04] <lifeless> assuming users only give us valid characters (not a bad start)
[07:04] <lifeless> terms = query_list.split(' ')
[07:05] <lifeless> terms = [(term,) for term in terms]
[07:07] <beuno> alright!
[07:07] <beuno> [('"',), ('r',), ('o',), ('b',), ('e',), ('r',), ('t',), (' ',), ('c',), ('o',), ('l',), ('l',), ('i',), ('n',), ('s',), ('"',)'robert collins'
[07:07] <beuno> er
[07:07] <beuno> no
[07:07] <lifeless> sorry, query = in that
[07:07] <beuno> 'robert collins'
[07:07] <beuno> [('robert',), ('collins',)]
[07:07] <lifeless> yah
[07:07] <beuno> yes, I guesses the variables part :)
[07:08] <beuno> now, I should probably do something better than raise an uncought exception when no results are found  :)
[07:08] <lifeless> now, for friendliness
[07:08] <lifeless> we should show in the completion the terms before the one being completed
[07:09] <beuno> yay!  http://localhost:8080/bazaar/bzr.garbage/changes?q=partial+index
[07:09] <lifeless> that is, return [query[:-1] + term] for term in terms
[07:09] <jamesh> so, if you check the world wide web into a bzr branch, you should have a google killer
[07:09] <lifeless> jamesh: LOL
[07:09] <lifeless> jamesh: might be a tad slower
[07:09] <beuno> (s/localhost/intranet.pentacorp.net)
[07:10] <lifeless> :)
[07:11] <beuno> lifeless, I don't understand what you mean by "the terms before the one being completed"
[07:11] <lifeless> so 'robert collins' -> ('robert',), ('collins',)
[07:11] <lifeless> suggestion completes options for collins
[07:12] <lifeless> but the drop down box would read nicer I think if it showed
[07:12] <lifeless> robert collins1
[07:12] <lifeless> robert collins2
[07:12] <lifeless> etc
[07:12] <lifeless> rather than
[07:12] <lifeless> collins1
[07:12] <lifeless> collins2
[07:12] <lifeless> as it will today
[07:12] <Peng> How useful are LH's caches on a bzr.dev-sized branch with the trunk now?
[07:12] <beuno> Peng, the caches are only used for files-changed
[07:13] <Peng> It takes 3 or 4 seconds to generate the cache, so I hope that penalty wouldn't be incurred in every request if I didn't use them...
[07:13] <lifeless> beuno: if I made diff(inv1, inv2) 5 times faster, would that be enough to remove them ?
[07:13] <beuno> it's a pretty big win, although it doesn't have much to do with branch size as much as with how many merges each parent has
[07:13] <beuno> lifeless, yes. I believe the difference today is about that much, maybe less
[07:14] <beuno> Peng, you mean the cache on startup?
[07:15] <Peng> beuno: First time the branch or repo is hit after it starts.
[07:15] <beuno> that's a one time thing for the revision graph. It gets cached in memory
[07:15] <beuno> only on startup
[07:16] <beuno> it's assumed that you won't be restarting LP too many times (unless you have to work on it)
[07:16] <beuno> s/LP/LH
[07:16] <beuno> 66.249.72.129 - - [20/Jun/2008:03:16:00 -0200] "GET /bazaar/bzr_garbage/revision/31 HTTP/1.1" 404 - "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
[07:16] <beuno> I keep changing branches and googlebot tries to resume where it left off  :p
[07:17] <jml> beuno: does it ever leave the cache?
[07:17] <lifeless> beuno: another nice thing would be if I could arrow-down into the pop up box rather than using the mouse
[07:17] <beuno> jml, just for files changed, in an ugly sqlite DB
[07:18] <beuno> lifeless, yes, simulate autocompletion. I'd have to do substantial changes to the javascript for that
[07:18] <beuno> making the search results more interesting is higher on the list  :)
[07:18] <beuno> and, well, making LH index stuff automagically
[07:19] <beuno>  /SearchUI: 0.029181003570556641 secs
[07:19] <beuno> lifeless, very nice performance  :)
[07:27] <jml> lifeless: loom TODO refers to "warp" a lot. Is that an old name for 'thread'?
[07:29] <lifeless> jml: I was intending to do a bulk rename to warp and weft
[07:29] <lifeless> but I suspect that folk will have trouble
[07:29]  * jml certainly will
[07:30] <spiv> poolie: I've sent an update
[07:30] <jml> lifeless: my knowledge of textiles comes entirely from B-grade fantasy novels and a presentation on the history of Toyota :)
[07:30] <lifeless> http://en.wikipedia.org/wiki/Warp_(weaving)
[07:32] <jml> lifeless: why not call them patches?
[07:35] <lifeless> jml: several things
[07:36] <lifeless> jml: the bottom thread represent upstream; its 'a patch against null' if you like, but huge
[07:36] <lifeless> jml: terminology overload, a 'commit' is also a patch
[07:39] <chandlerc> i go away, and everyone starts talking
[07:40] <poolie> thanks spiv
[07:43] <beuno> poolie, have you seen the combination of lifeless's magic and some ajax?  http://intranet.pentacorp.net:8080/bazaar/bzr.garbage/changes
[07:45] <beuno> (try searching)
[07:50] <poolie> i saw a version a few days ago
[07:51] <lifeless> poolie: try it now then :P
[07:52] <poolie> wow!
[07:53] <spiv> beuno: that's becoming slick very fast!
[07:53] <chandlerc> wow...
[07:53] <beuno> spiv, heh, thanks  :)
[07:53] <chandlerc> beuno, lifeless: rock
[07:53] <chandlerc> =D
[07:53] <beuno> it will look even better on the new theme
[07:55] <chandlerc> need this on googlecode
[07:56] <lifeless> switch to bzr
[07:56] <chandlerc> i use bzr
[07:56] <lifeless> (I mean googlecode should switch :))
[07:56] <chandlerc> googlecode's svn is just my remote "branch"
[07:56] <lifeless> chandlerc: you can easily run this yourself on your own bzr branch
[07:56] <chandlerc> i actually will probably do so
[07:57] <lifeless> :)
[07:57] <chandlerc> googlecode's source browsing is actually impressively similar
[07:57]  * beuno goes off for 20 minutes
[07:57] <chandlerc> before they made the latest improvement, it wasn't nearly as good
[07:57] <beuno> (that means the LH branch will go away with me)
[07:58] <lifeless> beuno: push!
[07:59] <beuno> lifeless, already did  :)
[08:00] <lifeless> beuno: is it wsgified ?
[08:30] <beuno> lifeless, yeap
[08:30] <beuno> it's super-fast with wsgi
[08:37] <lifeless> beuno: is super-search running the trunk deployment stuff?
[08:37] <beuno> lifeless, yeap, merged with the latest bits from trunk
[08:38]  * lifeless might look at updating squid-cache.org's instance
[08:38] <beuno> lifeless, well, trunk is a *big* improvement over what there is now
[08:39] <beuno> I will probably iron out the remaining search bits in the next few days to add auto-indexing and such
[08:39] <beuno> having it be in production somewhere would be neat :)
[08:42] <gour> what's is 'super-search' ?
[08:43] <beuno> gour, http://200.127.6.219:8080/bazaar/bzr.garbage/changes
[08:43] <beuno> try searching  :)
[08:44] <lifeless> I'm going to call it a day work wise
[08:44] <gour> beuno: ta
[08:46] <gour> hmm this http://200.127.6.219:8080/bazaar/bzr.garbage/revision/20?q=performance looks interesting
[08:46] <lifeless> gour: its an improved search for loggerhead utilising bzr-search
[08:47] <gour> lifeless: will loggerhear become more install-friendly in the future?
[08:47] <lifeless> gour: it has already AIUI
[08:48] <gour> hmm
[08:48] <gour> maybe i should say: dep-friendly
[08:48] <Peng> gour: python-paste, python-simpletal, python-sqlite
[08:49] <beuno> yeap, and I hope to drop python-sqlite in the near future
[08:50] <Peng> I also installed python-pastedeploy for one stupid little middleware. :\
[08:50] <Peng> LH is still somewhat RAM-heavy.
[08:50] <Peng> But it's a breeze to get running.
[08:50] <james_w> beuno, lifeless: great work, I like it.
[08:51] <beuno> james_w, thanks  :)
[08:51] <Peng> What was it that breathed new life into Loggerhead?
[08:55] <lifeless> mwhudson and more recently beuno have been working on it for a while
[08:55] <lifeless> sometimes it takes a while to ramp up
[08:58] <lifeless> I'd like to take a little credit, I think the web2y stuff has been enabled by bzr-search
[09:00] <poolie> ok that's it for me
[09:02] <beuno> yes, the code for the indexing/searching and the actual guidance to get it working, hence the aknowledgment in the copyright  :)
[09:02] <Peng> Why do query_list.split(' ') instead of just query_list.split()?
[09:06] <beuno> I think split() tries to do more things, but it should work just the same
[09:08] <beuno> off to bed
[09:08] <beuno> g'night/morning/good weekend (as applies) to everyone  :)
[09:09] <gour> g'night
[09:15] <Peng> beuno: Exactly, just split() does try to do more things, e.g. ignoring extra whitespace and also splitting on newlines and tabs and stuff. That seems like more useful behaviour for a search box to me.
[09:16] <Peng> This place is quickly getting boring.
[09:16] <Peng> Are you about to go to sleep too, gour?
[09:16] <Peng> I might.
[09:16] <Peng> beuno: Good night. :)
[09:17]  * Lo-lan-do stays there to keep the channel alive (with whining, but still)
[09:17] <gour> Peng: no, 10am here
[09:17] <Lo-lan-do> Wah-wah-wah, I want loggerhead packaged in Debian!
[09:17] <Lo-lan-do> Wah-wah-wah, I want faster startup times for bzr!
[09:18]  * Lo-lan-do dodges incoming bricks
[09:18] <Peng> Haha.
[09:21] <james_w> jelmer: nice work: http://laserjock.wordpress.com/2008/06/19/how-do-i/
[09:24] <james_w> http://arjen-lentz.livejournal.com/120586.html
[09:33] <jelmer> Peng: yep
[09:33] <jelmer> Peng: you can check for yourself by running "make check"
[09:33] <Peng> jelmer: BTW, I think I had to install 20 dependencies before it would compile. :D
[09:34] <jelmer> just "libsvn-dev" should do it
[09:35] <Peng> jelmer: Yeah, but it added up to 20. And I needed python-docutils.
[10:21] <matkor> What is yours action plan in scenario: I want do small fix on remote branch, so I bzr checkout, later I realise changes are biger so I bzr unbind, serveral times bzr commit .. now I want to merge to remote branch
[10:21] <matkor> checkout remote branch again and merge to it locally ?
[10:22] <Lo-lan-do> That, or merge remote branch into local.
[10:22] <matkor> or bzr bind, bzr update and commit as one big commit ?
[10:23] <matkor> Lo-lan-do: and later push to remote ?
[10:23] <Lo-lan-do> Yep.  It amounts to the same thing, mostly, except the LHS an RHS may be reversed.
[10:23] <matkor> Lo-lan-do: LHS, RHS ?
[10:23] <Lo-lan-do> Left-hand side, right-hand side.
[10:24] <Lo-lan-do> Basically, you merge A into B or B into A.  Result is similar, but the graph isn't displayed exactly the same.
[10:25] <matkor> Lo-lan-do: I would perfer to keep main line (leftmost in olive/log) of changes as made on remote branch ...
[10:25] <Lo-lan-do> Then bind, update and commit.
[10:26] <Lo-lan-do> Your local changes will be one commit, but their history will still be recorded remotely.
[10:26] <matkor> Lo-lan-do: Oh, they will be still visible as many commits in remote branch history ?
[10:27] <Lo-lan-do> Yes.  The local subgraph will be integrated into the remote branch.
[10:28] <matkor> Excellent, thanks a lot for help, Lo-lan-do !
[13:42] <Peng> jelmer: http://people.samba.org/bzr/jelmer/bzr-svn/.bzr/ 's repository has been renamed to repository.backup. Are you doing something or did it break?
[13:47] <jelmer> Peng: whoops, should be fixed now
[13:47] <jelmer> I was trying to upgrade it from pack-0.92-subtree to rich-root-pack
[13:47] <Peng> Why does it have subtrees anyway?
[13:48] <jelmer> historical reasons
[13:48] <jelmer> it predates the existance of the rich-root-pack format
[13:49] <Peng> Why'd you want rich roots?
[13:49] <jelmer> it's a nonexperimental format
[14:36] <jam> guilhembi:
[14:36] <jam> found ancestors: set(['sp1r-jani@a88-113-38-195.elisa-laajakaista.fi-20080328101427-50685', 'sp1r-to
[14:36] <jam> mas@poseidon.ndb.mysql.com-20080327140832-38613'])
[14:38] <guilhembi> the final .frm
[14:39] <jam> bzr cat -r revid:sp1r-jani@a88-113-38-195.elisa-laajakaista.fi-20080328101427-50685 sql/sql_table.cc
[14:40] <jam> bzr cat -r revid:sp1r-tomas@poseidon.ndb.mysql.com-20080327140832-38613   sql/sql_table.cc
[15:08] <Verterok> mornin' beuno
[15:09] <beuno> goooood morning Verterok
[15:09] <beuno> you're up earlier than expected!  At work yet?
[15:09] <Verterok> really?, not yet....and I'm not going there until monday ;)
[15:10] <Verterok> I can say the same for you, at work?
[15:10] <beuno> hahaha
[15:11] <beuno> no, just woke up, not even fully dressed yet  :)
[15:11] <Verterok> hehe
[15:15] <Verterok> beuno: thanks for the mail, I'll take a look at the mysql/whatever migration during this afternoon
[15:16] <guilhembi> Path conflict: mysql-test/t/rpl_sync_binlog_basic_32.test / mysql-test/t/sync_binlog_basic_32.test
[15:16] <guilhembi> jam: ^
[15:17] <beuno> Verterok, ah, no problem. Handing off stuff is always fun
[15:18] <beuno> abentley, Verterok is taking over the sqlite > mysql for BB  :)
[15:18]  * beuno runs
[15:18] <guilhembi> jam:
[15:18] <guilhembi> https://code.launchpad.net/~mordred/mysql-server/5.1-telco-6.2-merge
[15:18] <guilhembi> 6.0: ndb is bzr branch sftp://bazaar.launchpad.net/~cmiller/+junk/ndbtest
[15:18] <abentley> beuno: Cool
[15:42] <guilhembi> jam: https://bugs.launchpad.net/bzr/+bug/238895
[16:02] <guilhembi> jam: sql/ha_ndbcluster.cc
[16:07] <vila> beuno: ping
[16:07] <vila> beuno: isn't bzr-upload --dry-run the same thing as bzr status -rupload: (given we define a revision-spec for upload) ?
[16:09] <beuno> vila, pong
[16:09] <beuno> htm
[16:09] <vila> htm ?
[16:10] <beuno> "hrm" with a type  :)
[16:10] <beuno> argh "typo"
[16:10] <vila> :)
[16:11] <beuno> well, yes, now that I think about it
[16:11] <vila> beuno: reusing status will  have the added benefit of displaying unknown files, helping people (like me) who tend to forget to bzr add...
[16:12] <beuno> ok, I'm sold
[16:12] <beuno> I can delete most of the code I did, and just re-use status -r to automagically display that
[16:12] <vila> beuno: sorry about that, I just thought about it today :-/
[16:13] <vila> on the bright side, deleting code is good :)
[16:13] <beuno> vila, nothing to be sorry about, you just saved me from writing tests for it!  :p
[16:13] <vila> lol
[16:14] <beuno> cool, now that leaves some time for me to look into adding some progress bars
[16:15] <beuno> vila, how hard would it be to show the transfer rate?
[16:15] <beuno> I know you mentioned it before
[16:15] <beuno> and the more it feels like an ftp client, the easier for website devs to feel comfortable with it
[16:15] <vila> beuno: I have no idea :) I never hack the progress bars :)
[16:16] <beuno> vila, I can do the progress bars. I was wondering about transfer rates with transports
[16:17] <vila> I think we need to wait for bzrlib to implement that at the transport level, poolie talked about doing it (not himself, but it's something that will come one day or the other)
[16:18] <vila> in the mean time, we may try to implement some two passes trick to count how many bytes we need to transfer, how many roundtrips we will have, etc, but that will be hackish IMHO
[16:18] <beuno> ok, so not very straightforward
[16:18] <beuno> we can start with hackish and move on to something better when it's available  :)
[16:19] <vila> beuno: no. But the 'upload' revision spec still need to be implemented if you really don't know what to do :)
[16:19]  * vila goes back to x bit implementation drawing board :)
[16:19] <beuno> ah, cool  :)
[16:20]  * beuno packs up to move it to the office
[16:20] <vila> beuno: just for the record, are you using ftp and sftp or only one of them on average ?
[16:21] <beuno> vila, sftp 95% of the time
[16:21] <vila> ok, so I may have a working sftp version first (the bzrlib ftp transport doesn't support mode at all, I'll have to create a custom ftp transport for that)
[16:22] <beuno> great!  I'll finish my draft for to announce it to the world and run it by you if you're still around  :)
[16:24] <beuno> now, AFK for ~20 minutes, office chair is more comfortable
[16:40] <LaserJock> james_w: ping?
[16:41] <james_w> hi LaserJock
[16:41] <LaserJock> james_w: thanks for the comment on my post. I figured you'd show up ;-)
[16:41] <james_w> heh, I'm never far away :-)
[16:42] <guilhembi> jam: I updated the support incident 2413.
[16:42] <guilhembi> bye
[16:42] <jam> thx
[16:42] <jam> have a good weekend
[16:42] <LaserJock> james_w: question though, in Debichem we just have debian/ directories in SVN. Does bzr-builddeb look in some place for the .orig.tar.gz files?
[16:43] <james_w> LaserJock: first, the archive, then it will use a watch file if you have one.
[16:43] <james_w> I could extend it to look under a certain path (remote) as well.
[16:44] <LaserJock> james_w: hmm, I have them locally (right now I'm doing a new upstream release so they aren't in the archive)
[16:44] <LaserJock> though I have a watch file so that'd work too
[16:44] <james_w> unfortunately there are a couple of bugs with the apt and watch file methods as apt and uscan are a little bit crazy
[16:44] <LaserJock> k
[16:44] <james_w> ah, if you have them locally then put them in "../tarballs"
[16:44] <james_w> assuming you have the debian/ checked out on disk
[16:45] <james_w> you can override this temporarily with "--orig-dir=.../wherever"
[16:45] <LaserJock> hmm
[16:45] <poolie> hello james_w, thanks for all your bug work and mail recently!
[16:45] <poolie> it's so cool
[16:45] <james_w> hi poolie
[16:46] <LaserJock> so one thing I'm not crazy about is that it leaves directories (../tarballs ../buildarea) around
[16:46] <james_w> poolie: you're up early/late aren't you?
[16:46] <poolie> late, yes
[16:46] <poolie> on phone
[16:46] <james_w> LaserJock: yeah, I kind of regret that now, it follows svn-buildpackage here.
[16:47] <LaserJock> ah
[16:47] <gour> '--rich-root-pack' it the recommended format in bzr-1.6?
[16:47] <james_w> I'd perhaps like to transition away at some point, but I haven't thought through the plan.
[16:47] <LaserJock> I haven't used svn-buildpackage yet
[16:47] <james_w> gour: --pack-0.92 I think
[16:53] <LaserJock> james_w: ok, well can you give me a couple good reasons to use bzr-builddeb over just exporting the debian/ into an unpacked .orig.tar.gz ?
[16:53] <james_w> LaserJock: not having to do that manually?
[16:54] <james_w> being able to test before commit?
[16:54] <LaserJock> but svn export is only a single command
[16:54] <james_w> tar xzf is another though.
[16:54] <LaserJock> or bzr export
[16:54] <LaserJock> but you only do that once
[16:55] <james_w> yeah, it will work fine until you delete or rename a file.
[16:55] <LaserJock> right, then you just rm your debian/ and rexport
[16:55] <james_w> yup
[16:55] <LaserJock> re-export
[16:55] <LaserJock> so I'm not really seeing savings
[16:56] <james_w> that's fine. If it don't appeal to you then you don't have to use it
[16:56] <gour> james_w: ta
[16:57] <LaserJock> james_w: well, I'm not trying to be a pain, I'm just trying to figure out what exactly it's for
[16:57] <james_w> LaserJock: you're not being a pain.
[16:57] <james_w> you're right though, there's no great advantage to it if you are happy to do the steps manually.
[17:31] <jaypipes> statik: FYI: http://www.jpipes.com/index.php?/archives/240-Removing-Barriers-to-the-Community-MySQL-Moves-to-Bazaar.html
[17:46] <statik> jaypipes: thanks!
[17:46] <jaypipes> of course. :)
[17:49] <jam> jaypipes: I'm a bit surprised on your Hundred Flowers link, considering there is some controversy that it was intentioned to "identify critics and silence them".  But I guess the original thought is very nice
[17:49] <jaypipes> jam: heh, indeed.
[17:49] <jam> jaypipes: and certainly thanks for the post, I certainly look forward to what mysql can do with a distributed open dev community
[17:50] <jaypipes> jam: what about featuring the mysql project once things have been stabilized for a bit? might be a good chance to promote bzr and LP...
[17:50] <jam> jaypipes: I'm not sure what you mean by "featuring". As it making it a feature project on LP?
[17:53] <nevans> congrats to the bzr team on the publicity that mysql will bring.  :)
[17:58] <jaypipes> jam: yes, that's what I meant.  I'm not pressuring or anything, I just think it would be cool! :)
[17:59] <jaypipes> jam: certainly, there has been a ton of blog buzz on PlanetMySQL about bzr and Launchpad and 100% of the feedback has been positive, which is awesome.
[17:59] <jam> jaypipes: I agree, I don't have much say in LP featured projects, but I'll put my vote in somewhere :)
[18:04] <vila> jam: ping, a few questions about chmod bits in bzrlib ?
[18:04] <jam> vila: pong, chmod away
[18:06] <vila> sumaary of my current understanding: transport handle mostly files and dir under .bzr and use 0777/0666 by default, plus we handle +x as a versioned property
[18:06] <jam> abentley: I have a question about Tree.iter_references, there seems to be a discrepancy between what WT4.iter_references() returns and what the code in Tree.iter_references would return
[18:07] <jam> vila: I would be surprised if anything under .bzr/ wasn't handled by Transport
[18:07] <jam> maybe stuff in .bzr/checkout
[18:07] <abentley> jam: It's been quite a while, but I'll try answering.
[18:07] <jam> so I take that back a bi
[18:07] <jam> abentley: Basically, WT4.iter_references() returns abspath, and Tree.iter_references returns relpath
[18:07] <jam> the tests don't notice
[18:07] <jam> because only WT4 actually implements "supports_references"
[18:07] <jam> I would *rather* return relpath
[18:08] <jam> as it works better for non disk-based paths
[18:08] <jam> s/paths/trees
[18:08] <vila> jam: >-/ I agree with that of course, I think I don't understand your answer
[18:08] <jam> vila: you didn't ask a question yet :)
[18:08] <jam> vila: Things under .bzr/ should generally only be accessed through a Transport, and we version +/- x as a property.
[18:08] <vila> my question is more about the working tree, except for the u+x bit, we ignore the rest
[18:09] <abentley> jam: RevisionTree should also implement references.
[18:09] <jam> abentley: It doesn't implement the function "def supports_references()" which means it doesn't get tested yet
[18:09] <abentley> I think relpath is the only sane choice.
[18:09] <jam> abentley: ok, I'll change the test and get Tree working
[18:09] <vila> i.e. we won't even detect 0667 as an executable ?
[18:10] <jam> vila: I'll have to figure out on 667, but IIRC, if we see that a file should be executable
[18:10] <jam> we do a stat(), and then mask based on if the file is writable
[18:10] <jam> so if you have 600, then  we set it to 700
[18:10] <jam> if you have 660 => 770, 666 => 777 etc
[18:10] <jam> I'll check on 0667 in a sec
[18:10] <vila> jam: don't check
[18:11] <vila> I'm just trying to understand the bug picture
[18:11] <vila> the other point now: so far, we have only encounter problems regarding the sticky bits with openssh sftp, right ? All other mode bits are correctly handled by sftp ?
[18:11] <jam> vila: Our check is:         return bool(S_IEXEC & mode)
[18:11] <jam> And S_IEXEC == 0100
[18:11] <vila> yup
[18:11] <jam> so no, we only check if 0700 is executable
[18:12] <vila> so I was right, we do the minimun, fair enough
[18:12] <jam> vila: right the mask is something like 0777 so the 02777 the "2" gets stripped
[18:12] <vila> ok, fine, thanks a lot, that answer my questions
[18:12] <jam> vila: *if* we didn't chmod, then they would retain the sticky bit because the fs sets it automatically
[18:13] <jam> so there has been some push to ask users to use a wrapper script to get their umask right
[18:13] <jam> and then not try to chmod the files ourselves
[18:13] <jam> though with packs, most of that is moot, as long as the files are readable
[18:13] <vila> hmmm
[18:13] <jam> because we only create them 1 time
[18:13] <jam> so you need write permission to the directory
[18:13] <jam> but we don't create it automatically
[18:13] <jam> except at init time
[18:14] <jam> At least on Linux servers, you can delete a file that you don't have +w to, as long as you have +w on the directory
[18:14] <vila> ok. The point is, I try to use the transport for the bzr-upload plugin where I somehow manage a remote working tree (as in write-only mode :)
[18:14] <jam> so for a pack repo, you should only need to do "find .bzr -type d -print0 | xargs -0 chmod 770" (you can sneak in a 2 if you want)
[18:14] <jam> vila: sure
[18:15] <jam> And you are trying to get the bits right on the remote files?
[18:15] <vila> so the idea is to get the chmod bits from the local working tree and blindly apply them remotely
[18:15] <vila> well, as right as possible :->
[18:15] <jam> vila: I would tend to only set them if you think they would be interesting
[18:15] <jam> though maybe avoiding the ssh issue would be a problem
[18:15] <jam> because then *some* files would get sticky
[18:15] <jam> and others wouldn't
[18:16] <vila> the targeted audience being web devs, I don't think there is a lot of sticky bits around...
[18:17] <jam> vila: *I* would make sticky bits on my webspace if multiple people are updating it
[18:17] <jam> but I'm not an average web dev :)
[18:17] <vila> the web server is the one that update them no ?
[18:17] <vila> so even group bits may be irrelevant ?
[18:18] <Pieter> ghaa, bzr diff is so slow
[18:18] <jam> Pieter: under what circumstances?
[18:18] <vila> Pieter: wrong channel :)
[18:18] <jam> And what --version ?
[18:18] <Pieter> bzr diff -c 0.5.5 on bzr.dev, 1.5
[18:20] <jam> Pieter: How long for you? I'm doing an lsprof here, but I have some ideas as to what is happening, and it will probably get better in the next release or 2
[18:20] <Pieter> about 4 seconds
[18:22] <jam> Pieter: so the #1 issue is that the branch we are holding onto isn't in a transaction lock
[18:22] <jam> the #2 issue is that dotted revnos are slower than they should be
[18:22] <jam> though I do have some work on that
[18:22] <jam> but it won't land for a little while because I'm dealing with other stuff right now :)
[18:22] <jam> #3 is that our indexes are a bit slower to lookup than they have to, which lifeless has at least proposed a patch for
[18:23] <jam> I haven't had a chance to look at it yet
[18:27] <jam> abentley: Ahh, it seems that RevisionTree tests are being tested using WT3 as the base tree, which *doesn't* support references, so the RevisionTree implementation doesn't get tested
[18:28] <abentley> They would have been written when WT3 did support references.
[18:28] <jam> sure
[18:28] <jam> thats one of the problems with tests that skip silently :)
[18:29] <jam> abentley: reactivated now
[18:29] <jam> and now passing the test again
[18:30] <abentley> jam: great.
[18:32] <jam> abentley: Though DirStateRevisionTree is failing the get_reference_revision test
[18:32] <jam> abentley: And I believe it is because of the _dirstate_tree_from_workingtree automatically committing
[18:33] <jam> not positive, but likely
[18:35] <Pieter> if I have a Tree, how can I tell if a given directory in that tree has files in it?
[18:36] <jam> Pieter: are you saying you have a WorkingTree, or you don't know?
[18:36] <jam> (like it could be a RevisionTree, etc)
[18:36] <Pieter> I have a RevisionTree
[18:37] <jam> tree.iter_entries_by_dir(specific_file_ids=[tree.path2id('directory/path')])
[18:37] <jam> list(tree.iter_entries_by_dir(specific_file_ids=[tree.path2id('directory/path')]))
[18:37] <jam> if you want the list
[18:37] <jam> rather than an iterator
[18:37] <Pieter> no, just a boolean if it has files :)
[18:38] <jam> try:
[18:38] <jam>   tree.iter_entries_by_dir(specific_file_ids=[tree.path2id('directory/path')]).next()
[18:38] <jam> except StopIteration:
[18:38] <jam>   have_files = False
[18:38] <jam> else:
[18:38] <jam>   have_files = True
[18:38] <jam> Pieter: though I think that might always return 1 entry for the directory itself
[18:38] <jam> you probably also need to check that "tree.path2id('path')" doesn't return None indicating there is nothing at that path
[18:38] <jam> but that should get you going in the right direction at least
[18:38] <Pieter> ah yes, that will work
[18:38] <Pieter> thanks :)
[18:39] <Pieter> bzr-fast-export tries to export directory renames when there are no files in that directory
[18:39] <Pieter> and that causes git-fast-import to crash, as it doesn't track empty dirs :)
[18:40] <jam> interesting, though in Bazaar you certainly can rename a directory with no contents
[18:40] <jam> My understanding is that there was a weird race if you move the 1 file in a directory
[18:41] <jam> Ah wait, it was something about moving a directory *and* renaming a file inside of that directory
[18:41] <jam> because if you renamed the whole directory, you didn't have the right path to rename the file
[18:41] <jam> something like that
[18:41] <Pieter> yeah, I fixed that already
[18:44] <jam> weird, intermittent connection loss
[18:50] <Pieter> can't I split a hunk with bzr shelve?
[18:50] <LeoNerd> Not easily
[18:50] <LeoNerd> I usually revert then vimdiff between file and file.~1~
[18:50] <jam> Pieter: you can split between hunks, I didn't think you could split a specific hunk
[18:50] <LeoNerd> You can pull lines about arbitrarily then
[18:50] <Pieter> bah
[19:26] <Pieter> hmm, the iter_entries_by_dir thing just returns an empty listiterator if you supply a pathid instead of a list of pathids
[19:37]  * beuno hugs mwhudson_ and continues working
[19:41] <james_w> abentley: sorry, I might have jumped the gun on that bzrtools bug report. I'm not sure why he is getting the traceback, but it looks as though this is intended behaviour.
[19:44] <Pieter> jam: I think the iter_entries_by_dir will always return just one result
[19:44] <Pieter> jam: it won't walk the contents of the dir
[19:46] <abentley> james_w: I thought PatchFailed was now behaving like a user error.
[19:49] <abentley> Pieter: By specifiying the file ids you want, you are restricting its output to just those file ids.
[19:52] <abentley> Pieter: You might want something more like walkdirs.
[19:53] <Pieter> abentley: yeah, that's what I figured
[19:55] <jam> Pieter: if you supply a pathid it iterates the string
[19:55] <jam> which doesn't match anything
[19:55]  * Verterok cross his fingers and fires the BB migration script
[19:55] <jam> abentley: I forgot that iter_entries was not recursive
[19:55] <jam> Pieter: there is Tree.walkdirs(path=XX)
[19:56] <jam> Which takes a single path string
[19:56] <Pieter> jam: yeah, doing that now
[19:57] <jam> abentley: so I found the problem with get_reference_revision... specifically we are doing a commit in the outer WT to get the appropriate DirStateRevisionTree, but that is "recurse=True", so it does a commit in the subtree as well...
[19:57] <beuno> Jc2k, are you running (or going to be) running trunk for LH?  So I can poke at the theme bits on the weekend.  Also, if there's anything else you need before Guadec, let me know and/or file a bug en LP for it  :)
[19:58] <jam> abentley: for RevisionTree you explicitly pass "recursive=None", so I think I just need to do that for DirStateRevisionTree
[19:58] <abentley> Oh, that sounds plausible.
[19:58] <jam> I just wasn't sure if that would break anything else, but it doesn't seem to
[20:39] <james_w> abentley: yes, code examination showed that it does. Is this an old bug?
[20:39] <abentley> Yes.
[20:40] <james_w> ok, thanks, I'll look for when it was fixed and update the bug
[20:54] <Pieter> ah, got my shelve problem solved
[21:33] <Pieter> http://ss.frim.nl/==808
[21:33] <Pieter> whoo
[21:52] <tolstoy> Folks: is there any info anywhere on BZR return codes?
[21:53] <tolstoy> When I do a "bzr diff" on a remote repo, it works, but I get a return code of 1, which isn't so nice for scripts.
[21:53] <tolstoy> bzr diff on a repo with no changes, and I get an rc of 0.
[21:54] <eMxyzptlk[away]> Hey guys, I'm always getting No handlers could be found for logger "bzr", looking on google I found some bugs filled on LP which is related to ssh or whatever, but I'm always getting this even if am not inside a repo like running bzr in /tmp or /dev or ~ will give this msg
[21:54] <eMxyzptlk[away]> any ideas ?
[21:54] <Pieter> tolstoy: that's pretty standard.. isn't that just diff's return codes?
[21:54] <tolstoy> Pieter: I have no idea. I'll check that out.
[21:55] <Verterok> tolstoy: in the case of diff, try: bzr help diff
[21:55] <Verterok> at the end of the help you can find the meaning of the exit codes
[21:55] <tolstoy> Verterok: Damn! I looked at that help text many times, and never paid attention to the big fat Exit Values. Sheesh. Thanks!
[21:55] <Pieter> tolstoy: I think 0 is no differences, 1 is differences, 2 is error
[21:55] <Verterok> y'r welcome :)
[21:56] <tolstoy> Pieter: Ah, now I get it. Odd, but cool. Now: to hack that in to an ant script.
[21:56] <Pieter> hah, bzr.dev is only 20MB in git
[21:56] <tolstoy> The only problem I'm having now is "tagging" a remote branch.
[21:57] <tolstoy> Can't seem to even tag a local branch, then "commit" it. Says there's nothing to commit.
[21:57] <fullermd> You don't commit tags.
[21:58] <tolstoy> But they can be "pushed" to remote branches?
[21:58] <tolstoy> Er, I'll back up.
[21:58] <fullermd> Yes, they get sent on push.  They're just not commit'd; when you make a tag, it's saved.
[21:58] <tolstoy> If I do a build (say), and I want to tag it, but have made no other changes, how do I push that tag remotely to our "source-of-truth".
[21:59] <Verterok> tolstoy: making a branch maybe?
[22:00] <tolstoy> Heh heh. Babysteps. If I can get people to use bzr in place of cvs, the next task is to rethink all this in the first place. ;)
[22:03] <fullermd> Well, you tag revisions.  So you tag whatever revision you built.
[22:04] <fullermd> (the latest, I presume)
[22:05] <Verterok> abentley: around?
[22:06] <abentley> Verterok: Hi.
[22:06] <Verterok> Hi
[22:07] <Verterok> I moved all BB tables into mysql except for mergerequest :)
[22:08] <Verterok> I'm having problems with the patch_text column
[22:09] <Verterok> I defined it as a Blob in MySql but for some reason SqlAlchemy is trying to decode the contents so I get UnicodeEncodeError with it :(
[22:10] <Verterok> abentley: I was thinking in change the type of the column to text. could be any problem with this change that affects the bundles?
[22:10] <beuno> as in, "can binaries be treated as text"
[22:10] <abentley> The contents are not in any particular encoding.
[22:11] <Verterok> thx beuno  :)
[22:11] <abentley> I think I have some that are utf-16..
[22:13] <Verterok> hmm...I see, that could be a problem with column encoding
[22:13] <beuno> Verterok, I think you can dump any encoding into a blob column
[22:13] <beuno> not sure how to handle the migration
[22:14] <Verterok> beuno: indeed
[22:14] <Verterok> beuno: that's the problem :), SqlAlchemy try to decode the blob contents
[22:15] <Verterok> I'll fallback to plain-old sql :P
[22:15] <Verterok> abentley: thanks
[22:16] <eMxyzptlk[away]> No one get 'No handlers could be found for logger "bzr"' ??
[22:17] <eMxyzptlk[away]> I get it on Gentoo and on Ubuntu :O
[22:23] <tolstoy> fullermd: Yes, I tag on he branch I just pulled from a remote repo, but I need to make sure the tag is ALSO on the remote repo.
[22:24] <tolstoy> There doesn't seem to be a way to push a tag over there.
[22:24] <tolstoy> The branch I have at hand is only "pulled" to do the compile.
[22:24] <tolstoy> Hm.
[22:25] <tolstoy> Maybe ssh user@host (cd /path/to/repo ; bzr tag name)
[22:25] <tolstoy> is the way to go.
[22:29] <fullermd> push pushes tags (even though it doesn't say so)
[22:29] <tolstoy> Yeah?
[22:29] <tolstoy> I'll test....
[22:29] <fullermd> (at least, I'm pretty sure it did last time I tested it, which was a while ago)
[22:29] <tolstoy> BTW, anyone know of a nice diff2html (or is that patch2html)?
[22:31] <tolstoy> Yes, bzr push does indeed push tags, even though it says, "No revisions to push."
[22:50] <james_w> eMxyzptlk[away]: check the permission on your ~/.bzr.log
[22:51] <eMxyzptlk[away]> james_w, Thank you that worked, apparently it was root:root
[22:51] <eMxyzptlk[away]> james_w, thx again, u saved me from going blind when I use ZSH auto-completion lol
[22:52] <lifeless> hi guys
[22:52] <beuno> gooooooooooooood morning lifeless
[22:57] <lifeless> looks like I'll be doing a talk in 7 days at slug about bzr-search
[22:57] <beuno> jelmer, I need to test something, and I know you play around with symlinks a lot. Is there any branch in LP you know has symlinks?
[22:57] <beuno> lifeless, neat. And that is only... what, 2 weeks after you started?
[22:57] <lifeless> yah
[22:58] <lifeless> mind you, its thanks to you there is substantial bling to demo
[22:58] <lifeless> it would be cool to show an IDE as well :)
[22:59] <beuno> well, it's recursive in that sense. You did most of the heavy lifting
[22:59] <lifeless> :)
[22:59] <beuno> ah, that seems like a hint towards Verterok
[22:59] <beuno> which just happens to have the day off work today...  :p
[22:59]  * beuno ducks
[22:59]  * Verterok blinks
[22:59] <Verterok> hi lifeless
[22:59] <lifeless> Pieter: in case you aren't aware, our storage layer is pluggable, and we have plans to dramatically increase the compression of it
[23:00] <lifeless> Pieter: other things have just been more important
[23:00] <lifeless> hi Verterok :)
[23:00] <Verterok> 7 days, to have a working (eclispe way) demo of bzr-eclipse+bzr-search?
[23:01] <lifeless> Verterok: 6 - I'm a day ahead :)
[23:01] <beuno> common, you can do it in 2!
[23:01] <Verterok> oh, right... ok, in 6 then :D
[23:03] <beuno> lifeless, any idea of git or hg have anything similar to this?
[23:05] <lifeless> beuno: not yet :) - there are external source indexing tools (like bonsai) already; but AFAIK this is unique in integration and slickness (well except for google code search, but thats kinda different :P)
[23:05] <Verterok> lifeless: I could try to get a working version of it for monday
[23:06] <Verterok> (your monday)
[23:07] <lifeless> Verterok: if you feel like it it would be awesome. I can do a 45 minute talk on just your screen shot the other day + loggerhead and bzr-search
[23:08] <Verterok> lifeless: I was thinking in a version that actually do something with the results :)
[23:09] <lifeless> Verterok: see that would be so cool
[23:09] <Verterok> like mapping the files to eclipse "resources" and show them in a tree-like view or something
[23:13] <lifeless> jelmer: have you played with beuno's demo of loggerhead?
[23:14]  * beuno fires it up again
[23:17] <beuno> and, of course, googlebot was just waiting for me to do that...
[23:17] <lifeless> :P
[23:23] <igc> hi guys
[23:23] <beuno> morning igc
[23:24] <igc> hi beuno!
[23:26] <beuno> igc, I've seen the MySQL people talking about a video on a talk you gave. Any idea if that's available yet>
[23:26] <beuno> ?
[23:27] <igc> beuno: I don't know sorry. I know the talk was videoed but no-one has sent me a link to it if it's been made public
[23:30] <beuno> igc, I'll keep an eye put for it then
[23:30] <beuno> have you seen the latest bling with lifeless's bzr-search?
[23:31] <igc> beuno: I've seen a version from a day or two ago.
[23:31] <igc> It didn't have the nice new colour bling Joey was asking for feedback on though
[23:31] <beuno> igc, look now: http://intranet.pentacorp.net:8080/bazaar/bzr.garbage/changes
[23:31] <beuno> (try searching)
[23:32] <beuno> ah, yes, new theme.  That's pretty advanced, I'm hoping to wrap that up next week
[23:33] <igc> beuno: sweet. The last version I saw was showing tuples in the search box so this is now much nicer :-)
[23:34] <beuno> yes, less geeky, but nicer  :)
[23:34] <igc> *but* searching for lifeless doesn't match anything. That surprised me the other day (and still does)
[23:34] <igc> maybe I should search for Collins instead
[23:34] <beuno> well, he doesn't seem to use his nickname in commits
[23:35] <igc> yes, Collins is far more satisfying (in terms of a result)