[01:07] when I'm trying to checkout a branch on Windows, I get "exceptions.NameError: global name 'readline' is not defined... any ideas? === AfC1 is now known as AfC [03:55] Has locking been removed to the point where Bazaar is safe over NFS now? [04:58] AfC: i don't think working trees on nfs are a particularly good idea yet [04:59] (not sure though!) [04:59] mwhudson: [yeah, I've been searching docs and not finding advice either way] [04:59] I was vaguely mostly wondering about branches & repositories. [05:00] i think that ought to be ok [05:08] hm [05:11] Branches on a file:/// at a NFS mount, or bzr+ssh:/// [05:16] bzr+ssh [05:16] nfs will work its just a bad idea [05:23] lifeless: fair enough [05:23] thanks [05:23] [my suspicion was that revisions locally is better than asking NFS to ship them around and being blocked on network to get them into host cache] [05:25] think of it like 'is running sqlite, or access, or postgresql, on nfs a good idea' [05:25] bbiab === mtaylor is now known as mtaylor|beach [07:38] hi all ! [08:04] hi vila [08:04] vila, can you be pp this week? [08:10] that was quick :) [08:11] poolie: yes, until thursday === vila changed the topic of #bzr to: Bazaar version control | try https://answers.launchpad.net/bzr for more help | http://irclogs.ubuntu.com/ | Patch pilot: vila | bzr 2.2b4 has gone gold, build those installers [09:09] hi vila [09:09] poolie: hey ! [09:09] thanks for the reviews! [09:10] poolie: more to come ;) [09:10] you're ok to pilot? [09:10] thanks, i was slack at it last week [09:10] i think i had a good excuse [09:10] poolie: sure, I'm already doing it, just wanting to remind you that I'll stop Thursday [09:11] np [09:12] jelmer: welcome back ! [09:12] 'morning vila [09:12] hi jelmer [09:13] vila: thanks :-) [09:13] hi Martin [09:13] wish you'd been here, it was a great sprint [09:13] I bet, I wish I could've made it too :-( [09:15] jelmer: feel free to ping me about https://code.edge.launchpad.net/~vila/bzr-svn/525571-minimal-atomic-write-bazaar-conf-files-2.1/+merge/29439 when you want, your fix on bzr-svn trunk is based on a fix that will not land on bzr trunk for a little while so you may have to tweak a bit [09:18] hi vila, hi jelmer [09:18] hey james_w [09:19] hi James [09:19] vila: I'll have a look this evening - thanks [09:49] jam so the followon i https://code.edge.launchpad.net/~mbp/bzr/32669-2.0-symlink-branch/+merge/30241 [09:49] apparently not passing yte [10:26] vila, i was just talking to jam about fixing bugs in 2.0 [10:27] hi vila [10:27] hi ajm [10:27] meh, hi jam [10:28] and the agreement, which is not super surprising, is that we should merge things that are either small fixes and at least a medium bug, or a critical bug with the smallest sufficient fix [10:29] right, so your last symlink fix is ok or not ? [10:29] so these things for symlinks are probably only for trunk [10:29] the add SYMLINK/FILE that is [10:29] ha, good, I feel better this way too [10:29] good :) [10:30] not that the fixes sound risky, but changing the behaviour there... has its own risks [10:31] right [10:34] these dependent branch things are not as good as they could be [10:49] * vila breathes again, running the full test suite in 3 hours was a pain :-( [11:00] Long time to hold your breath, too :p [11:01] fullermd: only a week working my underpowered laptop, good practice for scuba diving :p [11:04] wow scuba *is* an acronym... [11:04] Everything's an acronym if you get creative enough ;> [11:05] fullermd: how about superfragilisticexpialidocious [11:05] * vila won't hold his breath there :-D [11:10] Sustained Underwater Peristalsis through Extremely Ribald Falsetto Ringtones And Gyrating Intersteller Longranger Interferometric Seismic Tortoise Interloping Calling Enough Xylophonic Porpoises for Inter-Alia Licorice In Destructive Obsequious Cacophanies Intersperced with Obviously Ultimate Sequins [11:11] * fullermd gasps for breath. [11:11] * vila googles acronymizer [11:11] That would be cheating. [11:12] right, google didn't find yours... [11:12] ...yet [11:12] :) [12:47] hi guys, i'm trying to set up a basic authenticating server using ssh [12:48] so far i've got a ssh shell wrapper that forces a directory, but i can only see to capture the bzr serve call, there's no information about which branch is being requested [12:48] so my question is - can I check which branch is being accessed somehow? [12:49] my script so far is pretty much http://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev/annotate/head:/contrib/bzr_ssh_path_limiter [12:57] quick question here to see if I understand correctly, if a do "bzr add dir/" all the contents of the dir should be added, am I right? [12:57] except those that match ignore patterns, yes [12:59] Glenjamin, which are present in .bzrignore, right? [12:59] Glenjamin, can they be found somewhere else? [13:02] I'm working on windows and wanted to add a folder with a subfolder with binnaries to a branch and all the binnaries have been ignored from the nested folder , and I was wondering if that was a feature === Ursinha-afk is now known as Ursinha === vednis is now known as mars === beuno_ is now known as beuno [14:14] does anyone know roughly where in the code the bzr client runs the SSH command to start up the server for the bzr+ssh:// transport? [14:14] i'm trying to add in an environment variable to provide details of what the server connection is for. [14:17] Doesn't it use paramiko these days, and hence doesn't -actually- run /usr/bin/ssh at all..? [14:17] not a clue, all i know is the server receives bzr serve --directory=/ [14:17] and i'd like to try and pass more information there [14:18] Glenjamin: bzrlib.transport.ssh ? [14:22] ...the easiest way to add an envvar is just to add it to the environment you're running bzr in, not fiddle with the ssh code [14:23] they get passed along to child processes [14:24] I see jam's done the review on the ~nmb branch I collapsed before posting last night, so that's one less job [14:25] there's one other existing error class that defines a similar __str__ method and should probably be changed as well [14:27] mgz: would that add the env var to the remote ssh connection? [14:27] is there a way to get a log between given timestamps? [14:28] i want to send the command line bzr was given to the ssh wrapper that accepts the connection - for permission checking [14:29] ah, I hadn't read closely enough. easiest to fiddle with the default environment of the remote user, then? [14:33] if i do "bzr push bzr@bzr.server.com/project/branch" i'd like to set BZR_COMMAND=push and BZR_PATH=/project/branch on the initial SSH connection. [14:33] or something along those lines [14:34] oh, so you don't really need a different env, you just want to look at the logging [14:34] see .bzr/log on the server, it will have all that and more [14:34] oh [14:35] interessant [14:35] $BZR_HOME/.bzr.log [14:36] surely the command string is in the _client's_ bzr log? [14:37] depends what you mean by command [14:37] what you type on the terminal is in the client's log [14:37] what smart operations actually run are in both. [14:38] yeah, this is part of the problem - i'm using a script like http://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev/annotate/head:/contrib/bzr_ssh_path_limiter [14:38] the ssh shell thing just gets the bzr serve command, and then the actual command is sent through a different medium [14:39] there's a program called bazitis, which does the remote permissions by replacing the file:// handler. I was trying to something simpler [14:41] okay, reading further back in the log I now understand even less [14:43] yeah, i'm not convinced i'm being entirely clear, i'll go back to the problem - not my perceived solution [14:43] you're trying to do a more complicated authentication scheme than just user permissions? [14:43] sort of [14:43] i'm doing it like gitosis, where you have a single user, and each key auth uses a different shell [14:44] which is a program that does a check against SSH_ORIGINAL_COMMAND [14:44] the whole repo is owned by the "bzr" user, and auth is handled separately [14:45] this work fine in git, because the command sent contains the full path - but doesn't in bazaar because of the way the smart protocol works [14:46] the reason for doing it this way, is to avoid giving everyone full ssh accounts [14:47] and to enforce the repos all being in the same place [14:49] using bzrlib, how can I get a branch object from a path already created as a branch? [14:50] cr3: http://doc.bazaar.canonical.com/bzr.2.1/developers/integration.html should be what you need [14:50] okay. trying to work this with bzr+ssh seems perverse to me, but copying what some git thing does explains why at least. [14:50] Glenjamin: awesome, thanks! [14:51] Glenjamin: keep in mind though that, unlike git, the repository may not be at the same place that the branch [14:52] my intention was to force everything through this same script, so I can enforce things like central repository layout [14:56] so, given that this has probably been the wrong way to approach this [14:57] what's the recommended way to handle a central repository with user-based permissions in a corporate environment? [14:59] Glenjamin: using bzr+http may be a bit more setup for the server itself, but then, it provides many solutions to define/authenticate the users [14:59] Glenjamin: from there defining specific .htmlaccess files becomes the easiest I think [15:01] Glenjamin: but there is also contrib/bzr_access which AIUI does what you want [15:03] bzr access only supports global permissions, since it wraps the initial ssh connection - which has no knowledge (nor really cares) what it's being opened for :( [15:05] Glenjamin: but you can still use different keys, i.e. one by project if really needed [15:05] Glenjamin: how many projects are you trying to handle or how many teams if they work on the same projects ? [15:12] vila: to begin with, it's just going to be one project with maybe 5 devs, but i hate the git setup we have atm, so ideally i'd want to replace our gitosis setup with this [15:13] Glenjamin: for a given project, it makes sense to define groups for read and write operations for all the branches in the repository, what feature is missing for you ? [15:15] i was hoping to manage multiple projects using a single key for each user [15:16] Glenjamin: bzr_acess finds its config file in the repository, so you can specify different access rights for a given user at this level [15:17] bah, I meant, for the same user, each repo defines the access rights, that gives you rights by project [15:18] but bzr serve always receives --directory=/ [15:18] and then the protocol itself requests the full path [15:19] Glenjamin: but it will receive --allows-write or not and will not be called if the permission is denied, at least that's how I read the script... [15:19] Glenjamin: [15:24] my understanding is that each line in the authorized_keys file has to match a unique key, and the command string on that line is the only place you can tell bzr_access which repo to look at [15:25] doh [15:26] i sorta want to be able to hook into the SmartClientMedium [15:26] but there's no entry point [15:27] Glenjamin: indeed, hmm, the next simplest thing would be define a user by project on the server :-/ [15:28] Glenjamin: I think you should talk with spiv then, he should be able to give you the most detailed answer [15:29] Glenjamin: I think he's travelling right now but he should resume his online presence in AU tz soon [16:07] i've come up with a silly hack that involves hooking into http://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev/annotate/head:/bzrlib/smart/request.py#L171 :D [16:17] vila: poke [16:17] looking into the python2.7 compatibility issues [16:17] jam: :) [16:17] it looks like the problem is in how we are poking at xmlrpclib so that it can support proxies [16:18] it seems that xmlrpclib wants an httplib.Response object, and we are giving it a _urllib2_wrappers.Request object [16:19] the main difference from what I can see [16:19] one has 'def getheaders' [16:19] the other has [16:20] 'def get_header' [16:20] (sorry, both are singular) [16:20] the difference is in the underscore [16:20] jam: from the top of my head, can't they both use .headers instead ? [16:20] vila: I can't change the stdlib [16:20] unless you *really* want to hack stuff [16:20] look at http://docs.python.org/dev/whatsnew/2.7.html [16:20] it mentions that xmlrpclib now supports keep-alive, etc [16:20] which means it checks headers [16:21] which means it breaks vs our work-around for proxies [16:21] jam: what seems suprising is that one gets a response when the other get a request... [16:21] vila: yep [16:22] vila: I may not have followed the traces enough yet [16:23] the bug mentions this fails: if response.getheader("Content-Encoding", "") == "gzip": [16:23] urgh, who is playing with content-encoding ? [16:23] jam: bug $ again ? [16:23] jam: bug # again ? [16:24] vila: bug #605574 [16:24] Launchpad bug 605574 in Bazaar "lp-registration is not compatible with python-2.7 (affected: 1, heat: 6)" [Medium,Confirmed] https://launchpad.net/bugs/605574 [16:24] thks [16:25] ha right, urgh, addinfourl is an ugly hack... [16:26] vila: sure, but I think it is masking the real thing [16:27] vila: specifically, python2.6.5 doesn't ever call getheader [16:27] python2.7 does [16:27] jam: sure [16:27] so, are you reproducing that right now ? [16:27] both to check the "Content-Length" header, and to check "Content-Encoding" [16:27] vila: yeah, no problem reproducing [16:28] vila: /usr/local/bin/python2.7 bzr info lp:bzr [16:28] fails in the xmlrpc lookup of 'lp:bzr' [16:29] oh,, cool, let me try that [16:29] jam, can you find michael hope and talk about release process, if you're not busy? [16:30] meh, no py27 for lucid ? :-/ [16:30] vila there's a ppa i think [16:30] vila: nope [16:30] maybe that's only maverick [16:30] poolie: barry is sort of looking at it [16:30] poolie: will check [16:31] but doko only built for maverick [16:31] poolie: I don't know who that is, but otherwise I would be willing [16:31] ha, time for new babune slave then :-> [16:31] vila: yeah, I built from source to test this [16:32] jam: hmm, so for a short answer: if get_header or getheader should be added to _urllib2_wrappers class this shouldn't to hard, I more or less remember getting away from addinfourl objects though so I'm a bit surprised to see one in the traceback [16:33] may be I just wrap it very late and I never put the headers there since they were not needed [16:34] jam: but for context: why are you looking at this ? I didn't thought 2.7 was urgent, is there a chicken-and-egg problem for someone here ? [16:35] vila: maverick would like to include 2.7 as an installable package [16:35] it can't unless they can build all python packages for both 2.6 and 2.7 [16:35] also [16:35] 2.7 is out [16:35] it would be good to be compatible with it [16:35] and barry is here to work with :) [16:37] jam: ok, makes sense, say sorry and hi to Barry from me then :) [16:37] vila: barry says hi, and enjoy your evening [16:38] vila: first thing when trying to use the original transport... itgets a 302 redirected error and basically just dies ... :) [16:38] ..and fallback to a bzr one ? [16:39] vila: I hacked out the XMLRPCTransport code so that I could try to figure out what object it is actually getting [16:41] wow, qblame confirms I wrote this class, it looks weird, this smells like: "OMG, let's try to minimize even if it ends up ugly:-/" === oubiwann is now known as oubiwann-away [16:43] jam: did you try to run the associated tests ? [16:43] vila: test suite doesn't run either, for other reasons [16:44] unittest._WritelnDecorator no longer exists [16:44] barry is working on that one [16:44] umpf [16:45] * vila sings ha ha ha ha, shaving the yack, shaving the yak (on the Saturday's Night Fever music) [16:45] looks like the class just moved somewhere, we can grab it from there [16:45] shaving the yaaaaaa-aaaaaaa-aaaaaaaa-aaaaaaak === Ursinha is now known as Ursinha-nom [16:47] lets just drop the WritelnDecorator use :) [16:49] lifeless: unittest.runner printErrors calls self.stream.writeln() [16:49] lifeless: so it isn't in our code, unless we can override such things in our runners, etc [16:49] we could stop calling that :) [16:50] vila: basically, XMLRPCTransport is no longer compatible with xmlrpclib.Transport [16:50] we found a test suite failure [16:51] from xmlrpclib....close [16:51] it wants a '._connection' attribute (presumably to close it) [16:52] ah, the 2.7 bugs [16:53] mgz: yeah [16:53] which is also good for Barry to know about, because it directly impacts the chance that 2.7 can be put into the next Ubuntu release [16:53] I'll do the testing one if depending on a newer version of testtools is an acceptable solution [16:53] lifeless: the test suite is also failing if lazr.? is not installed [16:53] *sigh* [16:54] it looks like barry has launchpadlib, but not necessarily the full dependency stack on his 2.7 vm [16:55] what's the rules on where to fix things currently? should I be branching 2.2 or just staying with dev or what? [16:55] mgz: branch the thing where you want it to land :) [16:56] does 2.2 want to work with 2.7? [16:56] 2.2 is feature/api-frozen [16:56] 2.2 is targeted for Maverick, and we'd like to have 2.7 in Maverick [16:56] at this point we would *like* it [16:56] Subject to the tastefulness of changes to get it [16:56] poolie has the final say IMO [16:59] wow, installing maverick from the daily build is a breathe, I'm impressed (*again*) [17:01] hmpf, boot seems to be even faster than lucid === mandel_ is now known as mandel_afk [17:11] jam: XMLRPCTransport was meant to be a minimal replacement, it's not surprising it's not compatible anymore [17:12] jam: if this becomes too hard to maintain, we may want to switch to launchpadlib instead, I don't know if it has been ported on all platforms though [17:17] vila: it is on windows [17:17] the main problem is that it is *dog slow* [17:17] hi jam, where did you get off to? [17:17] as it does stuff like downloading the WADL definition, extra round trips, etc [17:17] jam: good, the hardest part is done then :) [17:17] poolie: currently in Mozart 2 [17:17] w/ barry [17:18] jam/mgz: my main thing for 2.2 is that we should not break plugins that are updated to work with 2.2b4, [17:18] and that we should not break ourselves :) [17:20] Is there a proper way to remove a checkout from my local repo? Just rming the dir leaves info in the .bzr directory doesn't it? === beuno is now known as beuno-lunch === Ursinha-nom is now known as Ursinha-afk === Ursinha-afk is now known as Ursinha === beuno-lunch is now known as beuno [18:28] okay, one issue down, two more exposed [18:29] ha, second one is less horrible than I thought, but.... man lifeless is going to hate this [18:37] Meths: Yes, but there's no way to get rid of that, currently. [18:38] So just rm the dir === mtaylor is now known as mtaylor|lunch [19:08] okay, this is problematic [19:09] bzrlib and the new unittest in 2.7 seem to have different ideas about the arguements to load_tests functions [19:10] maxb: Okay, thanks. [19:16] down to two failures on bt.test_selftest and a bunch of extra spew at the end [19:47] mgz: load_tests is specific to bzrlib so we can change it if needed [19:47] well, the problem is it's not any more, likewise other unittest extensions [19:47] there are similar but incompatible implementations of various bits in 2.7 [19:48] trying to file bugs for a few bits that can be handled later, but launchpad isn't playing along. [19:48] testtools should be fixed then, not bzrlib :-> [19:48] well, bzrlib.selftest and bzrlib.TestUtils implements a lot of stuff testtools doesn't [19:49] hmm [19:49] is there a way past the +filebug search through all existing bugs? [19:49] because having that timeout on me is just annoying [19:50] mgz: on .edge ? [19:50] all I want to do is fill in a few text fields and it doesn't wanna let me [19:50] mgz: try disabling the redirection [19:50] mgz: prepare everything in your editor and *then* copy/paste :) [19:51] that had a thingy saying it should only be used by "the Launchpad Beta Testers team" [19:51] which I'm pretty sure I'm not in [19:51] there's a sort of cheeky workaround. Keep the summary box blank, click Next, and *then* fill it in [19:52] ah, I'll try that, thanks. [19:52] "There is 1 error." "A summary is required." [19:52] mgz: does the host says 'edge' anywhere ? If yes, then you are part of the beta testers team ;) [19:53] mgz: go the lp home page and you should be able to disable the redirection for 2 hours [19:53] ah, just a space then will do. [19:53] okay vila, as long as you promise no one will yell at me :) [19:54] hehe, I can yell now so you can continue with that done if you want :) [19:54] mgz: *sigh* testtools [19:55] mgz: the thing will timeout because fti is doing terrible queries [19:55] mgz: on edge it will take 14 seconds to timeout, which is better than prod [19:55] does your job change mean I can now direct my launchpad whines at you personally? ;) [19:56] yes [19:56] it also means I get to wave my hands and say 'thats not architectural nyah nyah nyah' [19:56] ehehhee [19:56] lol [19:58] mgz: I am interested in whinges and praise. [19:58] they inform me about the things we need to make easier to fix, and the things we're successful at. [20:02] oh, reminds me - the bug I wanted you to point the launchpad notifications guy at, he might have got the wrong one [20:03] he triaged a minor unrelated one I filed, but I found an existing bug for the email notifications that I commented on [20:04] ...well, it's also minor to be fair, just annoying for inbox management [20:08] mgz: like using "My Name " instead of "My Name " when sending a mail to *me* ? [20:09] like that, though that particular doesn't wind me up too much === mtaylor|lunch is now known as mtaylor [20:17] what tag should I use for Python 2.7 related issues? [20:20] python2.7? [20:20] dots are okay? [20:20] I think so [20:20] I will try. [20:21] seems so. [20:54] jml: I just found out fuzzyman mangled the load_tests protocol [20:54] jml: I am feeling infuriated [20:55] such things are only ever discovered after the final release :) [21:13] hi there mgz [21:13] hey poolie. [21:16] poolie: I'm always a little nervous about triage-as-I-file because there's a not-insignificant number of bugs that only I see, so having someone else confirm them makes me feel happier :) [21:27] mgz i know what you mean but i think you'll be right often enough that it's worthwhile over all [21:27] it's just as easy for us to change a bug from confirmed->incomplete or low-> high or high->low as it is from new->something [21:27] anyhow, bed time here [21:27] good nih [21:27] night* [21:28] night! [23:16] http://doc.bazaar.canonical.com/migration/en/survival/bzr-for-git-users.html says "Bazaar allows branches to have nicknames, and provides commands to switch branches for you." [23:16] what commands are those? [23:17] what i want to do is totally a git staple: branch+switch to a throwaway branch to attempt some experimental refactoring [23:18] that would be "bzr switch", although I haven't used it enough to walk you through it [23:35] dunno, that doesn't seem to be in wide use or implemented quite like i'd expect [23:37] doug: Yeah, switch. [23:38] doug: I use it all the time. [23:38] doug: I think you might also be thinking of the word "branch" in git terms that don't make sense in bzr. [23:38] doug: You might want "shelve" instead. [23:39] yeah, that might do it. [23:58] doug: The key difference between bzr and git here is that whilst a git branch can just be a name within an existing .git directory, a bzr branch is always identified by an actual user-visible filesystem directory [23:59] a couple of sentences before the one you quoted, in fact :-)