/srv/irclogs.ubuntu.com/2009/04/21/#bzr.txt

SamB_irssijelmer: 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_irssijelmer: also, apparantly subversion always defaults username to the user's account name?00:23
SamB_irssimaybe you should allow multiple authentication attempts ...00:23
thunderboltI'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
thunderboltI'm on windows and have installed paramiko and pycrypto.00:48
thunderboltWould 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
mwhudsonhmm00:57
thunderboltHmm?00:58
kingoslifeless: you there?01:01
* lifeless checks01:02
lifelessyup, I seem to be01:02
kingoslifeless: hi. Anything else you wanted me to do about that bzr check failing stuff?01:04
lifelessoh uhm, what bug number was it01:04
kingos35602801:05
lifelessbug 35602801:05
ubottuLaunchpad bug 356028 in bzr "bzr check fails with KeyError" [Undecided,New] https://launchpad.net/bugs/35602801:05
lifelesskingos: no, sorry I had lost it from my queue; I've assigned it to me01:07
kingoslifeless: thanks.01:12
mlh_thunderbolt: example.com - really?03:37
thunderboltYes. ;-)03:37
mlh_test taht you can just do plain sftp03:37
mlh_your own private example.com?03:37
thunderboltThanks mlh_, I can plain sftp to it.03:38
thunderboltYeah, 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 but03:39
mlh_you can rsync I believe or scp -pr it all and have it work03:39
thunderboltCool!03:39
thunderboltThanks mlh_.03:39
thunderboltNow 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 sftp03:40
mlh_bzr+svn ?!?!?03:41
thunderboltbzr+svn? Do you mean bzr+sftp? I tried that with similar results :(03:41
mlh_I mean bzr+ssh03:41
thunderboltAh.03:41
thunderboltright.03:41
* thunderbolt had no luck with that, either :(03:42
jfroyjelmer: 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 chuckles03:43
mlh_using <your VCS here> for deployment is widely frowned upon03:43
mlh_but everybody (including me) still does it03:43
thunderboltIt is?03:44
thunderboltWhy 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 area03:44
mlh_because things like .bzr don't belong on  a website03:44
mlh_there's a chance of inadvertantly exposing too much info03:45
thunderboltmlh_: Ah, in my setup .bzr lives in a directory that isn't web accessable.03:45
mlh_so you think :-)03:46
thunderboltIt's along with all my Django config stuff (including database passwords)03:46
thunderboltSo if .bzr is accessable, so is my database, so I'm screwed.03:46
lifelessthere is also a 'bzr upload' plugin04:13
lifelessmlh_: ^ thunderbolt ^04:13
lifelesswhich is expressly for web deployment04:14
thunderboltlifeless: Ah, cool!04:14
thunderboltNeat, kinda like rsync.04:14
sidneiseems like my checkout got stuck :(04:23
* sidnei tries once more04:24
=== ja1 is now known as jam
lifelessjam: hi04:25
jamhi lifeless04:25
jamjust made it into San Jose04:25
jamI figured I might try to ping rockstar04:25
rockstarjam, hi.04:28
rockstarjam, are you in the hotel?04:28
jamhey rockstar, how and where did you want to meet up tomorrow?04:28
jamrockstar: yeah04:28
rockstarjam, um, shall we meet down in the breakfast area for breakfast tomorrow, say, 9ish?04:29
jamsounds good04:29
rockstarjam, I'll probably want you to review my notes for the BoF tomorrow night.04:29
jamcertainly04:30
lifelessjam: I'm analysing the index insertion issue04:32
jamlifeless: you may want to check out lp:~jameinel/bzr/btree_with_bloom04:32
jam(just pushed up after I got off the plane)04:32
jamI haven't done any benchmarking, etc.04:32
lifelessjam: thanks; I have one here :)04:32
lifelessjam: I'll be letting you do the tuning I suspect. I just wanted to put some math around it.04:33
jamlifeless: 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
jamand that code sorts the request, etc04:36
jamthe issue I was seeing was that *insert* was doing it one at a time04:37
lifelessyes04:39
lifelessits NlogN disk reads04:39
lifelesswhich is better than N^2 but not that much04:40
lifelessits superlinear and as its read-and-parse operations per key, it sucks04:40
lifelesse.g.04:42
lifeless95% of time is 1.54M queries (this test data has some duplicates)04:43
lifeless3% of time is 1.49M insertions04:43
lifeless1.38% is the final read-and-serialise to the finished index.04:43
lifelessjam: one thing I observed was that bloom probing rehashed04:51
lifelessjam: we need to have a __contains__ that allows passing in the md504:51
jamlifeless: we *can*, but I might point you to BloomMurmur04:51
jamwhich is about 5-10x faster04:51
lifelessI'll leave that in your hands04:52
lifelessmy mail will be finished in < 10 minutes I think04:52
jamso in my testing04:52
jam''.join() was 160ms04:53
jamstr in BloomMurmur04:53
jamwas 500ms04:53
jamfor ~ 100k keys04:53
jamsorry 24k*20 = 500k keys04:53
jamI was going to look at allowing tuples, so we don't have to do a string join04:54
jamanyway, at that point, I wasn't sure if it was specifically worthwhile to cache04:54
jamversus the complexity04:54
SamB_irssijam: but you could just put them in a dict!04:55
* SamB_irssi teases04:55
jamSamB_irssi: :)04:55
lifelessSamB_irssi: we're talking about the implementation of a dict on disk :)04:55
jamright, the whole point here is to use a lightweight memory object that lets us drop the actual keys, etc to disk04:55
SamB_irssi(yeah, my "suggestion" *was* intended as utter point-defeating  nonsense ;-)04:56
jamrockstar: 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
rockstarjam, oh dear.  Yea, how 'bout 730 or so?04:59
jamrockstar: sure04:59
jamhttp://www.mysqlconf.com/mysql2009/public/schedule/grid04:59
jambtw04:59
jamah, I was reading Monday it looks like 8:30 is keynotes05:00
jambut still good to go to05:00
rockstarjam, yea, I have that bookmarked.  For some reason, my brain skipped the keynotes.05:00
rockstarjam, maybe we ought to skip out on some talks and go visit this: http://www.mysqlconf.com/mysql2009/public/schedule/detail/779105:02
jamrockstar: yeah, I think we will05:03
rockstarjam, it seems to kinda go all day long.05:03
jamyep05: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
lifelessjam: mail sent05:06
mwhudsonPeng_: fwiw, i like the idea of a single LoggerheadConfig object being created in serve-branches and being passed around the various wsgi app instances05:15
mwhudson(and i still haven't reviewed your branches properly)05:16
Peng_mwhudson: Okay, cool. :)05:16
lifelessmwhudson: is my search fix landed?05:16
mwhudsonlifeless: yes, i think so05:16
lifelessgood05:16
lifelessnow, to get it working on bzr-playground.gnome.org05:16
lifelessalso, that needs to start pulling git :(05:16
BasicOSXWhat options do I need to pass to bzr init to test the latest branch format? And will LP support it?05:24
lifelessBasicOSX: do you mean the development6-rich-root format?05:24
BasicOSXlifeless:  yes05:24
BasicOSX--development6-rich-root05:24
BasicOSXis what I thought05:24
lifeless-format=development6-rich-root05:24
lifelesslp won't support it05:24
lifelessand its a one-way migration, stuff you commit in there can't be moved to regular formats05:25
Peng_LP won't support it? Why not?05:25
lifelessPeng_: lp is running 1.1305:25
BasicOSXwon't support it "now" is probably what he means :-)05:25
lifelessright05:25
Peng_Oh. I misunderstood.05:25
lifeless:)05:27
BasicOSXPeng:  it's ok, I spent the whole day being misunderstood. Endless debate over Free (speech) and free (beer) and the GPLv1, GPLv2, and GPLV305:27
lifelessBasicOSX: at a conference?05:27
lifelessand zomg gpl1?!?!?!05:27
BasicOSXlifeless:  /blush in my  WoW guild :-P related to Curse/WoWI blocking WoWMatrix from  downloading Addon source code05:28
lifelessheh05:28
lifelesscurse are very odd05:28
BasicOSXwaaay 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 code05:29
lifelessBasicOSX: #ubuntu-wow :P05:29
BasicOSXto 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
lifelessheh05:30
BasicOSXendless rounds of emacs vs vi05:30
BasicOSXwindows vs linux05:30
BasicOSXGPL vs BSD05:31
lifelessso they don't have to allow anyone without the binary access, but blocking by client is arguably a violation yes05:31
BasicOSXopen source vs Free software vs commercial software05:31
Kamping_Kaisers/commercial/proprietary06:19
Peng_Cue endless debate over *that*. :D06:23
Kamping_Kaisernot really, commercial just means 'for money' :)06:54
jameshlifeless: if they distribute binaries without source, they need to provide source access to anyone on request.07:01
jameshif everyone who had access to the binaries also had access to the source at the same time, then they could deny requests from third parties07:01
jameshthey 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
lifelessjamesh: its more subtle than that07:39
lifelessjamesh: and not very interesting07:40
robin_dewdI 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 times08:10
robin_dewdhow do I turn that off? ;-)08:10
bob2bzr unbind08:10
robin_dewdthanks08:11
=== quicksil1er is now known as quicksilver
jelmerjfroy: hi08:22
jelmerjfroy: this seems similar to the problem you were reporting earlier08:22
jfroyjelmer: hey08:40
jfroyI filed a bug to report it08:41
=== davidstrauss_ is now known as davidstrauss
jfroyjelmer: Ah I see, yes the 2 bugs may be duplicates.09:16
jfroyDidn't catch my eye at fist because the exception and error message are different.09:16
Lambo_hi folks09: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
Mezwe 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
Mezis there any reason that this could happen on a regular basis09:50
bob2Lambo_: bzr has nothing like cvs's $Id$, if that's what you're talking about09:50
Lambo_bob2, i just want bzr to insert the last commit in each file09:51
bob2Lambo_: nope09:51
Mezthis just doesnt seem to work. and it's getting extremely frustrating09:59
bob2to lp?10:04
lifelessMez: didn't we debug this last week?10:04
lifelessbob2: we have filters now that can do $id$ if people want10:04
Mezlifeless: yes, we were, and we've just worked out the issue.10:06
MezZen's "magic filtering"10:06
teknicohi guys, stumbled into #354036 again10:06
teknicoI added the traceback to the ticket10:07
Mezwhich doesn't like us using SSH, and kills the connection if we send across a certain control char10:07
lifelessMez: !!!10:07
Mezlifeless: after changing the route on the box, it worked straight away10:07
Mezlifeless: such a horrid issue :(10:10
lifelessMez: might be worth a faq entry on answers.launchpad.net/bzr for this10:10
Mezlifeless: really? I think it's just our setup to be honest10:11
lifelessMez: well, up to you. Be nice if someone else runs into it to have an easy answer ;)10:11
lifelessanyhow, ciao, /wave everyone10:11
Mez"change ISP" isn't a valid answer10:12
asabilhi all11:01
asabilis it normal that bzr locks when using bzr send with gmail ?11:01
poolieasabil: did someone answer?11:30
Peng_poolie: Nope.11:32
Peng_You didn't miss anything.11:32
poolieasabil: no, it's not normal11:44
pooliewhat happens if you hit Ctrl-C?11:44
asabilpoolie: nothing happens when I hit ctrl-C11:52
poolieit's still hung?11:52
asabilbut later I get a error: (110, 'Connection timed out')11:53
poolielike this? https://bugs.launchpad.net/bugs/36446211:53
ubottuUbuntu bug 364462 in bzr-email ""connection timed out" causes full stack trace to be dumped" [Undecided,New]11:53
asabilthe smtp server address seems correct to me: smtp.gmail.com11:53
asabilpoolie: well it is the same issue, but unrelated to the bzr-email plugin11:55
asabilwhich I don't have installed11:55
poolieright11:55
pooliei've just commented that i think it's actually a core issue11:55
asabilthanks11:58
poolieasabil, i'd guess there was just some transient outage on your network causing it to be unreachable12:21
poolieor indeed it's not impossible there was a glitch at google12:21
poolieunless it's reproducible12:21
asabilpoolie: to me it seems like gmail only accepts smtp over ssl12:22
VSpikeAm 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
awilkinsAnyone going to the Jaunty release party in London?13:30
VSpikeI'd expect it to show me committed revisions that are present in one branch but not the other13:31
awilkinsArse, that's Thursday13:32
lifelessVSpike: it should list both sides; are you running bzr mising other-url?13:39
poolieVSpike:  that is what it's supposed to do13:39
lifelesshi poolie13:40
lifelessgnight all13:40
pooliehi lifeless13:40
VSpikeAh. Perhaps I see the problem. Both branches were bound to the same parent, but one had not had bzr update run13:40
VSpikeSo bzr st showed a very old revisions13:40
VSpikebut 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
SamBVSpike: I don't see how that makes sense13:51
SamBare you trying to call bzr missing with two arguments?13:51
* SamB doesn't have any idea what that would do13:51
VSpikeNope.. 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.e13:52
VSpikeSo 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 different13:53
VSpikesorry, in the above replace "bzr st" with "bzr log | head"13:53
VSpikeBut 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
bialixjelmer: ping13:55
SamBVSpike: ah. checkouts! right.13:57
SamBI forgot about heavyweight checkouts. I ran into some strange mergy issues with them ...13:57
SamB... and haven't used 'em since13:57
VSpikeI started using them because I'm terrible at remembering to commit, let alone push :)14:00
SamBah14:00
SamBwell, I'm more interested in not losing changes to unintended "merge"s14:01
SamBmaybe I should instead figure out how to reproduce the issue and report it ...14:01
SamBjelmer: shouldn't the subvertpy docs be online ?14:18
SamBjelmer: also, the "epydoc" target doesn't seem to work right in an unbuilt subvertpy source tree14:20
hufhi. how do i set the parent branch?14:20
SamByou can use pull --remember14:21
SamBor you could edit the .bzr/branch/branch.conf file14:21
hufcan i use some short-names for other remote branches?14:22
LarstiQhuf: with the bookmark plugin, bm:<name>14:22
LarstiQhuf: next to the builtin :parent, :public, :submit etc14:22
SamBLarstiQ: and where do you get it ?14:22
hufwhere can i find docs on those builtins?14:23
hufand what each is for, and when each is chosen as a default14:23
LarstiQSamB: without look at http://bazaar-vcs.org/BzrPlugins I'd guess lp:bzr-bookmark14:23
pooliejam, hi?14:23
hufcool, i think i got it14:27
hufthanks14:27
SamBLarstiQ: I don't suppose you can bookmark just a URL prefix?14:29
luksyou can14:29
luksthen you can use bm:foo/path/to/branch14:29
SamBneato14:29
lukswhere foo is e.g bzr+ssh://example.com/path/to/repo14:29
SamBor it could be svn+https://dosemu.svn.sourceforge.net/svnroot/dosemu, no?14:30
luksyes14:30
SamBof course, I still haven't gotten authentication to work for me ...14:31
hufwhat happened to the bzr versions? what came after 1.5?14:31
SamBpresumably 1.6?14:31
hufoh, 14... i cant read.14:32
SamBthen .7, .8, .9, .10 ...14:32
hufyes yes, i see now14: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 order14:35
awilkinsSamB: It does it in inode order14:38
awilkins(SVN FS inode, not normal-world fs inode)14:38
SamBawilkins: but the inodes don't exist yet14:38
SamBoh14:38
SamBsome kind of progress indicator would be nice ...14:38
jelmerSamB: yeah, the docs could be online, it's just too much effort to keep them up to date15:00
SamBjelmer: buildbot? cron job?15:03
jelmerSamB: No python on the machine that my homepage is on15:09
jelmerSamB: It also seems like it's not too much effort for whoever is going to use subvertpy to build it15:10
Peng_I dunno. I find building docs to be easy, but copying and pasting the URL into Firefox a pain. :D15:13
LarstiQSamB: 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_irssijelmer: well, maybe you should at least debianize the docs ?17:16
SamB_irssibecause 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
jelmerSamB_irssi: any chance you can file a wishlist bug?17:17
SamB_irssiah, sure17:17
* SamB_irssi wonders if there is something wrong with Debian's subversion ...17:18
jelmerSamB_irssi: why is that?17:20
SamB_irssijelmer: is there an up-to-date ppa for subvertpy?17:20
jelmerSamB_irssi: no17:20
SamB_irssijelmer: oh, well, it doesn't seem to cache my auth credentials for that repository I've been having so much trouble with ...17:21
jelmerSamB_irssi: svn itself (not bzr involved) ?17:21
SamB_irssieven with the options explicitly set17:21
SamB_irssiyes, SVN17:21
SamB_irssithough I admit I haven't actually done a commit17:21
SamB_irssijust revision property manipulations17:21
jelmerdo you perhaps have subversion configured to not store password /17:22
jelmers?17:22
SamB_irssijelmer: not entirely, but I'm trying not to!17:23
SamB_irssiand I can't see how to make subversion mumble aloud what it's doing ...17:23
LarstiQSamB: strace? ;)17:24
SamB_irssiLarstiQ: strace doesn't tell me what configuration settings subversion has determined ...17:25
SamB_irssior what it's basing it's decisions on ...17:25
SamB_irssijelmer: oh, I guess you want me to file a debian bug huh ...17:26
jelmerSamB_irssi: yeah17:27
SamB_irssialmost filed it in launchpad ;-)17:27
SamB_irssijelmer: 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 correct18:14
jfroyjelmer: any thoughts on the branch problem? It18: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 :p18:34
ricardokirknerhi. 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 repo18:53
ricardokirknerhow can I do this? (what is the best way to achieve this?)18:54
ricardokirknerfrom my research I see I can write hooks for branches, but not for the whole repo...  (i am using a shared repo)18:54
pygiricardokirkner, is it just you who wants to use bzr?18:54
ricardokirknerdo I have to write a hook for each branch in the repo, or is there a way to make this easier?18:54
ricardokirknerpygi, no.. its a team of people18:55
ricardokirknerotherwise I would just use bzr-svn18:55
ricardokirknerI want to use bzr.. just push to svn as a side-effect18:55
pygihmmm18:56
SamB_irssijelmer: I've noticed a message about refusing a basic authentication challange now ...18:57
pygiricardokirkner, you can set global hook for a user18:58
pygiwould that work?18:58
ricardokirknermhhh19:00
fullermdYou could just use a bzr central branch, and cron pushing it to svn Every So Often(tm)...19:01
ricardokirknerI dont think so, as that would require that every team member commits with the same user19:01
fullermdIf everybody's going to actually use bzr, that could work....19:01
ricardokirknerfullermd, that might work...19:01
ricardokirknerit's not 'clean' ,. but it might work19:01
ricardokirknerthx19:01
* fullermd specializes in 'not clean' 8-}19:02
ricardokirkner:-)19:02
phinzehow difficult would it be to implement a "poor man's PQM" with a pre-commit hook on a shared branch?19:10
rockstarphinze, are you using Launchpad?19:11
phinzeno i'm in a dev group at a university19:12
phinzetrying to see if there's a way to get PQM-like functionality without significantly changing the workflow of the developers19:12
rockstarphinze, well, I guess it wouldn't be too hard.  Tarmac is more lightweight than PQM, but is (currently) specific to Launchpad.19:13
phinzeahh that's why you ask19:13
rockstarTarmac doesn't use a hook though.19:13
LarstiQricardokirkner: does the policy state how soon the code must be in the svn repo?19:13
phinzerockstar: you think it would be better to look into modifying tarmac?19:13
* phinze knows nothing about tarmac19:13
rockstarphinze, bzr branch lp:tarmac19:13
rockstarphinze, 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
LarstiQphinze: james_w has recently worked on a poor man's PQM19:15
phinzeLarstiQ: thanks, james_w: ping?19:17
phinzerockstar: cool, rooting around in it now... so it's based off the Launchpad concept of " Branch Merge Proposals"?19:19
rockstarphinze, yes.19:19
rockstarphinze, actually, the best way to do a poor man's PQM with Tarmac would probably be to create a new TarmacScript19:20
phinzeyeah that makes sense19:21
phinzeokay here's a dumber question about hooks19:22
phinzegiven a pre-commit hook in a BzrBranch... is there a way of failing the commit?19:22
* LarstiQ would assume raising an exception19:24
phinzeor is the hook only allowed to spin off side effects and not get in the way19:24
* LarstiQ looks at the docs19:25
* phinze is looking as well, and not finding...19:25
james_wphinze: http://paste.ubuntu.com/155496/19:25
phinzejames_w: you come in and answer all the questions! :)19:26
phinzeraise errors.TipChangeRejected("The testsuite failed")19:26
james_wphinze: it can raise any exception19:27
LarstiQphinze: hmm, mention of this should be more clear in `bzr help hooks`19:27
james_wthat one says "I didn't go wrong, I want to cleanly stop the operation please", which means bzr formats it differently19:27
james_wit's specific to the tip_change hooks though19:28
james_wI don't think it works for pre_commit19:28
phinzegotchya19:28
phinzewell tip_change is good enough in our case19:28
phinzewe're using append_revisions_only on the shared branches anyways19:28
LarstiQerrors.HookFailed19:29
LarstiQmight still not be entirely correct, given its docstring19:29
phinzein fact, tip_change is probably more correct19:30
phinzewell this definitely gives me some stuff to play with... rockstar, LarstiQ, james_w: thanks19:32
james_wphinze: if it suits you we could turn the above in a project and work to make it useful to more people19:32
james_wit was a quick hack the other day after I get fed up of committing broken stuff myself :-)19:33
phinzehaha that's exactly what brings me here with the interest19:33
phinzei would definitely be interested in that19:33
* phinze is still in the process of making the snippet work ATM19:33
james_wmy snippet?19:33
phinzeyeah, just shuffling some branches around here19:34
james_winstall it as ~/.bazaar/plugins/testrunner.py19:34
james_wthen edit ~/.bazaar/locations.conf to ahve19: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_wpre_change_branch_tip_test_command = ./run-tests19:35
phinzeany way to install it system-wide...?19:35
LarstiQphinze: sure, bzrlib/plugins19:36
phinzethis will be going on a shared server to protect a branch shared by many users using bzr+ssh19:36
james_wyou can set it to a parent directory, and the same command will be run for all users under that directory19:36
phinzecool19:36
james_wphinze: "bzr version | grep bzrlib"19:36
james_wand install it in the plugins/ directory there19:36
james_wyou will need to tweak it to use branch.conf as well in that case19:36
james_wotherwise each user would have to edit their locations.cond19:36
phinzegotchya19:36
phinzecommand = config._get_best_value("pre_change_branch_tip_test_command") # ...ok?19:41
phinzejames_w: ^^19:42
james_wphinze: I think so19:44
=== ja1 is now known as jam
james_wphinze: how's it working for you?20:42
phinzejames_w: working great!20:43
james_wcool20:43
phinzehmm ok20:51
phinzejames_w: bzr: ERROR: Received bad protocol version marker: '(in /tmp/tmpzMKiVL/export)\n-20:51
phinzei get that when running this over bzr+ssh20:51
james_wurgh20:51
phinzeany idea what that means?20:51
james_wit's presumably redirecing stdout or stderr back to the client20:51
kirklandis there some configuration place that I can set my default signature to be appended on bzr commits?20:51
james_whey kirkland20:52
james_wyou mean line email signature>20:52
james_w?20:52
kirklandeg, Signed-off-by: Dustin Kirkland <kirkland@example.com>20:52
james_wnot currently20:52
kirklandjames_w: yeah, perhaps20:52
james_woh20:52
james_wno there is20:52
kirklandjames_w: sweet, pray tell20:52
james_wyou need to write a few lines of python though20:52
kirklandjames_w: i'm okay with that20:53
kirklandjames_w: though that would be a nice thing to set in .bazaar/bazaar.conf20:53
kirklandjames_w: commit_signoff = Foo20:54
james_wfrom bzrlib import msgeditor20:54
james_wdef add_signoff(commit, start_message):20:54
james_w    branch = commit.branch20:55
james_w    config = branch.get_config()20:56
phinzejames_w: sounds like i just need to give subprocess.call the correct pipes for output20:56
phinzei'm guessing bzrlib.trace might have them...?20:56
james_w    message = config._get_best_value("commit_signoff")20:57
james_wif message is None:20:57
james_werr, scratch that last line20:57
james_w    if message is None:20:57
phinzejames_w: actually it was command = config._get_user_option("pre_change_branch_tip_test_command")20:57
james_w        return start_message20:57
phinzeer whoops20:57
phinzewrong case :(...20:57
* phinze steps back a minute20:57
james_w    return start_message + "\n\n%s\n" % (str(message),)20:57
james_wkirkland: if you can piece that together :-)20:57
james_wI can stick it in a pastebin if you like20:58
james_wsave it as "~/.bazaar/plugins/commit_signoff.py"20:58
james_woh, you'll need a start_message is None check before appending to it as well20:58
james_wphinze: what do you mean by "correct pipes"?20:59
kirklandjames_w: neat, thanks20:59
kirklandjames_w: pastebin would be cool21:00
phinzeidk wondering if subprocess.call by default is looking to the wrong place for stdout and stderr when it's being run over bzr+ssh21:00
james_wkirkland: http://paste.ubuntu.com/155535/21:03
james_wkirkland: even with the call to actually register the hook :-)21:03
james_wyou should be able to set commit_signoff either globally, or per-location21:03
james_wI don't think it does entirely what you want, but it21:04
james_w's the best you can do from a plugin right now I think21:04
james_wphinze: I'm not sure there is a correct place for them21:04
phinzejames_w: lemme try None21:04
james_wI don't know if it's possible, but you would really want to send this information back to the client somehow21:05
phinzeindeed21:05
james_wfg21:05
phinzehmm that didn't help21:07
phinzereceived bad protocol version marker...21:07
james_wNone is the default21:07
james_wyou can use subprocess.PIPE to redirect21:08
phinzeperhaps need to prefix bzr+ssh:// to the tmp thing21:08
kirklandjames_w: cool, were does this plugin go?21:15
kirklandjames_w: .bazaar/plugins/*21:15
james_wthat'll work21:16
kirklandjames_w: does it need to be in a subdir of that?21:16
kirklandjames_w: named anything special?  __init.py__ or some such?21:16
james_w "~/.bazaar/plugins/commit_signoff.py" will be fine21:16
kirklandjames_w: The MessageEditorHooks hook 'commit_signoff' is unknown in this version of bzrlib.21:21
kirklandUnable to load plugin 'commit_signoff' from '/home/kirkland/.bazaar/plugins'21:21
kirklandjames_w: do i need to register it?21:21
james_wkirkland: sorry21:21
james_w"commit_message_template"21:21
james_wchange the first arg to install_named_hook to that21:21
kirklandk21:22
kirklandaborting commit write group: AttributeError("'LocationConfig' object has no attribute 'commit_signoff'",)21:22
kirklandbzr: ERROR: exceptions.AttributeError: 'LocationConfig' object has no attribute 'commit_signoff'21:22
kirkland[DEFAULT]21:23
kirklandemail = Dustin Kirkland <kirkland@canonical.com>21:23
kirklandlaunchpad_username = kirkland21:23
kirklandcommit_signoff = Signed-off-by: Dustin Kirkland <kirkland@canonical.com>21:23
kirklandthat's in my bazaar.conf21:23
james_wphinze> command = config._get_best_value("pre_change_branch_tip_test_command") # ...ok?21:23
james_wphinze: ^ was that correct?21:23
phinzejames_w: no --> command = config._get_user_option("pre_change_branch_tip_test_command")21:24
phinzethat did21:24
james_wkirkland: try changing "_get_best_value" to "_get_user_option"21:24
james_wthanks phinze21:25
kirklandjames_w: bingo21:25
kirklandjames_w: you da man21:25
* kirkland owes james_w a beer21:25
* phinze does as well21:25
james_wkirkland: not that it won't work with "-m"21:25
james_w^note21:25
kirklandjames_w: tis okay21:25
kirklandjames_w: this get's me much closer21:26
james_wit modifies what the editor shows to you, so if you never see the editor then it won't do anything21:26
kirklandjames_w: i was using vim bindings21:26
kirklandjames_w: but this is much nicer21:26
james_wcool21:26
jelmerSamB_irssi: how do you mean?21:26
SamB_irssijelmer: with svn from unstable, I get this error:21:54
SamB_irssinaesten@hydrogen:~/hacking/dosemu% bzr push svn+https://dosemu.svn.sourceforge.net/svnroot/dosemu/branches/debugger/21:54
SamB_irssibzr: 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
jelmerSamB_irssi: does it work with "plain" svn?21:54
SamB_irssiis there some?21:55
jelmerSamB_irssi: I mean, does it work without using bzr but only svn21:55
SamB_irssiit let me edit revision properties21:55
SamB_irssiwithout rejecting any basic authentication21:56
jelmerdoes it let you do commits?21:56
SamB_irssihmm ...21:58
jelmerSamB_irssi: ah, that's svn+https:// that's not prompting22:00
SamB_irssijelmer: hmm?22:01
SamB_irssiand yes, I can commit22:01
jelmerSamB_irssi: https:// works fine22:01
SamB_irssijelmer: wasn't the svn+ your idea?22:02
jelmerSamB_irssi: well, it does work as a workaround to bzr triggering the smart server22:03
SamB_irssiI mean ... didn't you suggest I use that for this ... ?22:03
SamB_irssioh well.22:04
SamB_irssinow I'm getting something about a failing is_canonical assertion ...22:05
jelmerSamB_irssi: one sec22:05
jelmerSamB_irssi: I've pushed a fix for the svn+https:// auth issue22:06
jelmerSamB_irssi: not sure about the is_canonical one issue, are you running the latest subvertpy?22:06
SamB_irssijelmer: where would I get the .deb for that?22:07
jelmerSamB_irssi: In Debian (sid)22:08
SamB_irssijelmer: well, last I checked, it was the latest that I'd seen in apt ...22:11
jelmerSamB_irssi: ah, sorry22:11
jelmerSamB_irssi: in that case, please run inside of gdb and pastebin the backtrace22:12
jelmerSamB_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 lately22:13
jelmerSamB_irssi: You might need the libsvn-dbg one actually, for a sensible backtrace :-/22:13
SamB_irssiwell, I'll try without first22:14
SamB_irssithe svn+ fix does seem to help, though22:14
jelmercool22:15
SamB_irssijelmer: what did you want to see?22:15
jelmerSamB_irssi: the output of the 'bt' command inside of gdb22:16
SamB_irssiwell, yeah, I was getting ahead of myself22:16
SamB_irssihttp://paste.ubuntu.com/155563/ is what I get so far22:17
SamB_irssiwhich function would you like to know something about the arguments of?22:17
jelmerbasically which subvertpy function is triggering the crash22:20
SamB_irssioh22:21
* LarstiQ votes for ra.Auth()!22:21
LarstiQjelmer: but I saw you fixed that, thanks :)22:21
* SamB_irssi mumbles something about there not being a libsvn-dbg package ?22:22
jelmerSamB_irssi: libsvn1-dbgsym22:23
jelmerLarstiQ: np :-) I think that's not actually used by bzr-svn though22:23
LarstiQjelmer: it was step1 in trying to figure out why password_encoding=subversion didn't work22:24
jelmerLarstiQ: oh, ok22:24
SamB_irssijelmer: well ... I don't see that either22:24
SamB_irssiwhat repository are you getting it from ?22:25
jelmerSamB_irssi: it's in the debug repository22:25
jelmerdeb http://debug.debian.net/debian unstable/debug main22:25
LarstiQjelmer: credentials would raise StopIteration and I had no clue why22:25
jelmerLarstiQ: because it didn't have any credentials cached ? (-:22:25
LarstiQjelmer: bollocks!22:26
LarstiQjelmer: it does, and it works for svn22:26
LarstiQbut I'll figure it out later22:26
LarstiQsleep now22:26
SamB_irssijelmer: unfortunately I don't seem to be able to get that version of libsvn122:28
jelmerSamB_irssi: :-/22:28
jelmerSamB_irssi: another thing that may help is using a subvertpy built with debugging symbols22:29
jelmerLarstiQ: this is with the latest bzr-svn?22:29
SamB_irssijelmer: if you were to upload such a python-subvertpy-dbg to experimental, I'd be happy to try it22:29
jelmerSamB_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 NEW22:30
SamB_irssijelmer: oh :-(22:30
SamB_irssiwell, to anywhere, really22:30
jelmerSamB_irssi: Is there any chance you can just try with a manually built subvertpy?22:31
SamB_irssi(experimental messes up sid?)22:31
jelmerSamB_irssi: all binary packages from one source package end up in the same distribution, not multiple22:31
jelmerSamB_irssi: there shouldn't be a need to install subvertpy to try this22:31
jelmerjust set PYTHONPATH appropriately22:31
SamB_irssiyes but I'd need the svn headers :-(22:32
jelmeryeah22:32
SKArfaceGCis there any documentation on cvsps-import other than the README file?22:33
SamB_irssiwhich seems to need 35 megs ... in /usr ...22:33
SamB_irssiI might have them ...22:33
jelmerSamB_irssi: You should be able to remove it again once you've run this22:33
* SamB_irssi doesn't get why subversion's headers require the installation of so many others -- Suggests:, sure, but Requires: ?22:34
jelmerSamB_irssi: they include the others22:35
SamB_irssiall of them?22:35
jelmersamb_irssi: indirectly, but yes22:35
SamB_irssiit still seems pretty sick ...22:35
jelmerdirectly it only depends on libapr-dev and libapr-util-dev IIRC22:35
jelmerapr depends on a lot I think22:36
SamB_irssiI mean, seriously -- why are the headers for 3 different DBMS-type things needed?22:37
SamB_irssi(BDB, mysql, and sqlite)22:37
SamB_irssijelmer: okay, how do I build subvertpy with debug flags ? I haven't done that sort of thing in a while ...22:38
jelmerSamB_irssi: ./setup.py build_ext -i -g22:38
=== ja1 is now known as jam
SamB_irssiand how would you suggest I bzr-svn to use this one?22:40
SamB_irssi+get22:40
jelmerexport PYTHONPATH=/path/to/subvertpy22:40
SamB_irssi(there sure were a lot of deprecation warnings...)22:40
jelmeryeah, that's correct, we'd like to stay compatible with old verisons22:42
SamB_irssiit would be better if they cited a version since which they were deprecated ...22:43
jelmerSamB_irssi: that's not possible in C afaik22:43
SamB_irssijelmer: ... since when are deprecation warnings even possible ?22:45
SamB_irssi(in C)22:45
jelmerSamB_irssi: gcc extensions22:45
SamB_irssioh22: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_irssijelmer: great. now it has to go and work on me!22:53
jelmerSamB_irssi: ok, so looks like it's probably a bug fixed in the current subvertpy22:53
SamB_irssijelmer: what do you mean about "experimental" uploads delaying movement from unstable to testing ?23:06
jelmerSamB_irssi: ? That's not what I said23:07
SamB_irssioh. maybe you missed where I said "experimental" and not unstable?23:07
jelmerSamB_irssi: no, I never said experimental uploads delay movements from unstable23:08
jelmerSamB_irssi: it's just not possible to upload a source package from which the binary packages are in different distributions23:08
jelmerthe source package's distribution determines where the binary packages go23:08
SamB_irssiwell, I mean, you could upload the whole thing to experimental, couldn't you ?23:09
jelmerso the source package subvertpy would have the binary packages python-subvertpy and python-subvertpy-dbg23:09
jelmerSamB_irssi: yes, but why would I upload to experimental? subvertpy lives happily in sid23:09
SamB_irssihmm, well, I dunno ;-)23:10
SamB_irssiI'm not a DD23:10
SamB_irssiright 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 nice23:11
jelmerSamB_irssi: I don't see why that would have to be with a experimental rather than an unstable package though23:11
jelmerSamB_irssi: The problem is I don't have time to upload either at the moment23:12
SamB_irssiah23:12
* SamB_irssi mumbles something like "why do they have to make these things take time?"23:12
jelmerI should have time for it in about a weeks time, when I get back home23:13
SamB_irssioh, that's a nice and short moment I guess ;-)23:14
SamB_irssioh, 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
jelmerSamB_irssi: bzr pull23:16
jelmer(as you would with a regular bzr branch)23:16
SamB_irssidoes 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
jelmerSamB_irssi: not sure if I follow..23:18
SamB_irssiit's okay if I pull into something that isn't actually a bzr checkout of the SVN trunk, yes?23:18
jelmeryeah23:19
SamB_irssiokay ... actually there were some changes on trunk(!) but it seems okay ...23:27
SamB_irssihmm. 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
phinzedev-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_irssijelmer: but you can't do anything about that :-)23:32
phinzei know python has a backtrace for me somewhere in there23:32
phinzei could pdb i suppose23:32
SamB_irssiBZR_PDB=on bzr foo ...23:34
phinzeaha23:34
SamB_irssi(if you want to pdb, that is)23:34
phinzeSamB_irssi: perfect; thanks23:35
bob2phinze: full tracebacks are in ~/.bzr.log, too23:35
phinzebob2: mmm also helpful23: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
lifelessphinze: interesting23:44
lifelessphinze: where is that raised from?23:45
phinzelifeless: subprocess.call of an external command... looks like the output of that command is getting into in_buf... which expects something23:45
phinzeoop may have just fixed it23:45
lifelessphinze: subprocess by default using stdin and stdout23:45
phinze subprocess.call(command, cwd=export_dir, shell=True, **stdout=subprocess.PIPE**)23:46
lifelessso you may have been sending your output back over the wire to the client23:46
lifelessyup23:46
phinzehappy days are here again23:46
phinze:)23:46
lifelessphinze: you may want stderr=subprocess.STDOUT23:55
phinzelifeless: 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 it23:55
lifelessphinze: thats correct, your plugin will get it all23:56
lifelessphinze: imagine that you are committing over bzr+http23:56
lifelessin that situation stderr and stdout are effectively /dev/null *unless* you capture them via subprocess with stdout=PIPE and stderr *either* PIPE or STDOUT23:57
phinzeriight ok23:57
lifelessnow, we don't have a way at the moment for you to send an output stream during the commit process23:57
lifelessbecause its a hook happening at the end of a push23:58
phinzehmm 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
lifelessphinze: not at the moment - think of it like a cronn job running on the server23:59
phinzewith just stdout=subprocess.PIPE i get about half the output on my terminal when running push23:59
lifelessif it fails, you can raise an exception with any data you want23:59
lifelessthe exception is stringified and passed back over the wire23:59
lifelessif it succeeds, no output is shown23:59

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