/srv/irclogs.ubuntu.com/2010/07/19/#bzr.txt

GungaDinwhen I'm trying to checkout a branch on Windows, I get "exceptions.NameError: global name 'readline' is not defined... any ideas?01:07
=== AfC1 is now known as AfC
AfCHas locking been removed to the point where Bazaar is safe over NFS now?03:55
mwhudsonAfC: i don't think working trees on nfs are a particularly good idea yet04:58
mwhudson(not sure though!)04:59
AfCmwhudson: [yeah, I've been searching docs and not finding advice either way]04:59
AfCI was vaguely mostly wondering about branches & repositories.04:59
mwhudsoni think that ought to be ok05:00
AfChm05:08
AfCBranches on a file:/// at a NFS mount, or bzr+ssh:///05:11
lifelessbzr+ssh05:16
lifelessnfs will work its just a bad idea05:16
AfClifeless: fair enough05:23
AfCthanks05:23
AfC[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:23
lifelessthink of it like 'is running sqlite, or access, or postgresql, on nfs a good idea'05:25
lifelessbbiab05:25
=== mtaylor is now known as mtaylor|beach
vilahi all !07:38
pooliehi vila08:04
poolievila, can you be pp this week?08:04
vilathat was quick :)08:10
vilapoolie: yes, until thursday08:11
=== 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
pooliehi vila09:09
vilapoolie: hey !09:09
pooliethanks for the reviews!09:09
vilapoolie: more to come ;)09:10
poolieyou're ok to pilot?09:10
pooliethanks, i was slack at it last week09:10
pooliei think i had a good excuse09:10
vilapoolie: sure, I'm already doing it, just wanting to remind you that I'll stop Thursday09:10
poolienp09:11
vilajelmer: welcome back !09:12
jelmer'morning vila09:12
pooliehi jelmer09:12
jelmervila: thanks :-)09:13
jelmerhi Martin09:13
pooliewish you'd been here, it was a great sprint09:13
jelmerI bet, I wish I could've made it too :-(09:13
vilajelmer: 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 bit09:15
james_whi vila, hi jelmer09:18
vilahey james_w09:18
jelmerhi James09:19
jelmervila: I'll have a look this evening - thanks09:19
pooliejam so the followon i https://code.edge.launchpad.net/~mbp/bzr/32669-2.0-symlink-branch/+merge/3024109:49
poolieapparently not passing yte09:49
poolievila, i was just talking to jam about fixing bugs in 2.010:26
jamhi vila10:27
vilahi ajm10:27
vilameh, hi jam10:27
poolieand 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 fix10:28
vilaright, so your last symlink fix is ok or not ?10:29
poolieso these things for symlinks are probably only for trunk10:29
vilathe add SYMLINK/FILE that is10:29
vilaha, good, I feel better this way too10:29
pooliegood :)10:29
vilanot that the fixes sound risky, but changing the behaviour there... has its own risks10:30
poolieright10:31
pooliethese dependent branch things are not as good as they could be10:34
* vila breathes again, running the full test suite in 3 hours was a pain :-(10:49
fullermdLong time to hold your breath, too   :p11:00
vilafullermd: only a week working my underpowered laptop, good practice for scuba diving :p11:01
vilawow scuba *is* an acronym...11:04
fullermdEverything's an acronym if you get creative enough  ;>11:04
vilafullermd: how about superfragilisticexpialidocious11:05
* vila won't hold his breath there :-D11:05
fullermdSustained 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 Sequins11:10
* fullermd gasps for breath.11:11
* vila googles acronymizer11:11
fullermdThat would be cheating.11:11
vilaright, google didn't find yours...11:12
vila...yet11:12
vila:)11:12
Glenjaminhi guys, i'm trying to set up a basic authenticating server using ssh12:47
Glenjaminso 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 requested12:48
Glenjaminso my question is - can I check which branch is being accessed somehow?12:48
Glenjaminmy script so far is pretty much http://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev/annotate/head:/contrib/bzr_ssh_path_limiter12:49
mandelquick 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
Glenjaminexcept those that match ignore patterns, yes12:57
mandelGlenjamin, which are present in .bzrignore, right?12:59
mandelGlenjamin, can they be found somewhere else?12:59
mandelI'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 feature13:02
=== Ursinha-afk is now known as Ursinha
=== vednis is now known as mars
=== beuno_ is now known as beuno
Glenjamindoes 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
Glenjamini'm trying to add in an environment variable to provide details of what the server connection is for.14:14
LeoNerdDoesn't it use paramiko these days, and hence doesn't -actually- run /usr/bin/ssh at all..?14:17
Glenjaminnot a clue, all i know is the server receives bzr serve --directory=/14:17
Glenjaminand i'd like to try and pass more information there14:17
vilaGlenjamin: bzrlib.transport.ssh ?14:18
mgz...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 code14:22
mgzthey get passed along to child processes14:23
mgzI see jam's done the review on the ~nmb branch I collapsed before posting last night, so that's one less job14:24
mgzthere's one other existing error class that defines a similar __str__ method and should probably be changed as well14:25
Glenjaminmgz: would that add the env var to the remote ssh connection?14:27
cr3is there a way to get a log between given timestamps?14:27
Glenjamini want to send the command line bzr was given to the ssh wrapper that accepts the connection - for permission checking14:28
mgzah, I hadn't read closely enough. easiest to fiddle with the default environment of the remote user, then?14:29
Glenjaminif 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
Glenjaminor something along those lines14:33
mgzoh, so you don't really need a different env, you just want to look at the logging14:34
mgzsee .bzr/log on the server, it will have all that and more14:34
Glenjaminoh14:34
Glenjamininteressant14:35
mgz$BZR_HOME/.bzr.log14:35
Glenjaminsurely the command string is in the _client's_ bzr log?14:36
mgzdepends what you mean by command14:37
mgzwhat you type on the terminal is in the client's log14:37
mgzwhat smart operations actually run are in both.14:37
Glenjaminyeah, 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_limiter14:38
Glenjaminthe ssh shell thing just gets the bzr serve command, and then the actual command is sent through a different medium14:38
Glenjaminthere's a program called bazitis, which does the remote permissions by replacing the file:// handler. I was trying to something simpler14:39
mgzokay, reading further back in the log I now understand even less14:41
Glenjaminyeah, i'm not convinced i'm being entirely clear, i'll go back to the problem - not my perceived solution14:43
mgzyou're trying to do a more complicated authentication scheme than just user permissions?14:43
Glenjaminsort of14:43
Glenjamini'm doing it like gitosis, where you have a single user, and each key auth uses a different shell14:43
Glenjaminwhich is a program that does a check against SSH_ORIGINAL_COMMAND14:44
Glenjaminthe whole repo is owned by the "bzr" user, and auth is handled separately14:44
Glenjaminthis work fine in git, because the command sent contains the full path - but doesn't in bazaar because of the way the smart protocol works14:45
Glenjaminthe reason for doing it this way, is to avoid giving everyone full ssh accounts14:46
Glenjaminand to enforce the repos all being in the same place14:47
cr3using bzrlib, how can I get a branch object from a path already created as a branch?14:49
Glenjamincr3: http://doc.bazaar.canonical.com/bzr.2.1/developers/integration.html should be what you need14:50
mgzokay. trying to work this with bzr+ssh seems perverse to me, but copying what some git thing does explains why at least.14:50
cr3Glenjamin: awesome, thanks!14:50
vilaGlenjamin: keep in mind though that, unlike git, the repository may not be at the same place that the branch14:51
Glenjaminmy intention was to force everything through this same script, so I can enforce things like central repository layout14:52
Glenjaminso, given that this has probably been the wrong way to approach this14:56
Glenjaminwhat's the recommended way to handle a central repository with user-based permissions in a corporate environment?14:57
vilaGlenjamin: using bzr+http may be a bit more setup for the server itself, but then, it provides many solutions to define/authenticate the users14:59
vilaGlenjamin: from there defining specific .htmlaccess files becomes the easiest I think14:59
vilaGlenjamin: but there is also contrib/bzr_access which AIUI does what you want15:01
Glenjaminbzr 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:03
vilaGlenjamin: but you can still use different keys, i.e. one by project if really needed15:05
vilaGlenjamin: how many projects are you trying to handle or how many teams if they work on the same projects ?15:05
Glenjaminvila: 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 this15:12
vilaGlenjamin: 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:13
Glenjamini was hoping to manage multiple projects using a single key for each user15:15
vilaGlenjamin: bzr_acess finds its config file in the repository, so you can specify different access rights for a given user at this level15:16
vilabah, I meant, for the same user, each repo defines the access rights, that gives you rights by project15:17
Glenjaminbut bzr serve always receives --directory=/15:18
Glenjaminand then the protocol itself requests the full path15:18
vilaGlenjamin: 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
vilaGlenjamin:15:19
Glenjaminmy 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 at15:24
viladoh15:25
Glenjamini sorta want to be able to hook into the SmartClientMedium15:26
Glenjaminbut there's no entry point15:26
vilaGlenjamin: indeed, hmm, the next simplest thing would be define a user by project on the server :-/15:27
vilaGlenjamin: I think you should talk with spiv then, he should be able to give you the most detailed answer15:28
vilaGlenjamin: I think he's travelling right now but he should resume his online presence in AU tz soon15:29
Glenjamini'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 :D16:07
jamvila: poke16:17
jamlooking into the python2.7 compatibility issues16:17
vilajam: :)16:17
jamit looks like the problem is in how we are poking at xmlrpclib so that it can support proxies16:17
jamit seems that xmlrpclib wants an httplib.Response object, and we are giving it a _urllib2_wrappers.Request object16:18
jamthe main difference from what I can see16:19
jamone has 'def getheaders'16:19
jamthe other has16:19
jam'def get_header'16:20
jam(sorry, both are singular)16:20
jamthe difference is in the underscore16:20
vilajam: from the top of my head, can't they both use .headers instead ?16:20
jamvila: I can't change the stdlib16:20
jamunless you *really* want to hack stuff16:20
jamlook at http://docs.python.org/dev/whatsnew/2.7.html16:20
jamit mentions that xmlrpclib now supports keep-alive, etc16:20
jamwhich means it checks headers16:20
jamwhich means it breaks vs our work-around for proxies16:21
vilajam: what seems suprising is that one gets a response when the other get a request...16:21
jamvila: yep16:21
jamvila: I may not have followed the traces enough yet16:22
jamthe bug mentions this fails: if response.getheader("Content-Encoding", "") ==  "gzip":16:23
vilaurgh, who is playing with content-encoding ?16:23
vilajam: bug $ again ?16:23
vilajam: bug # again ?16:23
jamvila: bug #60557416:24
ubot5Launchpad bug 605574 in Bazaar "lp-registration is not compatible with python-2.7 (affected: 1, heat: 6)" [Medium,Confirmed] https://launchpad.net/bugs/60557416:24
vilathks16:24
vilaha right, urgh, addinfourl is an ugly hack...16:25
jamvila: sure, but I think it is masking the real thing16:26
jamvila: specifically, python2.6.5 doesn't ever call getheader16:27
jampython2.7 does16:27
vilajam: sure16:27
vilaso, are you reproducing that right now ?16:27
jamboth to check the "Content-Length" header, and to check "Content-Encoding"16:27
jamvila: yeah, no problem reproducing16:27
jamvila: /usr/local/bin/python2.7 bzr info lp:bzr16:28
jamfails in the xmlrpc lookup of 'lp:bzr'16:28
vilaoh,, cool, let me try that16:29
pooliejam, can you find michael hope and talk about release process, if you're not busy?16:29
vilameh, no py27 for lucid ? :-/16:30
poolievila there's a ppa i think16:30
jamvila: nope16:30
pooliemaybe that's only maverick16:30
jampoolie: barry is sort of looking at it16:30
vilapoolie: will check16:30
jambut doko only built for maverick16:31
jampoolie: I don't know who that is, but otherwise I would be willing16:31
vilaha, time for new babune slave then :->16:31
jamvila: yeah, I built from source to test this16:31
vilajam: 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 traceback16:32
vilamay be I just wrap it very late and I never put the headers there since they were not needed16:33
vilajam: 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:34
jamvila: maverick would like to include 2.7 as an installable package16:35
jamit can't unless they can build all python packages for both 2.6 and 2.716:35
jamalso16:35
jam2.7 is out16:35
jamit would be good to be compatible with it16:35
jamand barry is here to work with :)16:35
vilajam: ok, makes sense, say sorry and hi to Barry from me then :)16:37
jamvila: barry says hi, and enjoy your evening16:37
jamvila: first thing when trying to use the original transport... itgets a 302 redirected error and basically just dies ... :)16:38
vila..and fallback to a bzr one ?16:38
jamvila: I hacked out the XMLRPCTransport code so that I could try to figure out what object it is actually getting16:39
vilawow, qblame confirms I wrote this class, it looks weird, this smells like: "OMG, let's try to minimize even if it ends up ugly:-/"16:41
=== oubiwann is now known as oubiwann-away
vilajam: did you try to run the associated tests ?16:43
jamvila: test suite doesn't run either, for other reasons16:43
jamunittest._WritelnDecorator no longer exists16:44
jambarry is working on that one16:44
vilaumpf16:44
* vila sings ha ha ha ha, shaving the yack, shaving the yak (on the Saturday's Night Fever music)16:45
jamlooks like the class just moved somewhere, we can grab it from there16:45
jamshaving the yaaaaaa-aaaaaaa-aaaaaaaa-aaaaaaak16:45
=== Ursinha is now known as Ursinha-nom
lifelesslets just drop the WritelnDecorator use :)16:47
jamlifeless: unittest.runner printErrors calls self.stream.writeln()16:49
jamlifeless: so it isn't in our code, unless we can override such things in our runners, etc16:49
lifelesswe could stop calling that :)16:49
jamvila: basically, XMLRPCTransport is no longer compatible with xmlrpclib.Transport16:50
jamwe found a test suite failure16:50
jamfrom xmlrpclib....close16:51
jamit wants a '._connection' attribute (presumably to close it)16:51
mgzah, the 2.7 bugs16:52
jammgz: yeah16:53
jamwhich is also good for Barry to know about, because it directly impacts the chance that 2.7 can be put into the next Ubuntu release16:53
mgzI'll do the testing one if depending on a newer version of testtools is an acceptable solution16:53
jamlifeless: the test suite is also failing if lazr.? is not installed16:53
jam*sigh*16:53
jamit looks like barry has launchpadlib, but not necessarily the full dependency stack on his 2.7 vm16:54
mgzwhat's the rules on where to fix things currently? should I be branching 2.2 or just staying with dev or what?16:55
jammgz: branch the thing where you want it to land :)16:55
mgzdoes 2.2 want to work with 2.7?16:56
jam2.2 is feature/api-frozen16:56
jam2.2 is targeted for Maverick, and we'd like to have 2.7 in Maverick16:56
jamat this point we would *like* it16:56
jamSubject to the tastefulness of changes to get it16:56
jampoolie has the final say IMO16:56
vilawow, installing maverick from the daily build is a breathe, I'm impressed (*again*)16:59
vilahmpf, boot seems to be even faster than lucid17:01
=== mandel_ is now known as mandel_afk
vilajam: XMLRPCTransport was meant to be a minimal replacement, it's not surprising it's not compatible anymore17:11
vilajam: 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 though17:12
jamvila: it is on windows17:17
jamthe main problem is that it is *dog slow*17:17
pooliehi jam, where did you get off to?17:17
jamas it does stuff like downloading the WADL definition, extra round trips, etc17:17
vilajam: good, the hardest part is done then :)17:17
jampoolie: currently in Mozart 217:17
jamw/ barry17:17
pooliejam/mgz: my main thing for 2.2 is that we should not break plugins that are updated to work with 2.2b4,17:18
poolieand that we should not break ourselves :)17:18
MethsIs 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?17:20
=== 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
mgzokay, one issue down, two more exposed18:28
mgzha, second one is less horrible than I thought, but.... man lifeless is going to hate this18:29
maxbMeths: Yes, but there's no way to get rid of that, currently.18:37
maxbSo just rm the dir18:38
=== mtaylor is now known as mtaylor|lunch
mgzokay, this is problematic19:08
mgzbzrlib and the new unittest in 2.7 seem to have different ideas about the arguements to load_tests functions19:09
Methsmaxb: Okay, thanks.19:10
mgzdown to two failures on bt.test_selftest and a bunch of extra spew at the end19:16
vilamgz: load_tests is specific to bzrlib so we can change it if needed19:47
mgzwell, the problem is it's not any more, likewise other unittest extensions19:47
mgzthere are similar but incompatible implementations of various bits in 2.719:47
mgztrying to file bugs for a few bits that can be handled later, but launchpad isn't playing along.19:48
vilatesttools should be fixed then, not bzrlib :->19:48
mgzwell, bzrlib.selftest and bzrlib.TestUtils implements a lot of stuff testtools doesn't19:48
vilahmm19:49
mgzis there a way past the +filebug search through all existing bugs?19:49
mgzbecause having that timeout on me is just annoying19:49
vilamgz: on .edge ?19:50
mgzall I want to do is fill in a few text fields and it doesn't wanna let me19:50
vilamgz: try disabling the redirection19:50
vilamgz: prepare everything in your editor and *then* copy/paste :)19:50
mgzthat had a thingy saying it should only be used by "the Launchpad Beta Testers team"19:51
mgzwhich I'm pretty sure I'm not in19:51
maxbthere's a sort of cheeky workaround. Keep the summary box blank, click Next, and *then* fill it in19:51
mgzah, I'll try that, thanks.19:52
mgz"There is 1 error." "A summary is required."19:52
vilamgz: does the host says 'edge' anywhere ? If yes, then you are part of the beta testers team ;)19:52
vilamgz: go the lp home page and you should be able to disable the redirection for 2 hours19:53
mgzah, just a space then will do.19:53
mgzokay vila, as long as you promise no one will yell at me :)19:53
vilahehe, I can yell now so you can continue with that done if you want :)19:54
lifelessmgz: *sigh* testtools19:54
lifelessmgz: the thing will timeout because fti is doing terrible queries19:55
lifelessmgz: on edge it will take 14 seconds to timeout, which is better than prod19:55
mgzdoes your job change mean I can now direct my launchpad whines at you personally? ;)19:55
lifelessyes19:56
lifelessit also means I get to wave my hands and say 'thats not architectural nyah nyah nyah'19:56
mgzehehhee19:56
vilalol19:56
lifelessmgz: I am interested in whinges and praise.19:58
lifelessthey inform me about the things we need to make easier to fix, and the things we're successful at.19:58
mgzoh, reminds me - the bug I wanted you to point the launchpad notifications guy at, he might have got the wrong one20:02
mgzhe triaged a minor unrelated one I filed, but I found an existing bug for the email notifications that I commented on20:03
mgz...well, it's also minor to be fair, just annoying for inbox management20:04
vilamgz: like using "My Name <bug#@lp.net>" instead of "My Name <myemail>" when sending a mail to *me* ?20:08
mgzlike that, though that particular doesn't wind me up too much20:09
=== mtaylor|lunch is now known as mtaylor
mgzwhat tag should I use for Python 2.7 related issues?20:17
lifelesspython2.7?20:20
mgzdots are okay?20:20
lifelessI think so20:20
mgzI will try.20:20
mgzseems so.20:21
lifelessjml: I just found out fuzzyman mangled the load_tests protocol20:54
lifelessjml: I am feeling infuriated20:54
mgzsuch things are only ever discovered after the final release :)20:55
pooliehi there mgz21:13
mgzhey poolie.21:13
mgzpoolie: 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:16
pooliemgz i know what you mean but i think you'll be right often enough that it's worthwhile over all21:27
poolieit's just as easy for us to change a bug from confirmed->incomplete or low-> high or high->low as it is from new->something21:27
poolieanyhow, bed time here21:27
pooliegood nih21:27
poolienight*21:27
mgznight!21:28
doughttp://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
dougwhat commands are those?23:16
dougwhat i want to do is totally a git staple: branch+switch to a throwaway branch to attempt some experimental refactoring23:17
beunothat would be "bzr switch", although I haven't used it enough to walk you through it23:18
dougdunno, that doesn't seem to be in wide use or implemented quite like i'd expect23:35
mkanatdoug: Yeah, switch.23:37
mkanatdoug: I use it all the time.23:38
mkanatdoug: I think you might also be thinking of the word "branch" in git terms that don't make sense in bzr.23:38
mkanatdoug: You might want "shelve" instead.23:38
dougyeah, that might do it.23:39
maxbdoug: 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 directory23:58
maxba couple of sentences before the one you quoted, in fact :-)23:59

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