SamB_irssi | jelmer: oh ... that doesn't seem to have helped. even with sbronson@ in the https:// url, it still finds "sbronson" as the user to authenticate as ... | 00:17 |
---|---|---|
SamB_irssi | jelmer: also, apparantly subversion always defaults username to the user's account name? | 00:23 |
SamB_irssi | maybe you should allow multiple authentication attempts ... | 00:23 |
thunderbolt | I'm having a bit of difficulty doing a bzr get through sftp. I have a repository at example at come and use this command: bzr get sftp://user@example.com/path/to/repo. But I'm getting a EOF during negotiation error. | 00:48 |
thunderbolt | I'm on windows and have installed paramiko and pycrypto. | 00:48 |
thunderbolt | Would it be a bad idea just to download the repo from example.com using sftp? Could I still merge between them in that case? | 00:50 |
mwhudson | hmm | 00:57 |
thunderbolt | Hmm? | 00:58 |
kingos | lifeless: you there? | 01:01 |
* lifeless checks | 01:02 | |
lifeless | yup, I seem to be | 01:02 |
kingos | lifeless: hi. Anything else you wanted me to do about that bzr check failing stuff? | 01:04 |
lifeless | oh uhm, what bug number was it | 01:04 |
kingos | 356028 | 01:05 |
lifeless | bug 356028 | 01:05 |
ubottu | Launchpad bug 356028 in bzr "bzr check fails with KeyError" [Undecided,New] https://launchpad.net/bugs/356028 | 01:05 |
lifeless | kingos: no, sorry I had lost it from my queue; I've assigned it to me | 01:07 |
kingos | lifeless: thanks. | 01:12 |
mlh_ | thunderbolt: example.com - really? | 03:37 |
thunderbolt | Yes. ;-) | 03:37 |
mlh_ | test taht you can just do plain sftp | 03:37 |
mlh_ | your own private example.com? | 03:37 |
thunderbolt | Thanks mlh_, I can plain sftp to it. | 03:38 |
thunderbolt | Yeah, it's actually a domain for my work, it's been changed to example.com to protect the guilty :) | 03:38 |
mlh_ | me <-- not bzr expert but | 03:39 |
mlh_ | you can rsync I believe or scp -pr it all and have it work | 03:39 |
thunderbolt | Cool! | 03:39 |
thunderbolt | Thanks mlh_. | 03:39 |
thunderbolt | Now the only problem is pushing it back, I guess I could make a patch/bundle. | 03:40 |
* thunderbolt was using bzr for deployment of some django onto a website. | 03:40 | |
mlh_ | perhaps try bzr+svn scheme instead of sftp | 03:40 |
mlh_ | bzr+svn ?!?!? | 03:41 |
thunderbolt | bzr+svn? Do you mean bzr+sftp? I tried that with similar results :( | 03:41 |
mlh_ | I mean bzr+ssh | 03:41 |
thunderbolt | Ah. | 03:41 |
thunderbolt | right. | 03:41 |
* thunderbolt had no luck with that, either :( | 03:42 | |
jfroy | jelmer: I just got the weirdest error. I tried to branch a foreign Subversion branch on machine A (which doesn't have the branch). bzr errored out telling me the branch had no revision. Yet I pushed to that branch on machine B not one minute ago >.> | 03:42 |
mlh_ | Oh dear. I'll have to pass to 2nd level support then :-) | 03:42 |
* thunderbolt chuckles | 03:43 | |
mlh_ | using <your VCS here> for deployment is widely frowned upon | 03:43 |
mlh_ | but everybody (including me) still does it | 03:43 |
thunderbolt | It is? | 03:44 |
thunderbolt | Why is it frowned upon? | 03:44 |
mlh_ | I think you should have a make/scons/maven/... target dir then rsync that target dir to the deployed area | 03:44 |
mlh_ | because things like .bzr don't belong on a website | 03:44 |
mlh_ | there's a chance of inadvertantly exposing too much info | 03:45 |
thunderbolt | mlh_: Ah, in my setup .bzr lives in a directory that isn't web accessable. | 03:45 |
mlh_ | so you think :-) | 03:46 |
thunderbolt | It's along with all my Django config stuff (including database passwords) | 03:46 |
thunderbolt | So if .bzr is accessable, so is my database, so I'm screwed. | 03:46 |
lifeless | there is also a 'bzr upload' plugin | 04:13 |
lifeless | mlh_: ^ thunderbolt ^ | 04:13 |
lifeless | which is expressly for web deployment | 04:14 |
thunderbolt | lifeless: Ah, cool! | 04:14 |
thunderbolt | Neat, kinda like rsync. | 04:14 |
sidnei | seems like my checkout got stuck :( | 04:23 |
* sidnei tries once more | 04:24 | |
=== ja1 is now known as jam | ||
lifeless | jam: hi | 04:25 |
jam | hi lifeless | 04:25 |
jam | just made it into San Jose | 04:25 |
jam | I figured I might try to ping rockstar | 04:25 |
rockstar | jam, hi. | 04:28 |
rockstar | jam, are you in the hotel? | 04:28 |
jam | hey rockstar, how and where did you want to meet up tomorrow? | 04:28 |
jam | rockstar: yeah | 04:28 |
rockstar | jam, um, shall we meet down in the breakfast area for breakfast tomorrow, say, 9ish? | 04:29 |
jam | sounds good | 04:29 |
rockstar | jam, I'll probably want you to review my notes for the BoF tomorrow night. | 04:29 |
jam | certainly | 04:30 |
lifeless | jam: I'm analysing the index insertion issue | 04:32 |
jam | lifeless: you may want to check out lp:~jameinel/bzr/btree_with_bloom | 04:32 |
jam | (just pushed up after I got off the plane) | 04:32 |
jam | I haven't done any benchmarking, etc. | 04:32 |
lifeless | jam: thanks; I have one here :) | 04:32 |
lifeless | jam: I'll be letting you do the tuning I suspect. I just wanted to put some math around it. | 04:33 |
jam | lifeless: so I think branching *from* a repo with 500k nodes isn't terrible, because we make large requests (50k roots, 200k internal, 200k leaf) | 04:36 |
jam | and that code sorts the request, etc | 04:36 |
jam | the issue I was seeing was that *insert* was doing it one at a time | 04:37 |
lifeless | yes | 04:39 |
lifeless | its NlogN disk reads | 04:39 |
lifeless | which is better than N^2 but not that much | 04:40 |
lifeless | its superlinear and as its read-and-parse operations per key, it sucks | 04:40 |
lifeless | e.g. | 04:42 |
lifeless | 95% of time is 1.54M queries (this test data has some duplicates) | 04:43 |
lifeless | 3% of time is 1.49M insertions | 04:43 |
lifeless | 1.38% is the final read-and-serialise to the finished index. | 04:43 |
lifeless | jam: one thing I observed was that bloom probing rehashed | 04:51 |
lifeless | jam: we need to have a __contains__ that allows passing in the md5 | 04:51 |
jam | lifeless: we *can*, but I might point you to BloomMurmur | 04:51 |
jam | which is about 5-10x faster | 04:51 |
lifeless | I'll leave that in your hands | 04:52 |
lifeless | my mail will be finished in < 10 minutes I think | 04:52 |
jam | so in my testing | 04:52 |
jam | ''.join() was 160ms | 04:53 |
jam | str in BloomMurmur | 04:53 |
jam | was 500ms | 04:53 |
jam | for ~ 100k keys | 04:53 |
jam | sorry 24k*20 = 500k keys | 04:53 |
jam | I was going to look at allowing tuples, so we don't have to do a string join | 04:54 |
jam | anyway, at that point, I wasn't sure if it was specifically worthwhile to cache | 04:54 |
jam | versus the complexity | 04:54 |
SamB_irssi | jam: but you could just put them in a dict! | 04:55 |
* SamB_irssi teases | 04:55 | |
jam | SamB_irssi: :) | 04:55 |
lifeless | SamB_irssi: we're talking about the implementation of a dict on disk :) | 04:55 |
jam | right, the whole point here is to use a lightweight memory object that lets us drop the actual keys, etc to disk | 04:55 |
SamB_irssi | (yeah, my "suggestion" *was* intended as utter point-defeating nonsense ;-) | 04:56 |
jam | rockstar: I was looking over the schedule, and it seems the first sessions start at 8:30, do you want to meet up a bit earlier? | 04:58 |
* rockstar looks at the schedule again. | 04:59 | |
rockstar | jam, oh dear. Yea, how 'bout 730 or so? | 04:59 |
jam | rockstar: sure | 04:59 |
jam | http://www.mysqlconf.com/mysql2009/public/schedule/grid | 04:59 |
jam | btw | 04:59 |
jam | ah, I was reading Monday it looks like 8:30 is keynotes | 05:00 |
jam | but still good to go to | 05:00 |
rockstar | jam, yea, I have that bookmarked. For some reason, my brain skipped the keynotes. | 05:00 |
rockstar | jam, maybe we ought to skip out on some talks and go visit this: http://www.mysqlconf.com/mysql2009/public/schedule/detail/7791 | 05:02 |
jam | rockstar: yeah, I think we will | 05:03 |
rockstar | jam, it seems to kinda go all day long. | 05:03 |
jam | yep | 05:03 |
rockstar | "a community organized event designed to share and improve the essential skills required to participate in collaborative, free and open online projects" | 05:03 |
SamB_irssi | "bug reporting", "grepping", and "patching"? | 05:06 |
lifeless | jam: mail sent | 05:06 |
mwhudson | Peng_: fwiw, i like the idea of a single LoggerheadConfig object being created in serve-branches and being passed around the various wsgi app instances | 05:15 |
mwhudson | (and i still haven't reviewed your branches properly) | 05:16 |
Peng_ | mwhudson: Okay, cool. :) | 05:16 |
lifeless | mwhudson: is my search fix landed? | 05:16 |
mwhudson | lifeless: yes, i think so | 05:16 |
lifeless | good | 05:16 |
lifeless | now, to get it working on bzr-playground.gnome.org | 05:16 |
lifeless | also, that needs to start pulling git :( | 05:16 |
BasicOSX | What options do I need to pass to bzr init to test the latest branch format? And will LP support it? | 05:24 |
lifeless | BasicOSX: do you mean the development6-rich-root format? | 05:24 |
BasicOSX | lifeless: yes | 05:24 |
BasicOSX | --development6-rich-root | 05:24 |
BasicOSX | is what I thought | 05:24 |
lifeless | -format=development6-rich-root | 05:24 |
lifeless | lp won't support it | 05:24 |
lifeless | and its a one-way migration, stuff you commit in there can't be moved to regular formats | 05:25 |
Peng_ | LP won't support it? Why not? | 05:25 |
lifeless | Peng_: lp is running 1.13 | 05:25 |
BasicOSX | won't support it "now" is probably what he means :-) | 05:25 |
lifeless | right | 05:25 |
Peng_ | Oh. I misunderstood. | 05:25 |
lifeless | :) | 05:27 |
BasicOSX | Peng: it's ok, I spent the whole day being misunderstood. Endless debate over Free (speech) and free (beer) and the GPLv1, GPLv2, and GPLV3 | 05:27 |
lifeless | BasicOSX: at a conference? | 05:27 |
lifeless | and zomg gpl1?!?!?! | 05:27 |
BasicOSX | lifeless: /blush in my WoW guild :-P related to Curse/WoWI blocking WoWMatrix from downloading Addon source code | 05:28 |
lifeless | heh | 05:28 |
lifeless | curse are very odd | 05:28 |
BasicOSX | waaay of topic here, but 3 of the addons I use are GPL and I stated that the GPL requires, if request, access to the source code | 05:29 |
lifeless | BasicOSX: #ubuntu-wow :P | 05:29 |
BasicOSX | to anyone, and those addons are only on curse, so in effect they are not compliant with with the GPL then religion kicked in and everything go ugly :-) | 05:30 |
lifeless | heh | 05:30 |
BasicOSX | endless rounds of emacs vs vi | 05:30 |
BasicOSX | windows vs linux | 05:30 |
BasicOSX | GPL vs BSD | 05:31 |
lifeless | so they don't have to allow anyone without the binary access, but blocking by client is arguably a violation yes | 05:31 |
BasicOSX | open source vs Free software vs commercial software | 05:31 |
Kamping_Kaiser | s/commercial/proprietary | 06:19 |
Peng_ | Cue endless debate over *that*. :D | 06:23 |
Kamping_Kaiser | not really, commercial just means 'for money' :) | 06:54 |
jamesh | lifeless: if they distribute binaries without source, they need to provide source access to anyone on request. | 07:01 |
jamesh | if everyone who had access to the binaries also had access to the source at the same time, then they could deny requests from third parties | 07:01 |
jamesh | they wouldn't be required to support any particular method of source distribution, as long as they use "a medium customarily used for software interchange" | 07:04 |
lifeless | jamesh: its more subtle than that | 07:39 |
lifeless | jamesh: and not very interesting | 07:40 |
robin_dewd | I don't know when it started, but I have some branches that when I commit changes to them locally, they automatically want to commit to the remote (bzr+ssh) repository and this causes some delay for me when committing that I would rather not at times | 08:10 |
robin_dewd | how do I turn that off? ;-) | 08:10 |
bob2 | bzr unbind | 08:10 |
robin_dewd | thanks | 08:11 |
=== quicksil1er is now known as quicksilver | ||
jelmer | jfroy: hi | 08:22 |
jelmer | jfroy: this seems similar to the problem you were reporting earlier | 08:22 |
jfroy | jelmer: hey | 08:40 |
jfroy | I filed a bug to report it | 08:41 |
=== davidstrauss_ is now known as davidstrauss | ||
jfroy | jelmer: Ah I see, yes the 2 bugs may be duplicates. | 09:16 |
jfroy | Didn't catch my eye at fist because the exception and error message are different. | 09:16 |
Lambo_ | hi folks | 09:46 |
Lambo_ | is it possible to create a PHP comment block on top of a PHP file via Bazaar, with the whoami name + last commit? | 09:48 |
Mez | we seem to be having regular issues where we get "too many concurrent connections" - it's gotten to a point where one branch is unusable. | 09:49 |
Mez | is there any reason that this could happen on a regular basis | 09:50 |
bob2 | Lambo_: bzr has nothing like cvs's $Id$, if that's what you're talking about | 09:50 |
Lambo_ | bob2, i just want bzr to insert the last commit in each file | 09:51 |
bob2 | Lambo_: nope | 09:51 |
Mez | this just doesnt seem to work. and it's getting extremely frustrating | 09:59 |
bob2 | to lp? | 10:04 |
lifeless | Mez: didn't we debug this last week? | 10:04 |
lifeless | bob2: we have filters now that can do $id$ if people want | 10:04 |
Mez | lifeless: yes, we were, and we've just worked out the issue. | 10:06 |
Mez | Zen's "magic filtering" | 10:06 |
teknico | hi guys, stumbled into #354036 again | 10:06 |
teknico | I added the traceback to the ticket | 10:07 |
Mez | which doesn't like us using SSH, and kills the connection if we send across a certain control char | 10:07 |
lifeless | Mez: !!! | 10:07 |
Mez | lifeless: after changing the route on the box, it worked straight away | 10:07 |
Mez | lifeless: such a horrid issue :( | 10:10 |
lifeless | Mez: might be worth a faq entry on answers.launchpad.net/bzr for this | 10:10 |
Mez | lifeless: really? I think it's just our setup to be honest | 10:11 |
lifeless | Mez: well, up to you. Be nice if someone else runs into it to have an easy answer ;) | 10:11 |
lifeless | anyhow, ciao, /wave everyone | 10:11 |
Mez | "change ISP" isn't a valid answer | 10:12 |
asabil | hi all | 11:01 |
asabil | is it normal that bzr locks when using bzr send with gmail ? | 11:01 |
poolie | asabil: did someone answer? | 11:30 |
Peng_ | poolie: Nope. | 11:32 |
Peng_ | You didn't miss anything. | 11:32 |
poolie | asabil: no, it's not normal | 11:44 |
poolie | what happens if you hit Ctrl-C? | 11:44 |
asabil | poolie: nothing happens when I hit ctrl-C | 11:52 |
poolie | it's still hung? | 11:52 |
asabil | but later I get a error: (110, 'Connection timed out') | 11:53 |
poolie | like this? https://bugs.launchpad.net/bugs/364462 | 11:53 |
ubottu | Ubuntu bug 364462 in bzr-email ""connection timed out" causes full stack trace to be dumped" [Undecided,New] | 11:53 |
asabil | the smtp server address seems correct to me: smtp.gmail.com | 11:53 |
asabil | poolie: well it is the same issue, but unrelated to the bzr-email plugin | 11:55 |
asabil | which I don't have installed | 11:55 |
poolie | right | 11:55 |
poolie | i've just commented that i think it's actually a core issue | 11:55 |
asabil | thanks | 11:58 |
poolie | asabil, i'd guess there was just some transient outage on your network causing it to be unreachable | 12:21 |
poolie | or indeed it's not impossible there was a glitch at google | 12:21 |
poolie | unless it's reproducible | 12:21 |
asabil | poolie: to me it seems like gmail only accepts smtp over ssl | 12:22 |
VSpike | Am I completely misunderstanding what bzr missing does? I run it between two branches where one is massively ahead of another, and it says "Branches are up to date." | 13:30 |
awilkins | Anyone going to the Jaunty release party in London? | 13:30 |
VSpike | I'd expect it to show me committed revisions that are present in one branch but not the other | 13:31 |
awilkins | Arse, that's Thursday | 13:32 |
lifeless | VSpike: it should list both sides; are you running bzr mising other-url? | 13:39 |
poolie | VSpike: that is what it's supposed to do | 13:39 |
lifeless | hi poolie | 13:40 |
lifeless | gnight all | 13:40 |
poolie | hi lifeless | 13:40 |
VSpike | Ah. Perhaps I see the problem. Both branches were bound to the same parent, but one had not had bzr update run | 13:40 |
VSpike | So bzr st showed a very old revisions | 13:40 |
VSpike | but doing the bzr missing seemed to do a bzr update at the same time, which sort of makes sense. | 13:41 |
=== kkubasik_ is now known as kkubasik | ||
SamB | VSpike: I don't see how that makes sense | 13:51 |
SamB | are you trying to call bzr missing with two arguments? | 13:51 |
* SamB doesn't have any idea what that would do | 13:51 | |
VSpike | Nope.. I mean I was trying to compare two branches, so I cd'd into one and did "bzr st", then "bzr missing <Other>". It said they were up to dat.e | 13:52 |
VSpike | So I cd'd into other and did "bzr log | head" and "bzr missing <First>" and it said up to date - yet the head revisions were totally different | 13:53 |
VSpike | sorry, in the above replace "bzr st" with "bzr log | head" | 13:53 |
VSpike | But when I cd'd back into <First>, and did "bzr log | head" again, it showed the same head. And bzr info revealed they were both checkouts of the same branch, a third one. | 13:54 |
bialix | jelmer: ping | 13:55 |
SamB | VSpike: ah. checkouts! right. | 13:57 |
SamB | I forgot about heavyweight checkouts. I ran into some strange mergy issues with them ... | 13:57 |
SamB | ... and haven't used 'em since | 13:57 |
VSpike | I started using them because I'm terrible at remembering to commit, let alone push :) | 14:00 |
SamB | ah | 14:00 |
SamB | well, I'm more interested in not losing changes to unintended "merge"s | 14:01 |
SamB | maybe I should instead figure out how to reproduce the issue and report it ... | 14:01 |
SamB | jelmer: shouldn't the subvertpy docs be online ? | 14:18 |
SamB | jelmer: also, the "epydoc" target doesn't seem to work right in an unbuilt subvertpy source tree | 14:20 |
huf | hi. how do i set the parent branch? | 14:20 |
SamB | you can use pull --remember | 14:21 |
SamB | or you could edit the .bzr/branch/branch.conf file | 14:21 |
huf | can i use some short-names for other remote branches? | 14:22 |
LarstiQ | huf: with the bookmark plugin, bm:<name> | 14:22 |
LarstiQ | huf: next to the builtin :parent, :public, :submit etc | 14:22 |
SamB | LarstiQ: and where do you get it ? | 14:22 |
huf | where can i find docs on those builtins? | 14:23 |
huf | and what each is for, and when each is chosen as a default | 14:23 |
LarstiQ | SamB: without look at http://bazaar-vcs.org/BzrPlugins I'd guess lp:bzr-bookmark | 14:23 |
poolie | jam, hi? | 14:23 |
huf | cool, i think i got it | 14:27 |
huf | thanks | 14:27 |
SamB | LarstiQ: I don't suppose you can bookmark just a URL prefix? | 14:29 |
luks | you can | 14:29 |
luks | then you can use bm:foo/path/to/branch | 14:29 |
SamB | neato | 14:29 |
luks | where foo is e.g bzr+ssh://example.com/path/to/repo | 14:29 |
SamB | or it could be svn+https://dosemu.svn.sourceforge.net/svnroot/dosemu, no? | 14:30 |
luks | yes | 14:30 |
SamB | of course, I still haven't gotten authentication to work for me ... | 14:31 |
huf | what happened to the bzr versions? what came after 1.5? | 14:31 |
SamB | presumably 1.6? | 14:31 |
huf | oh, 14... i cant read. | 14:32 |
SamB | then .7, .8, .9, .10 ... | 14:32 |
huf | yes yes, i see now | 14:32 |
* SamB wishes the NFS at his school's cs department was faster ... | 14:33 | |
* SamB wonders why SVN doesn't check out files in alphabetical order | 14:35 | |
awilkins | SamB: It does it in inode order | 14:38 |
awilkins | (SVN FS inode, not normal-world fs inode) | 14:38 |
SamB | awilkins: but the inodes don't exist yet | 14:38 |
SamB | oh | 14:38 |
SamB | some kind of progress indicator would be nice ... | 14:38 |
jelmer | SamB: yeah, the docs could be online, it's just too much effort to keep them up to date | 15:00 |
SamB | jelmer: buildbot? cron job? | 15:03 |
jelmer | SamB: No python on the machine that my homepage is on | 15:09 |
jelmer | SamB: It also seems like it's not too much effort for whoever is going to use subvertpy to build it | 15:10 |
Peng_ | I dunno. I find building docs to be easy, but copying and pasting the URL into Firefox a pain. :D | 15:13 |
LarstiQ | SamB: I relatively frequently do things like `bzr missing :parent/../foo` | 15:46 |
Peng_ | Hey, that works? | 15:47 |
Peng_ | I totally didn't know that. | 15:47 |
=== sabdfl2 is now known as sabdfl | ||
SamB_irssi | jelmer: well, maybe you should at least debianize the docs ? | 17:16 |
SamB_irssi | because I don't currently build subvertpy myself on my own machine, and the one at school lacks all the doc-building tools ... | 17:17 |
SamB_irssi | (I also don't think I have room for the build-deps on my personal machine) | 17:17 |
jelmer | SamB_irssi: any chance you can file a wishlist bug? | 17:17 |
SamB_irssi | ah, sure | 17:17 |
* SamB_irssi wonders if there is something wrong with Debian's subversion ... | 17:18 | |
jelmer | SamB_irssi: why is that? | 17:20 |
SamB_irssi | jelmer: is there an up-to-date ppa for subvertpy? | 17:20 |
jelmer | SamB_irssi: no | 17:20 |
SamB_irssi | jelmer: oh, well, it doesn't seem to cache my auth credentials for that repository I've been having so much trouble with ... | 17:21 |
jelmer | SamB_irssi: svn itself (not bzr involved) ? | 17:21 |
SamB_irssi | even with the options explicitly set | 17:21 |
SamB_irssi | yes, SVN | 17:21 |
SamB_irssi | though I admit I haven't actually done a commit | 17:21 |
SamB_irssi | just revision property manipulations | 17:21 |
jelmer | do you perhaps have subversion configured to not store password / | 17:22 |
jelmer | s? | 17:22 |
SamB_irssi | jelmer: not entirely, but I'm trying not to! | 17:23 |
SamB_irssi | and I can't see how to make subversion mumble aloud what it's doing ... | 17:23 |
LarstiQ | SamB: strace? ;) | 17:24 |
SamB_irssi | LarstiQ: strace doesn't tell me what configuration settings subversion has determined ... | 17:25 |
SamB_irssi | or what it's basing it's decisions on ... | 17:25 |
SamB_irssi | jelmer: oh, I guess you want me to file a debian bug huh ... | 17:26 |
jelmer | SamB_irssi: yeah | 17:27 |
SamB_irssi | almost filed it in launchpad ;-) | 17:27 |
SamB_irssi | jelmer: oh, did you catch that I still haven't managed to commit to sf.net via bzr-svn? | 18:06 |
* Kinnison yays as his answer to problem 67 on projecteuler.net is correct | 18:14 | |
jfroy | jelmer: any thoughts on the branch problem? It | 18:34 |
jfroy | *It's kind of a bummer not being able to get that branch out of svn, especially since it started as a bzr branch :p | 18:34 |
ricardokirkner | hi. I want to use bzr for our project, but due to internal policies, we have to keep all our code inside a svn repo. In order to cope with that, I thought of using a post-commit hook, that would just push the changes to the svn repo. In that way, every time someone commits to our bzr main branch, it gets pushed to the central svn repo | 18:53 |
ricardokirkner | how can I do this? (what is the best way to achieve this?) | 18:54 |
ricardokirkner | from my research I see I can write hooks for branches, but not for the whole repo... (i am using a shared repo) | 18:54 |
pygi | ricardokirkner, is it just you who wants to use bzr? | 18:54 |
ricardokirkner | do I have to write a hook for each branch in the repo, or is there a way to make this easier? | 18:54 |
ricardokirkner | pygi, no.. its a team of people | 18:55 |
ricardokirkner | otherwise I would just use bzr-svn | 18:55 |
ricardokirkner | I want to use bzr.. just push to svn as a side-effect | 18:55 |
pygi | hmmm | 18:56 |
SamB_irssi | jelmer: I've noticed a message about refusing a basic authentication challange now ... | 18:57 |
pygi | ricardokirkner, you can set global hook for a user | 18:58 |
pygi | would that work? | 18:58 |
ricardokirkner | mhhh | 19:00 |
fullermd | You could just use a bzr central branch, and cron pushing it to svn Every So Often(tm)... | 19:01 |
ricardokirkner | I dont think so, as that would require that every team member commits with the same user | 19:01 |
fullermd | If everybody's going to actually use bzr, that could work.... | 19:01 |
ricardokirkner | fullermd, that might work... | 19:01 |
ricardokirkner | it's not 'clean' ,. but it might work | 19:01 |
ricardokirkner | thx | 19:01 |
* fullermd specializes in 'not clean' 8-} | 19:02 | |
ricardokirkner | :-) | 19:02 |
phinze | how difficult would it be to implement a "poor man's PQM" with a pre-commit hook on a shared branch? | 19:10 |
rockstar | phinze, are you using Launchpad? | 19:11 |
phinze | no i'm in a dev group at a university | 19:12 |
phinze | trying to see if there's a way to get PQM-like functionality without significantly changing the workflow of the developers | 19:12 |
rockstar | phinze, well, I guess it wouldn't be too hard. Tarmac is more lightweight than PQM, but is (currently) specific to Launchpad. | 19:13 |
phinze | ahh that's why you ask | 19:13 |
rockstar | Tarmac doesn't use a hook though. | 19:13 |
LarstiQ | ricardokirkner: does the policy state how soon the code must be in the svn repo? | 19:13 |
phinze | rockstar: you think it would be better to look into modifying tarmac? | 19:13 |
* phinze knows nothing about tarmac | 19:13 | |
rockstar | phinze, bzr branch lp:tarmac | 19:13 |
rockstar | phinze, it's undergone some big changes since 0.1, but I don't see a direct way currently to have it be non-launchpad specific. If you do, I'd be glad to review and merge it. | 19:15 |
LarstiQ | phinze: james_w has recently worked on a poor man's PQM | 19:15 |
phinze | LarstiQ: thanks, james_w: ping? | 19:17 |
phinze | rockstar: cool, rooting around in it now... so it's based off the Launchpad concept of " Branch Merge Proposals"? | 19:19 |
rockstar | phinze, yes. | 19:19 |
rockstar | phinze, actually, the best way to do a poor man's PQM with Tarmac would probably be to create a new TarmacScript | 19:20 |
phinze | yeah that makes sense | 19:21 |
phinze | okay here's a dumber question about hooks | 19:22 |
phinze | given a pre-commit hook in a BzrBranch... is there a way of failing the commit? | 19:22 |
* LarstiQ would assume raising an exception | 19:24 | |
phinze | or is the hook only allowed to spin off side effects and not get in the way | 19:24 |
* LarstiQ looks at the docs | 19:25 | |
* phinze is looking as well, and not finding... | 19:25 | |
james_w | phinze: http://paste.ubuntu.com/155496/ | 19:25 |
phinze | james_w: you come in and answer all the questions! :) | 19:26 |
phinze | raise errors.TipChangeRejected("The testsuite failed") | 19:26 |
james_w | phinze: it can raise any exception | 19:27 |
LarstiQ | phinze: hmm, mention of this should be more clear in `bzr help hooks` | 19:27 |
james_w | that one says "I didn't go wrong, I want to cleanly stop the operation please", which means bzr formats it differently | 19:27 |
james_w | it's specific to the tip_change hooks though | 19:28 |
james_w | I don't think it works for pre_commit | 19:28 |
phinze | gotchya | 19:28 |
phinze | well tip_change is good enough in our case | 19:28 |
phinze | we're using append_revisions_only on the shared branches anyways | 19:28 |
LarstiQ | errors.HookFailed | 19:29 |
LarstiQ | might still not be entirely correct, given its docstring | 19:29 |
phinze | in fact, tip_change is probably more correct | 19:30 |
phinze | well this definitely gives me some stuff to play with... rockstar, LarstiQ, james_w: thanks | 19:32 |
james_w | phinze: if it suits you we could turn the above in a project and work to make it useful to more people | 19:32 |
james_w | it was a quick hack the other day after I get fed up of committing broken stuff myself :-) | 19:33 |
phinze | haha that's exactly what brings me here with the interest | 19:33 |
phinze | i would definitely be interested in that | 19:33 |
* phinze is still in the process of making the snippet work ATM | 19:33 | |
james_w | my snippet? | 19:33 |
phinze | yeah, just shuffling some branches around here | 19:34 |
james_w | install it as ~/.bazaar/plugins/testrunner.py | 19:34 |
james_w | then edit ~/.bazaar/locations.conf to ahve | 19:35 |
james_w | [/path/to/branch] | 19:35 |
phinze | ... hmm so it needs to be installed under the user's home dir who will be doing the tip change? | 19:35 |
james_w | pre_change_branch_tip_test_command = ./run-tests | 19:35 |
phinze | any way to install it system-wide...? | 19:35 |
LarstiQ | phinze: sure, bzrlib/plugins | 19:36 |
phinze | this will be going on a shared server to protect a branch shared by many users using bzr+ssh | 19:36 |
james_w | you can set it to a parent directory, and the same command will be run for all users under that directory | 19:36 |
phinze | cool | 19:36 |
james_w | phinze: "bzr version | grep bzrlib" | 19:36 |
james_w | and install it in the plugins/ directory there | 19:36 |
james_w | you will need to tweak it to use branch.conf as well in that case | 19:36 |
james_w | otherwise each user would have to edit their locations.cond | 19:36 |
phinze | gotchya | 19:36 |
phinze | command = config._get_best_value("pre_change_branch_tip_test_command") # ...ok? | 19:41 |
phinze | james_w: ^^ | 19:42 |
james_w | phinze: I think so | 19:44 |
=== ja1 is now known as jam | ||
james_w | phinze: how's it working for you? | 20:42 |
phinze | james_w: working great! | 20:43 |
james_w | cool | 20:43 |
phinze | hmm ok | 20:51 |
phinze | james_w: bzr: ERROR: Received bad protocol version marker: '(in /tmp/tmpzMKiVL/export)\n- | 20:51 |
phinze | i get that when running this over bzr+ssh | 20:51 |
james_w | urgh | 20:51 |
phinze | any idea what that means? | 20:51 |
james_w | it's presumably redirecing stdout or stderr back to the client | 20:51 |
kirkland | is there some configuration place that I can set my default signature to be appended on bzr commits? | 20:51 |
james_w | hey kirkland | 20:52 |
james_w | you mean line email signature> | 20:52 |
james_w | ? | 20:52 |
kirkland | eg, Signed-off-by: Dustin Kirkland <kirkland@example.com> | 20:52 |
james_w | not currently | 20:52 |
kirkland | james_w: yeah, perhaps | 20:52 |
james_w | oh | 20:52 |
james_w | no there is | 20:52 |
kirkland | james_w: sweet, pray tell | 20:52 |
james_w | you need to write a few lines of python though | 20:52 |
kirkland | james_w: i'm okay with that | 20:53 |
kirkland | james_w: though that would be a nice thing to set in .bazaar/bazaar.conf | 20:53 |
kirkland | james_w: commit_signoff = Foo | 20:54 |
james_w | from bzrlib import msgeditor | 20:54 |
james_w | def add_signoff(commit, start_message): | 20:54 |
james_w | branch = commit.branch | 20:55 |
james_w | config = branch.get_config() | 20:56 |
phinze | james_w: sounds like i just need to give subprocess.call the correct pipes for output | 20:56 |
phinze | i'm guessing bzrlib.trace might have them...? | 20:56 |
james_w | message = config._get_best_value("commit_signoff") | 20:57 |
james_w | if message is None: | 20:57 |
james_w | err, scratch that last line | 20:57 |
james_w | if message is None: | 20:57 |
phinze | james_w: actually it was command = config._get_user_option("pre_change_branch_tip_test_command") | 20:57 |
james_w | return start_message | 20:57 |
phinze | er whoops | 20:57 |
phinze | wrong case :(... | 20:57 |
* phinze steps back a minute | 20:57 | |
james_w | return start_message + "\n\n%s\n" % (str(message),) | 20:57 |
james_w | kirkland: if you can piece that together :-) | 20:57 |
james_w | I can stick it in a pastebin if you like | 20:58 |
james_w | save it as "~/.bazaar/plugins/commit_signoff.py" | 20:58 |
james_w | oh, you'll need a start_message is None check before appending to it as well | 20:58 |
james_w | phinze: what do you mean by "correct pipes"? | 20:59 |
kirkland | james_w: neat, thanks | 20:59 |
kirkland | james_w: pastebin would be cool | 21:00 |
phinze | idk wondering if subprocess.call by default is looking to the wrong place for stdout and stderr when it's being run over bzr+ssh | 21:00 |
james_w | kirkland: http://paste.ubuntu.com/155535/ | 21:03 |
james_w | kirkland: even with the call to actually register the hook :-) | 21:03 |
james_w | you should be able to set commit_signoff either globally, or per-location | 21:03 |
james_w | I don't think it does entirely what you want, but it | 21:04 |
james_w | 's the best you can do from a plugin right now I think | 21:04 |
james_w | phinze: I'm not sure there is a correct place for them | 21:04 |
phinze | james_w: lemme try None | 21:04 |
james_w | I don't know if it's possible, but you would really want to send this information back to the client somehow | 21:05 |
phinze | indeed | 21:05 |
james_w | fg | 21:05 |
phinze | hmm that didn't help | 21:07 |
phinze | received bad protocol version marker... | 21:07 |
james_w | None is the default | 21:07 |
james_w | you can use subprocess.PIPE to redirect | 21:08 |
phinze | perhaps need to prefix bzr+ssh:// to the tmp thing | 21:08 |
kirkland | james_w: cool, were does this plugin go? | 21:15 |
kirkland | james_w: .bazaar/plugins/* | 21:15 |
james_w | that'll work | 21:16 |
kirkland | james_w: does it need to be in a subdir of that? | 21:16 |
kirkland | james_w: named anything special? __init.py__ or some such? | 21:16 |
james_w | "~/.bazaar/plugins/commit_signoff.py" will be fine | 21:16 |
kirkland | james_w: The MessageEditorHooks hook 'commit_signoff' is unknown in this version of bzrlib. | 21:21 |
kirkland | Unable to load plugin 'commit_signoff' from '/home/kirkland/.bazaar/plugins' | 21:21 |
kirkland | james_w: do i need to register it? | 21:21 |
james_w | kirkland: sorry | 21:21 |
james_w | "commit_message_template" | 21:21 |
james_w | change the first arg to install_named_hook to that | 21:21 |
kirkland | k | 21:22 |
kirkland | aborting commit write group: AttributeError("'LocationConfig' object has no attribute 'commit_signoff'",) | 21:22 |
kirkland | bzr: ERROR: exceptions.AttributeError: 'LocationConfig' object has no attribute 'commit_signoff' | 21:22 |
kirkland | [DEFAULT] | 21:23 |
kirkland | email = Dustin Kirkland <kirkland@canonical.com> | 21:23 |
kirkland | launchpad_username = kirkland | 21:23 |
kirkland | commit_signoff = Signed-off-by: Dustin Kirkland <kirkland@canonical.com> | 21:23 |
kirkland | that's in my bazaar.conf | 21:23 |
james_w | phinze> command = config._get_best_value("pre_change_branch_tip_test_command") # ...ok? | 21:23 |
james_w | phinze: ^ was that correct? | 21:23 |
phinze | james_w: no --> command = config._get_user_option("pre_change_branch_tip_test_command") | 21:24 |
phinze | that did | 21:24 |
james_w | kirkland: try changing "_get_best_value" to "_get_user_option" | 21:24 |
james_w | thanks phinze | 21:25 |
kirkland | james_w: bingo | 21:25 |
kirkland | james_w: you da man | 21:25 |
* kirkland owes james_w a beer | 21:25 | |
* phinze does as well | 21:25 | |
james_w | kirkland: not that it won't work with "-m" | 21:25 |
james_w | ^note | 21:25 |
kirkland | james_w: tis okay | 21:25 |
kirkland | james_w: this get's me much closer | 21:26 |
james_w | it modifies what the editor shows to you, so if you never see the editor then it won't do anything | 21:26 |
kirkland | james_w: i was using vim bindings | 21:26 |
kirkland | james_w: but this is much nicer | 21:26 |
james_w | cool | 21:26 |
jelmer | SamB_irssi: how do you mean? | 21:26 |
SamB_irssi | jelmer: with svn from unstable, I get this error: | 21:54 |
SamB_irssi | naesten@hydrogen:~/hacking/dosemu% bzr push svn+https://dosemu.svn.sourceforge.net/svnroot/dosemu/branches/debugger/ | 21:54 |
SamB_irssi | bzr: ERROR: Permission denied: ".": MKACTIVITY of '/svnroot/dosemu/!svn/act/5d67fa37-fa8b-4227-a397-f31dd0b8dee7': authorization failed: Could not authenticate to server: rejected Basic challenge (https://dosemu.svn.sourceforge.net) | 21:54 |
jelmer | SamB_irssi: does it work with "plain" svn? | 21:54 |
SamB_irssi | is there some? | 21:55 |
jelmer | SamB_irssi: I mean, does it work without using bzr but only svn | 21:55 |
SamB_irssi | it let me edit revision properties | 21:55 |
SamB_irssi | without rejecting any basic authentication | 21:56 |
jelmer | does it let you do commits? | 21:56 |
SamB_irssi | hmm ... | 21:58 |
jelmer | SamB_irssi: ah, that's svn+https:// that's not prompting | 22:00 |
SamB_irssi | jelmer: hmm? | 22:01 |
SamB_irssi | and yes, I can commit | 22:01 |
jelmer | SamB_irssi: https:// works fine | 22:01 |
SamB_irssi | jelmer: wasn't the svn+ your idea? | 22:02 |
jelmer | SamB_irssi: well, it does work as a workaround to bzr triggering the smart server | 22:03 |
SamB_irssi | I mean ... didn't you suggest I use that for this ... ? | 22:03 |
SamB_irssi | oh well. | 22:04 |
SamB_irssi | now I'm getting something about a failing is_canonical assertion ... | 22:05 |
jelmer | SamB_irssi: one sec | 22:05 |
jelmer | SamB_irssi: I've pushed a fix for the svn+https:// auth issue | 22:06 |
jelmer | SamB_irssi: not sure about the is_canonical one issue, are you running the latest subvertpy? | 22:06 |
SamB_irssi | jelmer: where would I get the .deb for that? | 22:07 |
jelmer | SamB_irssi: In Debian (sid) | 22:08 |
SamB_irssi | jelmer: well, last I checked, it was the latest that I'd seen in apt ... | 22:11 |
jelmer | SamB_irssi: ah, sorry | 22:11 |
jelmer | SamB_irssi: in that case, please run inside of gdb and pastebin the backtrace | 22:12 |
jelmer | SamB_irssi: sorry this is a bit of a bumpy road.. | 22:12 |
* SamB_irssi hopes he won't need a -dbg package -- those things are getting kind of big lately | 22:13 | |
jelmer | SamB_irssi: You might need the libsvn-dbg one actually, for a sensible backtrace :-/ | 22:13 |
SamB_irssi | well, I'll try without first | 22:14 |
SamB_irssi | the svn+ fix does seem to help, though | 22:14 |
jelmer | cool | 22:15 |
SamB_irssi | jelmer: what did you want to see? | 22:15 |
jelmer | SamB_irssi: the output of the 'bt' command inside of gdb | 22:16 |
SamB_irssi | well, yeah, I was getting ahead of myself | 22:16 |
SamB_irssi | http://paste.ubuntu.com/155563/ is what I get so far | 22:17 |
SamB_irssi | which function would you like to know something about the arguments of? | 22:17 |
jelmer | basically which subvertpy function is triggering the crash | 22:20 |
SamB_irssi | oh | 22:21 |
* LarstiQ votes for ra.Auth()! | 22:21 | |
LarstiQ | jelmer: but I saw you fixed that, thanks :) | 22:21 |
* SamB_irssi mumbles something about there not being a libsvn-dbg package ? | 22:22 | |
jelmer | SamB_irssi: libsvn1-dbgsym | 22:23 |
jelmer | LarstiQ: np :-) I think that's not actually used by bzr-svn though | 22:23 |
LarstiQ | jelmer: it was step1 in trying to figure out why password_encoding=subversion didn't work | 22:24 |
jelmer | LarstiQ: oh, ok | 22:24 |
SamB_irssi | jelmer: well ... I don't see that either | 22:24 |
SamB_irssi | what repository are you getting it from ? | 22:25 |
jelmer | SamB_irssi: it's in the debug repository | 22:25 |
jelmer | deb http://debug.debian.net/debian unstable/debug main | 22:25 |
LarstiQ | jelmer: credentials would raise StopIteration and I had no clue why | 22:25 |
jelmer | LarstiQ: because it didn't have any credentials cached ? (-: | 22:25 |
LarstiQ | jelmer: bollocks! | 22:26 |
LarstiQ | jelmer: it does, and it works for svn | 22:26 |
LarstiQ | but I'll figure it out later | 22:26 |
LarstiQ | sleep now | 22:26 |
SamB_irssi | jelmer: unfortunately I don't seem to be able to get that version of libsvn1 | 22:28 |
jelmer | SamB_irssi: :-/ | 22:28 |
jelmer | SamB_irssi: another thing that may help is using a subvertpy built with debugging symbols | 22:29 |
jelmer | LarstiQ: this is with the latest bzr-svn? | 22:29 |
SamB_irssi | jelmer: if you were to upload such a python-subvertpy-dbg to experimental, I'd be happy to try it | 22:29 |
jelmer | SamB_irssi: I can't, subvertpy is in sid and adding a new binary package would mean another 3 or 4 weeks for it to go through NEW | 22:30 |
SamB_irssi | jelmer: oh :-( | 22:30 |
SamB_irssi | well, to anywhere, really | 22:30 |
jelmer | SamB_irssi: Is there any chance you can just try with a manually built subvertpy? | 22:31 |
SamB_irssi | (experimental messes up sid?) | 22:31 |
jelmer | SamB_irssi: all binary packages from one source package end up in the same distribution, not multiple | 22:31 |
jelmer | SamB_irssi: there shouldn't be a need to install subvertpy to try this | 22:31 |
jelmer | just set PYTHONPATH appropriately | 22:31 |
SamB_irssi | yes but I'd need the svn headers :-( | 22:32 |
jelmer | yeah | 22:32 |
SKArfaceGC | is there any documentation on cvsps-import other than the README file? | 22:33 |
SamB_irssi | which seems to need 35 megs ... in /usr ... | 22:33 |
SamB_irssi | I might have them ... | 22:33 |
jelmer | SamB_irssi: You should be able to remove it again once you've run this | 22:33 |
* SamB_irssi doesn't get why subversion's headers require the installation of so many others -- Suggests:, sure, but Requires: ? | 22:34 | |
jelmer | SamB_irssi: they include the others | 22:35 |
SamB_irssi | all of them? | 22:35 |
jelmer | samb_irssi: indirectly, but yes | 22:35 |
SamB_irssi | it still seems pretty sick ... | 22:35 |
jelmer | directly it only depends on libapr-dev and libapr-util-dev IIRC | 22:35 |
jelmer | apr depends on a lot I think | 22:36 |
SamB_irssi | I mean, seriously -- why are the headers for 3 different DBMS-type things needed? | 22:37 |
SamB_irssi | (BDB, mysql, and sqlite) | 22:37 |
SamB_irssi | jelmer: okay, how do I build subvertpy with debug flags ? I haven't done that sort of thing in a while ... | 22:38 |
jelmer | SamB_irssi: ./setup.py build_ext -i -g | 22:38 |
=== ja1 is now known as jam | ||
SamB_irssi | and how would you suggest I bzr-svn to use this one? | 22:40 |
SamB_irssi | +get | 22:40 |
jelmer | export PYTHONPATH=/path/to/subvertpy | 22:40 |
SamB_irssi | (there sure were a lot of deprecation warnings...) | 22:40 |
jelmer | yeah, that's correct, we'd like to stay compatible with old verisons | 22:42 |
SamB_irssi | it would be better if they cited a version since which they were deprecated ... | 22:43 |
jelmer | SamB_irssi: that's not possible in C afaik | 22:43 |
SamB_irssi | jelmer: ... since when are deprecation warnings even possible ? | 22:45 |
SamB_irssi | (in C) | 22:45 |
jelmer | SamB_irssi: gcc extensions | 22:45 |
SamB_irssi | oh | 22:45 |
* SamB_irssi gets it to actually load on his 3rd try ... | 22:50 | |
SamB_irssi | (1st time I added it to the end of PYTHONPATH, second try I used ~ in a place it wasn't expanded ...) | 22:51 |
* SamB_irssi is tired of waiting for "finding fileprop revids" or whatever ... | 22:52 | |
SamB_irssi | jelmer: great. now it has to go and work on me! | 22:53 |
jelmer | SamB_irssi: ok, so looks like it's probably a bug fixed in the current subvertpy | 22:53 |
SamB_irssi | jelmer: what do you mean about "experimental" uploads delaying movement from unstable to testing ? | 23:06 |
jelmer | SamB_irssi: ? That's not what I said | 23:07 |
SamB_irssi | oh. maybe you missed where I said "experimental" and not unstable? | 23:07 |
jelmer | SamB_irssi: no, I never said experimental uploads delay movements from unstable | 23:08 |
jelmer | SamB_irssi: it's just not possible to upload a source package from which the binary packages are in different distributions | 23:08 |
jelmer | the source package's distribution determines where the binary packages go | 23:08 |
SamB_irssi | well, I mean, you could upload the whole thing to experimental, couldn't you ? | 23:09 |
jelmer | so the source package subvertpy would have the binary packages python-subvertpy and python-subvertpy-dbg | 23:09 |
jelmer | SamB_irssi: yes, but why would I upload to experimental? subvertpy lives happily in sid | 23:09 |
SamB_irssi | hmm, well, I dunno ;-) | 23:10 |
SamB_irssi | I'm not a DD | 23:10 |
SamB_irssi | right now, I'm just thinking it would be nice to have a subvertpy which actually allows me to push the way I just did in some Debian repository would be nice | 23:11 |
jelmer | SamB_irssi: I don't see why that would have to be with a experimental rather than an unstable package though | 23:11 |
jelmer | SamB_irssi: The problem is I don't have time to upload either at the moment | 23:12 |
SamB_irssi | ah | 23:12 |
* SamB_irssi mumbles something like "why do they have to make these things take time?" | 23:12 | |
jelmer | I should have time for it in about a weeks time, when I get back home | 23:13 |
SamB_irssi | oh, that's a nice and short moment I guess ;-) | 23:14 |
SamB_irssi | oh, how would you merge a subversion branch back into the trunk with bzr-svn ? | 23:15 |
SamB_irssi | (supposing that there were no changes on trunk) | 23:15 |
jelmer | SamB_irssi: bzr pull | 23:16 |
jelmer | (as you would with a regular bzr branch) | 23:16 |
SamB_irssi | does that need to be in an actual checkout, or is it fine if it's just a branch with all the same commits ... ? | 23:17 |
jelmer | SamB_irssi: not sure if I follow.. | 23:18 |
SamB_irssi | it's okay if I pull into something that isn't actually a bzr checkout of the SVN trunk, yes? | 23:18 |
jelmer | yeah | 23:19 |
SamB_irssi | okay ... actually there were some changes on trunk(!) but it seems okay ... | 23:27 |
SamB_irssi | hmm. svn annotate still leaves something to be desired :-( | 23:30 |
SamB_irssi | (all the changes are attributed to the merge: see http://dosemu.svn.sourceforge.net/viewvc/dosemu/trunk/src/arch/linux/debugger/mhpdbgc.c?annotate=1888, notice that all my changes are marked 1888) | 23:31 |
phinze | dev-noob question: how to get bzr to print out full errors rather than just the "friendly" and terse bzr: ERROR: Received bad protocol version marker: '(in /tmp/tmppPHYeP/export)\n-' | 23:32 |
SamB_irssi | jelmer: but you can't do anything about that :-) | 23:32 |
phinze | i know python has a backtrace for me somewhere in there | 23:32 |
phinze | i could pdb i suppose | 23:32 |
SamB_irssi | BZR_PDB=on bzr foo ... | 23:34 |
phinze | aha | 23:34 |
SamB_irssi | (if you want to pdb, that is) | 23:34 |
phinze | SamB_irssi: perfect; thanks | 23:35 |
bob2 | phinze: full tracebacks are in ~/.bzr.log, too | 23:35 |
phinze | bob2: mmm also helpful | 23:37 |
* phinze is trying to debug a hook that runs tests and rejects commits... works locally but when run through bzr+ssh gets raise errors.UnexpectedProtocolVersionMarker(in_buf) | 23:38 | |
Peng_ | You can also see the full tracebacks with -Derror, right? | 23:38 |
lifeless | phinze: interesting | 23:44 |
lifeless | phinze: where is that raised from? | 23:45 |
phinze | lifeless: subprocess.call of an external command... looks like the output of that command is getting into in_buf... which expects something | 23:45 |
phinze | oop may have just fixed it | 23:45 |
lifeless | phinze: subprocess by default using stdin and stdout | 23:45 |
phinze | subprocess.call(command, cwd=export_dir, shell=True, **stdout=subprocess.PIPE**) | 23:46 |
lifeless | so you may have been sending your output back over the wire to the client | 23:46 |
lifeless | yup | 23:46 |
phinze | happy days are here again | 23:46 |
phinze | :) | 23:46 |
lifeless | phinze: you may want stderr=subprocess.STDOUT | 23:55 |
phinze | lifeless: yeah i'm poking around with that, but for some reason i get 0 output from the subprocess command on my terminal when i specify it | 23:55 |
lifeless | phinze: thats correct, your plugin will get it all | 23:56 |
lifeless | phinze: imagine that you are committing over bzr+http | 23:56 |
lifeless | in that situation stderr and stdout are effectively /dev/null *unless* you capture them via subprocess with stdout=PIPE and stderr *either* PIPE or STDOUT | 23:57 |
phinze | riight ok | 23:57 |
lifeless | now, we don't have a way at the moment for you to send an output stream during the commit process | 23:57 |
lifeless | because its a hook happening at the end of a push | 23:58 |
phinze | hmm okay so to a relative python dunce... is there a way for me to get that output displayed to the user? | 23:58 |
phinze | (which in this case is the output from a testsuite running..?) | 23:58 |
lifeless | phinze: not at the moment - think of it like a cronn job running on the server | 23:59 |
phinze | with just stdout=subprocess.PIPE i get about half the output on my terminal when running push | 23:59 |
lifeless | if it fails, you can raise an exception with any data you want | 23:59 |
lifeless | the exception is stringified and passed back over the wire | 23:59 |
lifeless | if it succeeds, no output is shown | 23:59 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!