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

igcmorning00:24
=== blueyed_ is now known as blueyed
spivHmm, I could add a post-commit hook to the better-news-merge branch that warns if you are committing a NEWS file that isn't in the canonical format (non-alphabetical bullets, etc)01:49
spivEr, or pre-commit even.01:49
lifelesswith code ?01:50
lifelessspiv: are you asking 'what hook to use' ?01:51
lifelessoh ignore me, I misread 'I could' as 'how do I'01:51
spivRight.01:51
spivI'm just musing out loud.01:51
lifeless<- thwack01:51
lifelessspiv: you could do a start commit one instead, that just fixes it.01:52
spivI just realised I have most of the code already, and it would help devs catch "oops I forgot to put the bullet in the right spot"01:52
spivThat'd be neat too.01:52
lifelessspiv: or even a filter :>01:52
spivPerhaps we could have a merge-hook that is configured on the PQM instance to merge a detached NEWS entry into its final home (i.e. into the appropriate section of whatever the current release is).01:53
spivTo avoid the "I wrote the NEWS entry before the 2.1.1 release, but my change landed after 2.1.1 was released" problem01:54
lifelessspiv: as long as it doesn't break 2.1->2.2 and similar merges01:54
spiv*nod*01:54
lifelessI think its worth heading towards01:55
spivThere's also the Twisted-style solution: build up a directory of newsfiles/$bugnumber.$kind, e.g. newsfiles/1234.feature or newsfiles/2345.bug01:56
pooliethat could be better01:56
pooliespiv does it run in pqm yet?01:56
pooliethat could be a good next step01:56
pooliethough perhaps pqm is being tortured enough right at the moment01:56
lifelessI find the directory approach a bit ugly tbh01:56
lifelessI don't see that its really any easier or better01:56
spivAnd only build them into a single file at either release time or maybe build time.01:56
poolieit is a kind of a workaround for an insufficiently good tool01:57
pooliethere's also the issue of how to represent the DAG of releases01:57
pooliethat 2.2b2 includes 2.0.6 etc01:57
spivYes.01:57
lifelessI think that we're heading into diminishing returns for now01:57
spivAs a reader of the NEWS file, I'd like to see the 2.0.6 entries repeated under the appropriate 2.2 release.01:58
spivBut as a developer I find it a PITA :)01:58
pooliespiv, so for me the most useful thing at the moment would be a mechanism/document for how to do your own merge code01:58
poolieeg how to call an arbitrary shell command to merge them01:59
poolieoh, or the thing of making some files always conflict01:59
pooliebut for today i'm going to look at the loggerhead mp queue01:59
poolieigc: the top refererer to loggerhead was this blog post:02:08
pooliehttp://www.outflux.net/blog/archives/2010/02/18/data-mining-for-nx-bit/2/18Q02:08
poolieand it is pretty interesting02:08
poolie http://www.outflux.net/blog/archives/2010/02/18/data-mining-for-nx-bit/02:08
lifelessok, pqm is currently executing with bzrlib 1.1702:09
lifelessso we'll need a potentially risky upgrade to do news-merge; will look at it with spm probably next week02:09
poolieit's probably not urgent then02:15
poolieperhaps we should defer until after the lucid release and uds02:15
lifelessI think we should do it as time permits02:16
lifelessif folk are busy, defer, otherwise do.02:17
lifelessI guess I mean that if make it clear to the losas that its not high priority they can guide us as to their stress levels and fit it in accordingly02:19
poolieok; i think we should let them know to expect some fallout02:19
pooliewell, they probably would already02:20
lifelessright - potentially risky as I say :)02:21
lifelessafter thats in place we can look at turning on news merge for it02:22
lifelesswe should also look at turning on news merge on lp02:22
lifelessfor mp reviews02:22
lifelesspoolie: the code in02:26
lifelesshttps://code.launchpad.net/~salgado/launchpad/meliae-librarian/+merge/23771 might be interesting02:26
poolieooh02:32
jrmorrisnchi I need to present a comparison of bazaar versus CVS to my team at work. Any good resources?05:08
spivjrmorrisnc: http://doc.bazaar.canonical.com/migration/en/why-switch-to-bazaar.html and http://wiki.bazaar.canonical.com/BzrForCVSUsers05:12
spivjrmorrisnc: there are probably others too, but not at my fingertips :)05:12
jrmorrisncty05:12
mkanatspm: Hey. How long does the loggerhead check wait until it assumes that codebrowse has failed to respond?05:13
spmmkanat: hey max; 3 tries of ~ 10 secs each05:13
mkanatspm: Ahh.05:13
mkanatspm: You might want to up that to 15 seconds.05:17
spmmkanat: I *believe* that's not technically possible. nature of how the beast is assembled across all the servers....05:17
mkanatspm: Ahh.05:17
spmI think we can increase to 5 tries tho.05:18
spmwhich'll have the same effect.05:18
mkanatspm: Well, no, that might make it worse.05:18
spmoh?05:19
spmtoo much repeated polling?05:19
mkanatspm: Yeah, the problem is that sometimes loggerhead gets slow, and you're asking it to do something that might be slow.05:19
mkanatspm: So if you ask multiple times when it's not completed, at the least it's making the problem worse.05:19
spmexcellent05:19
mkanatspm: Is it the sort of checker that looks for a string in the page, or just tests for a 200 response?05:24
spmI think both. lemme verify...05:25
mkanatspm: Okay.05:25
spmmkanat: /usr/lib/nagios/plugins/check_http -H bazaar.launchpad.net -u /~vcs-imports/busybox/main/changes -e " 200 OK"05:26
mkanatspm: Okay, so it's just a 200 check.05:27
mkanatspm: There's not also a string checker?05:27
spmistr the -e bit is to ensure we catch 3xx's & 4xx's as fatal05:27
spmnot on that one, no. we do on some other services.05:27
mkanatspm: Okay.05:28
* spiv -> food05:28
spmspiv: get a 2400 baud odem while you're at too eh?05:28
mkanatspm: Ah ha. So sometimes, the checker is getting a 500.05:42
spmmkanat: that... that sounds about right - relying on my memory05:43
mkanatspm: Ah, okay.05:43
mkanatspm: So this is more a crash than a hang, in a way. But effectively loggerhead is non-responsive.05:44
spmsounds a fair description :-)05:44
mkanatspm: Oh, okay, I found an actual hang in the log.05:54
spmmkanat: ah! so we are getting real hangs? I was somewhat in a context free zone responding to that bug report. and it showed. ;-)05:55
mkanatspm: That's OK. I think we might actually be getting multiple different hangs and other bugs.05:55
mkanatspm: I suspect there are at least two hang bugs, maybe three. And then there's a bug that causes loggerhead to throw a bunch of KeyErrors.05:55
spmluveryly05:55
mkanatspm: The problem is that I can't reproduce *any* of the hangs locally.05:56
mkanatspm: So I'm totally dependent upon reading logs in detail and looking at the stack traces that I get from y'all.05:56
spmmkanat: :-) and more importantly: is "y'all" the correct spelling? I've been doing "ya'll".... but not being a native of the USA....05:57
dashspm: it's a contraction of "you all"05:57
mkanatspm: Yeah, it'd be y'all, because "you" is contracted.05:57
dashand the only sensible plural of "you" that I know of :)05:57
mkanatdash: Agreed. I'm not living in the South anymore, but I still use it as the second person plural from time to time.05:58
spmha. I thought it was one of those phrases like 'crikey' that is only used in the piss-taking sense.05:59
fullermdBut... y'all is singular.06:00
fullermd"all y'all" is the plural.06:00
dashfullermd: die in a fire, etc06:00
fullermd8-}06:00
dashspm: no, i say it pretty consistently06:00
spmdash: I may never look at you the same way again. :-P06:01
spmNaturally, this is coming from the perspective of "Teasing Americans being an Australian National Sport" perspective... so.....06:02
* spm also notes the reaction to fullermd's "all y'all" sugegstion and takes additional notes for later abuse06:03
* fullermd is a helper!06:03
lifeless-> food06:20
mkanatfullermd: lol06:21
lifelessyou're missing the 'now06:21
lifelessy'all die in a fire, now06:21
mkanatlol06:21
mkanatWhere does tuned_gzip come from? I see people import it from bzrlib but I don't see a definition in bzrlib/__init__.py.06:28
mkanatOh, nevermind.06:28
mkanatHaha. Found it. Duh.06:28
lifeless mkanat ;)06:53
mkanatlifeless: Is there any known thread-unsafety inside of the btree_index pyx stuff?06:54
lifelessthe usual about sharing objects06:54
mkanatlifeless: Like sharing a repository object between two threads and then attempting to call the btree_index methods on it? But that should normally be prevented by...oh, no, it wouldn't be by two read locks.07:00
lifelessmkanat: at a high level, yes.07:01
* mkanat nods.07:01
lifelessthe lru cache bug we had was a global with the same issue07:02
mkanatlifeless: Specifically an issue with the btree_index, or just a thread-safety issue with the pyx code?07:03
lifelessmkanat: neither, just a data structure being updated without a thread mutex around it07:03
mkanatlifeless: Ah, okay.07:03
lifelessmkanat: and because the chk_map module has a global cache object07:03
mkanatlifeless: Ah, okay.07:04
lifelessmkanat: calls from different repos were interacting with the global cache, and *boom*07:04
lifelessloggerhead told us about it :P07:04
vilahi all !07:17
pooliehi vila07:17
vilalifeless: what's the status on pqm ? I still see some of the merges that were queued yesterday :-/07:18
vilahi poolie :)07:18
vilalifeless: having *no* feedback on failures is really frustrating :-(07:19
fullermdYou mean "hi y'all"   O:->07:19
poolieyeah, john complained about this too07:19
lifelessvila: its extremely frustrating07:19
igchi vila07:19
lifelessvila: I'm polling losas hourly to find new exceptions and have two bugs in launchpadlib/launchpad that are affecting us:07:20
igchi fullermd, mkanat07:20
vilafullermd: I tried to decipher the discussion about that but coudnn't make sense of it (apart from spm teasing americans people that is :)07:20
poolieis it true that if you submit by mail you get a reply in the regular way?07:20
lifelessvila: a 110 timeout error with no obvious reason - you might be able to help with that07:20
lifelessvila: as its ssl related07:20
vilapoolie: not my case yesterday07:20
spmvila: glad you understood the important part. ;-)07:20
lifelessvila: and a 502 gateway error which is apparently backend flakiness + launchpadlib not retrying07:20
poolielifeless: can we reevert whatever broke that?07:20
lifelesswe can disable the lp api usage entirely by removing the config option./07:21
vilalifeless: logs ? tracebacks ? Anything I can chew ?07:21
lifelesshttps://bugs.edge.launchpad.net/launchpadlib/+bug/380504 is the 502 one07:22
ubottuLaunchpad bug 380504 in launchpadlib "Handle HTTP Error 502: Bad Gateway automatically" [High,Triaged]07:22
pooliethere's no easy way to just take it out of the codepath of non-api-based merges?07:22
lifelesspoolie: no07:22
poolie:/07:22
lifelesspoolie: they dovetail, same code07:22
vilalifeless: so, bad gateway is the one I see when lp is down or performing really badly07:22
lifelessvila: yes, and we're hitting it unpleasantly often07:22
lifelessoh thats a fun bug07:23
lifelesssearch for 110 in a bug tracker search - takes you to the bug directly.07:23
lifeless<fail>07:23
lifelesshttps://bugs.edge.launchpad.net/launchpadlib/+bug/56718007:24
ubottuLaunchpad bug 567180 in launchpadlib "timeout submitting request - can't tell if its lplib or lp" [Undecided,New]07:24
lifelessthats the ssl related one07:24
lifelesspoolie: I'm happy to rollback if you want; we have solved many of the issues but I know at least one remaining - there is diagnostic code in production that should enable it to be fixed when it next triggers07:25
pooliejohn seemed to be about +0.8 on rolling back07:26
pooliei'm about +0.1 but only because i haven't submitted yet this week :)07:27
pooliehow about you, igc, vila and spiv?07:27
lifelesspoolie: I don't think we should rollback today07:27
lifelesstomorrow afternoon if its still gltiching we should, because I'm going to be off friday07:27
poolieok, wfm07:27
pooliebefore you fly and before the anz holiday07:28
vilaUnless there are ways to reproduce the actual bugs in a separate instance, I'd prefer to endure the pain *now* than postponing it :)07:28
vila*BUT* gimme me feedback on my failures so I can see if the problem is on my side or not07:29
vilalifeless: the parthm chown one has just failed (I've seen 6 failures mentioned by the progress report on http://pqm.bazaar-vcs.org/), did you get some feedback there ? (for example)07:31
spivvila, lifeless: maybe PQM is still not allowed to send the large failure emails?07:31
lifelessvila: yes, its blowing up truncating the 44MB error output07:31
lifelessspiv: no, see the exception spm pasted07:31
vilalifeless: you see that on the host running pqm or from your laptop ?07:32
spivlifeless: link?  There have been so many conversations about pqm lately.07:32
lifelessspiv: https://pastebin.canonical.com/31025/07:32
spivta07:32
lifelessspiv: are you in #launchpad-code ? :P07:32
lifelessvila: ^07:32
spivlifeless: I am, but don't follow it closely07:33
vilaValueError: invalid literal for int() with base 16: '' rings some bell....07:33
lifelessvila: however there are no text streams in play here07:33
lifelessso I think its definitely a pqm bug07:33
lifelessbut perhaps subunit07:34
spivlifeless: I don't know enough to make much sense of that exception, although wouldn't gzipping be a better option than truncating if this is just to get the email to a reasonable size?07:34
lifelessspiv: we're attaching it to the merge proposal.07:34
lifelessbut they don't permit 'attachments' at the moment (bug iz open), so it will be a comment.07:34
spivOh, bleagh :(07:34
vila44MB in a comment ? pfew07:35
lifelessspiv: thus I want it to be as useful as possible. Besides which, if pqm can't filter it, neither can a user.07:35
=== radoe_ is now known as radoe
lifelessso I need to fix the bug. fixing the subunit fragility is one route07:35
spivlifeless: so you're filtering out successes?07:35
lifelesseys07:35
spivand xfails? :)07:35
poolieand time markers?07:35
lifelesstime markers yes07:35
lifelessxfails I don't know07:35
vilaDo I see a pattern about filtering just the failures and the errors here ? :-P07:36
gourmorning07:36
lifelessI'm using a default TestResultFilter at the moment, I can change that easily.07:36
* vila runs07:36
gourusing bzr with git repos fails with stuff like http://dpaste.com/186054/07:36
vilagour: I'm pretty sure it's a known bug about github returning some invalid URLs07:37
gourvila: thank you...any workaround?07:37
vilagour: are you using the latest bzr-git version ?07:38
gourvila: no. will try to pull07:38
vilalifeless: both bug #567180 and bug #380504 are as obscure as pqm failures to me :-/ sorry07:42
ubottuLaunchpad bug 567180 in launchpadlib "timeout submitting request - can't tell if its lplib or lp" [Undecided,New] https://launchpad.net/bugs/56718007:42
ubottuLaunchpad bug 380504 in launchpadlib "Handle HTTP Error 502: Bad Gateway automatically" [High,Triaged] https://launchpad.net/bugs/38050407:42
lifelessvila: no idea what would cause the first one ? the second is well analyzed07:43
vilathey look like timeouts on the server side to me07:43
vilaerrr, server taking too long I mean07:43
vilatimeouts on the client07:44
vilaI never encountered the ssl one though07:44
vilalifeless: any reason to suspect they don't share the same cause ?07:48
* gour is encountering some problems updating bzr-git...need to do it manually07:48
gourvila: i've updated bzr-git, but now i get: bzr: ERROR: Unsupported protocol for url...also with non-github urls07:51
lifelessvila: non reason to suspect either for or against07:51
vilagour: file a bug, with any luck lp will show you the relevant one, I don't remember the details, but I'm pretty sure the subject was discussed there07:52
gourvila: ok07:53
vilalifeless: both fail to get an answer, the only difference I see is one is using http and the other https. The http one went a bit farther and get a 502, but that may just be a reflect of the different servers involved, it's hard to tell from here :-/07:55
lifelessvila: all api calls are https07:55
lifelessat the moment anyhow07:55
vilahmm, and involve the same servers ?07:55
lifelessvila: what I find odd is that the ssl one is timing out on *write*07:56
lifelessvila: yes, launchpad apis07:56
vilalifeless: wild guess: the timeouts on the client and the server are close and one fire before the other ...07:56
lifelessvila: interesting07:56
lifelessI think I'm going to have to take wild guesses07:57
vilain both cases, I'll check server logs...07:57
lifelessspm: ^07:57
gourhmm...something is wrong here...i pulled the dulwich from the the trunk and i get: "bzr: ERROR: Unsupported protocol for url "git://github.com/maxlapshin/mysql2postgres.git": Unable to import library "dulwich": bzr-git: Dulwich is too old; at least 0.5.1 is required"08:00
pooliemaybe it's finding a different one on your pythonpath08:01
vilalifeless: but... but... my submission from yesterday (avoid zombies) landed ??? Now I'm ever more confused :-(08:14
vilalifeless: can I still use pqm-submit directly ?08:17
lifelessyes, but I would not expect any difference if there is an MP for what you are submitting08:17
vilalifeless: it's for a trivial patch without MP so far08:18
vilalifeless: test import cleanups08:18
lifelessvila: you can just do it08:18
vilalifeless: cool08:18
lifelessit will jump the queue, too08:19
vilalifeless: I'll try to wait for it to be empty08:20
lifelesswhy?08:20
vilalifeless: just to avoid random problems08:20
lifelessok08:20
vilalifeless: and about my landed mp ? I've seen the progress report mentioning 1 error, where did it go ?08:21
lifelesswhat error?08:21
vilalifeless: stop teasing me :-) That's the whole point: I have no idea what the error was !08:22
vilaat one point I saw: Running [ xx% nnnnn test(s), 1 error ]  (or something similar)08:23
lifelesspresumably transient then08:24
vilascary08:24
vilalifeless: I also feel that pqm is slower these days, is the host under more load ?08:25
lifelessI think I have a fix for the reporting08:25
lifelessvila: launchpadlib is slow08:25
lifelessvila: I can't answer about load. spm can ?08:25
vilalifeless: that shouldn't reflect on the time to run the test suite which is where my feeling of slowness is08:25
lifelessspm: ^08:26
spmi wonder if we log ballenys load anywhere you guys can see...08:26
vilaspm: no worries, just give me root access, I'll find my way from there08:26
spmvila: ha! misconception 1. *I* don't have root access....08:26
vilaspm: see ? That's why it's so hard for you :)08:27
spmheh08:27
vilaspm: Anyway, I didn't imply that you have root access, I know you're far too responsible to use that, but just give it to me, ok ?08:28
lifelessvila: FYI, pqm error blow up was because stdout and stderr were being combined08:30
lifelessvila: *and*08:30
lifelessvila: we still have crap on stderr08:30
spmvila: something like that.....08:30
lifelessthat will break most any serialisation you care to think about08:30
lifelessvila: if you wanted to review my adhoc fix, its pqm's most recent commit08:31
vilalifeless: argh08:33
lifelessok, EOD time08:42
vilalifeless: will this commit be deployed ?08:43
gourcool...pulling dulwich from the trunk resolved bzr-git issue(s)08:46
lifelessvila: Tomorrow morning08:58
vilalifeless: ok09:00
lifelessvila: so if its crap, I can fix09:01
vilalifeless: nothing caught my eyes, but I have a poor context here :-/09:01
vilalifeless: I'd use from cStringIO import StringIO , but... detail09:02
vilalifeless: grrr, lp:~jameinel/bzr/2.0.6-peak-commit-mem lp:bzr/2.0 is looping like my submission from yesterday :-(09:13
vilaspm: still around ? ^09:13
spmvila: not really - in post cleanup from a major librarian crash09:14
vilaspm: ok09:14
vilaAny other LOSA around ?09:14
vilalifeless: wow, I set https://code.edge.launchpad.net/~jameinel/bzr/2.0.6-peak-commit-mem/+merge/23718 status to 'Approved' (from 'Queued') and it went out of pqm instantly (pqm had just started processing it again...) ?09:19
mthaddonvila: o/09:19
vilamthaddon: I just broke the loop apparently, stay tuned but nothing needed immediately :)09:20
mthaddonk09:20
lifelessvila: it hasn't gone from pqm really09:21
lifelessvila: the webui and the cron job only have a tenuous connection to each other09:21
lifelessvila: the next time it refreshes the list though, it won't find it09:21
lifelessvila: you might like to get mthaddon to look at the bzr pqm log and tell you the patch it most recently started playing from that; and if its jam's branch shut all of the bzr --cron processes down (set a stop.patch and wait)09:22
vilalifeless: but I saw: Running [ 0% 1 test(s) ] for jam's branch, went to the mp page, switched the status, came back to pqm page, it was gone, does that make sense ?09:23
vilalifeless: or rather,09:23
lifelessvila: yes, as I said, the web ui and the cron daemon are only tenuously linked09:24
vilalifeless: is the pqm web UI lagging so much ?09:24
lifelessno09:24
lifelessits reading from lp09:24
lifelesschange the lp status, change what it sees09:24
lifelessdoesn't change the behaviour of the *already running* pqm cron instance09:24
vilalifeless: that's my point, the pqm run appeared to stop while the web UI was reporting Running [ 0% 1 test(s) ]09:25
lifelesshowever, the cron instance loops around all the items queued09:25
lifelessvila: it didn't.09:25
vilalifeless: I'm talking about seconds between my actions, not even minutes09:26
lifelessone of the bugs stops failing proposals being set back to approved09:26
lifelessvila: yes, I understand.09:26
lifelessnevertheless.09:26
lifelessNot Possible.09:26
lifelessthe 'current playing' entry in the queue is total lies09:26
vilalifeless: pfew, so I'm not dreaming09:27
lifelessread the code - in particular pqm/queue/lp.py 'next_script' and compare with pqm/ui/twisted.py09:27
lifelessthe status region is accurate09:27
lifelessthe claimed patch will be more accurate once the bugs preventing lp updates are fixed09:27
lifelessbut even then, if you dequeue the active thing, it will take a full pqm run to sync up again09:28
lifelessnot something worth fixing09:28
vilalifeless: ok, that matches my expectations... now where should I look to find reliable info about what is running...09:28
lifelessask-a-losa *if* it matters09:29
lifelessthe thing to remember is that pqm won't loop on one patch09:29
lifelessit will loop on all patches09:29
vilalifeless: right09:29
lifelessthe web page will look like its looping on the first; its not.09:29
lifelessevery time it hits the end, it will refresh from lp09:29
vilahttps://code.edge.launchpad.net/bzr/+merges?field.status=QUEUED&field.status-empty-marker=1 is the only reliable source then09:29
lifelessand go around again, if there are unmerged things.09:29
lifelessvila: uhm, thats == the pqm web ui09:30
lifelessso its equally inaccurate09:30
vilalifeless: it's the source that pqm read no ?09:30
lifelessvila: when it refreshes the queue, yes. Which it only does after trying everything it knew about.09:31
lifelessthe web ui refreshes every 30 seconds09:31
lifelessso the web ui == the launchpad page, in terms of being totally wrong about what merge the cron job is actually processnig09:31
vilaoh that, yes, I realize09:32
vilabut in terms of accessible info, that's all I have09:32
lifelessthe pqm web  ui tells you a little more09:32
lifelesstest_permissions.TestPermissions.test_new_files                  OK      545ms09:32
lifeless...permissions.TestPermissions.test_new_files_group_sticky_bit   OK      185ms09:32
lifeless...09:32
lifelessetc09:32
vilaargh:09:33
lifelessanyhow, I think you dequeued the wrong thing :P09:33
vilabzrlib.tests.blackbox.test_branch.TestBranchStacked.test_branch_stacked_from_smart_server is leaking threads among 2449 leaking tests.09:33
vilamake: *** [check-nodocs] Error 109:33
lifelessI'm pretty sure the Oo flag thing is the broken thing09:33
vilafor support_OO flag09:33
lifelessvila: you ran locally ?09:33
vilalifeless: no09:33
lifelessbabune?09:33
vilalifeless: just copied from pqm.b.o09:33
lifelessvila: see the comments I put in parthm's merge; that I said were odd ....09:34
vilalifeless: babune needs love09:34
vilalifeless: where did you get these failures  ? ... pfff, nm,09:34
vilalifeless: wait, I dequeued the wrong thing ? How comes ? I dequeued the first mp in the list...09:35
vilalifeless: the order reported is a lie too ?09:36
* vila stops refreshing pqm web page, 30 seconds man !09:37
mwhudsonjelmer: hi09:43
jelmermwhudson: hi09:44
jelmermwhudson: otp09:44
mwhudsonjelmer: we cherry picked the bzr-git import and it failed on kernel import with a keyerror09:44
mwhudsonjelmer: should we just delete the import and start again?09:44
spmmwhudson: \o/09:45
jelmermwhudson: re09:46
jelmermwhudson: what's the keyerror?09:47
jelmermwhudson: still there?09:59
mwhudsonjelmer: https://code.edge.launchpad.net/~kiko/linux/2.6.3110:00
jelmermwhudson: is the fetch interval 1k revisions or 5k ?10:00
mwhudsonjelmer: 10k10:01
jelmermwhudson: but yeah, restarting it would probably be a good idea10:03
parthmlifeless: i responded to you on no-chown-if-bzrlog-exists about 30min ago but somehow my response hasn't shown up on the merge proposal10:15
* mwhudson starts https://code.staging.launchpad.net/~vcs-imports/linux/trunk again10:16
parthmlifeless: i ran all the failed tests and didn't see any issues. its weird.10:16
lifelessparthm: ok, its not your branches issue; however it is failing somehow on pqm; have you run all the tests?10:16
mwhudsonexcept, not on stagin10:16
parthmlifeless: i usually run bb and a subset of bt as results get lost in "error: can't start new thread". those were passing. i am running the full suite now. nothing suspicious yet.10:18
lifelessparthm: if you do10:19
lifelessbzr selftest --list-tests10:19
lifelesspartition that list into (say) 1010:19
lifelessand use --load-list to load each partition in series, you may have more luck10:19
lifelessparthm: what OS are you on ?10:19
parthmlifeless: yes. that might work. because when i ran failed (memory/new thread error) tests individually they tend to pass.10:20
parthmlifeless: i am on ubuntu 9.10. 1GB memory.10:20
lifelessinteresting, I wouldn't have expected isues there10:23
lifelessparthm: you could also try10:23
lifelessselftest --parallel=fork10:23
lifelessbut you might not have enough cpu's to get a large enough partition to avoid the thread issue10:23
parthmlifeless: i am already using --parallel=fork. i have 2 cpus ... maybe it time to upgrade :)10:24
vilaparthm, lifeless : indeed 2 is often not enough to work around the thread/socket leaks10:39
parthmvila: i have taken the results of --list-only as suggested by lifeless. that seems to be working out ok but i think it will take some time to run :)10:41
vilaI should find that script I wrote long ago selftest-run-by...10:43
parthmvila: sounds useful. for now i just used my vimfu + regex to make a simple sh with one line for one test class. maybe your script can go in bzr/contrib?10:44
vilaparthm: selfest-by-n: http://paste.ubuntu.com/419750/10:45
lifelessvila: so what is this thread leaking thing10:45
vilalifeless: basically python SocketServer is not safe to run in the same process as the client10:45
lifelesswhy not10:45
vilalifeless: ha !10:46
vilalifeless: something related to the way python polls for socket10:46
vilasockets10:46
spivLast time I tried digging into it tests using the smart server seemed to be at least part of the issue, at least judging from the concurrent access to log file warnings.10:46
spivBut I might be wrong.10:46
vilaspiv: *any* server test using SocketServer10:46
lifelessvila: this is interfering with various people; others don't see it.10:46
lifelessspecifically I've never seen it, and PQM seems immune.10:47
spivvila: the smart server code doesn't use SocketServer10:47
spivlifeless: FWIW, I see it :(10:47
lifelessso I am curious whether the analysis is actually complete10:47
* spiv -> afk10:48
vilalifeless: well, feel free to dig yourself, but I've digged it enough to be sure10:48
lifelessvila: I don't see it10:48
lifelessvila: hard to dig when you don't suffer it at all.10:48
vilalifeless: sure10:49
lifelessvila: do you think you could create a synthetic cause-the-problem example ?10:49
vilano10:49
lifelesslike a tiny test case that starts a server, does a get, stops it, and we populate 10000 of the same test case into one suite10:49
vilabut forcing the test servers to shutdown were making it more obvious last time I worked on the subject10:49
vilaOSX, FreeBSD, gentoo reproduce it with reasonable success10:51
vilaso to speak10:51
vilayears ago we were retrying operations on socket not available in the http server, same root cause10:51
vilalifeless: see bugs #392117 and bug #40574510:54
ubottuLaunchpad bug 392117 in ubuntu "The application Run Command Interface (krunner) crashed and caused the signal 6 (SIGABRT)." [Undecided,New] https://launchpad.net/bugs/39211710:54
ubottuLaunchpad bug 405745 in bzr "blackbox.test_check.ChrootedCheckTests.test_check_missing_branch hangs on AIX" [Medium,In progress] https://launchpad.net/bugs/40574510:54
vilabah bug #39212710:54
ubottuLaunchpad bug 392127 in bzr "selftest fails with "can't start new thread"" [High,In progress] https://launchpad.net/bugs/39212710:54
vilalifeless: also lp:~vila/bzr/405745-http-hangs    and  lp:~vila/bzr/392127-thread-leak for some wip10:55
vilalifeless: common symtoms include: test server hangs, uncaught exceptions in server threads10:56
vilalifeless: next try will be to start with wrapping threads to propagate/report/catch exceptions10:57
jelmermwhudson: I think disabling the fetching in batches for git would actually be possible now10:59
jelmermwhudson: and improve performance significantly10:59
mwhudsonjelmer: memory usage doesn't grow?11:01
jelmermwhudson: nope11:01
mwhudsonjelmer: anyway, file a bug maybe?11:01
jelmermwhudson: sure11:01
mwhudsoni'm going back to the hotel now, might be biab if the internet is working there tonight11:02
jelmermwhudson: sorry about this, I realise you've put quite some work into the incremental fetching11:02
jelmermwhudson: I just didn't expect bzr-git fetch to get so much better this quickly11:02
lifelessvila: what I'd most like is something that is dedicated to provoking it11:02
lifelessvila: if it is a python upstream issue that will let us file a bug11:02
mwhudsonjelmer: :-)11:02
lifelessvila: if its not, then its something that I can hopefully trigger the issue with and help fix it11:03
vilalifeless: I've never been able to track it down (or reduce it) to test simple enough to point a finger at python11:03
vilalifeless: I suspected it for a long time, but I'm now convinced that the problem is more in a bad use of SocketServer (except for spiv remark above for which I don't have a good explanation, but I haven't dug that yet)11:04
parthmvila: i can't seem to get the script command right. "./selftest-by-n.py --in-tmp ~/tmp --number 20 --starting-with tests.txt" ?11:08
parthmvila: tests.txt is the list of tests e.g. bzrlib.tests.blackbox.TestXXX.test_foo etc.11:08
vilalifeless: basically, there is no guarantee that the socket state is coherent (inside the same process) between a server and a client (I don't remember the exact details from the top of my head)11:09
vilaparthm: hmm, let me see11:09
vilaparthm: my .bash_history says: selftest-by-n.py --load-list --number 1000 all.tests11:10
vilaparthm: where all.tests has been produced by a previous 'bzr selftest --list >all.tests'11:11
vilaparthm: BZR_PLUGIN_PATH=-site may be needed too11:11
parthmvila: weird. it prints out ": No such file or directory"11:13
vilaparthm: and 'selftest-by-n.py -n 1000 all.tests' ?11:14
parthmvila: that produces "ERROR: Unkown test runner". i think its looking for --starting-with option.11:15
vilaparthm: selftest-by-n.py --load-list --number 1000 all.tests seems to work here11:15
parthmvila: weird. I get ": No such file or directory". i will try some more. I also did a sys.path.append with my bzr branch near FIXME in the script. same error with/without it.11:17
vilano such file for what ?11:18
lifelessvila: but there are separate fds for each end of the socket11:19
lifelessvila: and the OS is what keeps things coherent11:19
vilathe sys.path.append shouldn't be needed, we call './bzr' in a subprocess anyway11:19
lifelessvila: we really do a 'make it happen' script.11:20
vilalifeless: geee, of course, I've fought for that since the beginning !11:20
lifelessvila: since you can make it happen, try:11:20
vilaENOTYET :-(11:20
lifelessdef load_test(tests, _, _):11:21
a212901390231901sorry parthm, seems my screwup got blamed on your branch11:21
lifeless    return TestSuite([tests[0]]*1000)11:21
lifelessclass breaks(TestCaseWithTransport):11:21
lifeless    def test_hurts(self):11:21
lifeless        self.transport_server = http11:21
parthmvila: got it. all.tests needed a little preprocessing. basically removed (.*) from end of --list-only names and ran through uniq11:22
parthmvila: works nicely. thanks.11:22
lifeless    get_transport(self.get_url('')).has('something')11:22
lifeless-done-11:22
parthma212901390231901: np :)11:23
vilalifeless: I really can't work on that *now*, but as far as I recall, the lp:~vila/bzr/405745-http-hang was failing with python2.4, you may be able to reproduce from there11:25
vilalifeless: on Ubuntu that is11:26
cody-somervillewtf. bzr diff is giving a completely incorrect patch12:37
fullermdIt's just seeing if you're paying attention.12:37
cody-somervillelol12:39
cody-somervillelifeless, any clue why bzr would be doing that?12:40
vilacody-somerville: your hints are a bit sparse... a pastebin maybe ?12:41
fullermdShucks, you broke my concentration; I was getting my clairvoyance all fired up.12:41
vilasorry12:44
cody-somervillevila, I can't seem to browse the branch on launchpad so I can't prove to you the patch is incorrect.12:46
vilacody-somerville: I don't ask for proof (yet :) just evidence to understand *what* is incorrect, different file, path mangled, wrong diff content, et12:47
vilaetc12:47
cody-somervillewrong diff content12:47
vilacody-somerville: plain 'bzr diff' or with some option ?12:47
spivcody-somerville: wrong in what way?12:47
cody-somervillejust bzr diff12:47
vilacody-somerville: standalone branch, checkout ?12:48
vilacody-somerville: is 'bzr st' wrong too ?12:48
cody-somervillebinded branch12:48
vilano 'run bzr update' warning ?12:49
cody-somervilleand the diff is hard to describe why its wrong. Its adding lines that were already there and the context in the patch would result in the patch not apply anyhow.12:49
cody-somerville*applying12:50
cody-somervillenothing is instructing me to run bzr update, if thats your question12:50
vilacody-somerville: do 'bzr revno' and 'bzr revno --tree' agree ?12:50
cody-somervillevila, yes12:51
vilabzr missing ?12:51
fullermdMay want an explicit `missing :bound`...12:52
cody-somervilleI'm afraid if I run more bzr commands, what ever state bzr is in to cause this error will be resolved12:53
vilacody-somerville: yeah, on the othe hand, that's the point :)12:53
cody-somervilleI'd rather get the debug info needed for the bug to be fixed.12:54
vilaWell, I don't have enough info yet to say whether it's a bug or not :-/12:54
spivcody-somerville: make a tarball (including .bzr/repository, .bzr/branch, .bzr/checkout, and the actual workingtree)?12:55
vilaensuring you get the repo if it's shared12:55
cody-somervilleinteresting, bzr export gives me a directory that the patch would apply against12:55
cody-somervilleholy crap12:57
spivSounds like the issue isn't with 'diff' per se, but with the branch you are working on not having the contents you think it does?12:57
lifelesscody-somerville: the problem with 'wrong' is that there are many ways something can be wrong, and usually only one way something can be right12:57
lifelesscody-somerville: so when you say 'wrong', we have -no- idea which of the many forms of wrong has occured.12:57
cody-somervilleloggerhead shows different content for the file12:57
cody-somervillebut if I download the file by clicking 'download file', I get the content I expect12:58
spivURL?12:58
vilaspiv: tsk, you spoil then fun12:58
cody-somervillespiv, Sent you the URL via PM12:59
=== salgado-afk is now known as salgado
cody-somervillelifeless, Indeed. Unfortunately this isn't an easy case of 'wrong' to articulate. The branch in question being Canonical confidential doesn't help.13:02
cody-somervilleHowever, in the case of loggerhead, the last line of the file is missing (but isn't when I download the file).13:03
lifelessis the last line missing a \n ?13:03
cody-somervillelifeless, yes13:04
lifelessplease file a bug13:05
cody-somervillelifeless, on the loggerhead issue?13:07
lifelessyes13:07
cody-somervillelifeless, actually, there is a newline.13:08
lifelesscody-somerville: in both versions?13:08
cody-somervilleholy crap13:10
cody-somervillethis is weird.13:10
cody-somervilleIf I save the file to disk, I get what bzr is saying the file is13:10
cody-somervilleif I open it in firefox and look at the source, I see what I expect13:10
lifelessah13:10
lifelesstry less13:11
lifelessand also remember that browsers have defined eol markers in html docs which are not necessarily whats sent on the wire13:11
cody-somervilleI sorta see what I expect except there is a ^M where I expect a newline at the end of the second to last line.13:12
=== mrevell is now known as mrevell-lunch
lifelessyup13:12
lifelessin which case, I think there isn't a bug13:13
lifelessyou've just got a crap file13:13
cody-somervilleI think there clearly is a bug.13:13
lifelessperhaps in the http/html specs13:13
lifelessgotta run13:13
cody-somervilleThe file was fine though. I dunno how this happened.13:13
cody-somervilleand changing "I'm sorry. You're not authorized to access this page." to "You're not authorized to access this page." seems very odd for a EOL marker issue to cause13:14
MvGHi there! trying to understand bug #370710, I would like to know what consequences can be expected from a call to WorkingTree.set_root_id.13:15
MvGAm I correct to assume that the root ID is stored in the branch, even if I set it via the working tree? What information is associated with that ID, which might break when changing the ID?13:15
MvGIs there a particular reason an upgrade chooses a fixed root id? Wouldn't it be preferable to calculate a hopefully unique ID e.g. based on the revid of the revision with revno 1 or some such? That would give the same id for all branches, and still give different IDs for independent branches.13:15
ubottuLaunchpad bug 370710 in bzr "bzr: ERROR: File id {TREE_ROOT} already exists" [Medium,Confirmed] https://launchpad.net/bugs/37071013:15
cody-somervillelifeless, I got rid of the ^M and bzr is still giving me the incorrect diff13:15
cody-somervillevila, Are you still around to help?13:16
vilacody-somerville: a bit but I need meat to chew13:18
cody-somervillevila, https://pastebin.canonical.com/31047/13:19
cody-somervillevila, https://pastebin.canonical.com/31050/ <-- actual current content of file in tree13:19
vilacody-somerville: both have a final newline right ?13:20
cody-somervillevila, as far as I can tell, yes.13:20
vilaso, given the current content of the file and the diff, I need that content of the file in the branch tip13:22
cody-somervillevila, Sent you link13:23
cody-somervillevila, What I noticed is loggerhead does not show last line of file13:23
vilacody-somerville: urgh, yes13:23
cody-somervillevila, IF you download file and open in firefox, and then click show source the file looks as expected13:23
vilacody-somerville: so at least file a bug against loggerhead13:23
vilabut the diff is weird, it shows the '{% endif %}' *before* the text13:25
lifelesscody-somerville: ^M is CR as opposed to LF, IIRC.13:25
cody-somervillevila, if You download and save to disk, it looks like bzr sees it if you cat the file. If you less it, it looks like how I expect except for an ^M instead of a new line at the end of the second to last line.13:25
lifelesscody-somerville: the line is there, it just looks missing13:25
vilacody-somerville: isn't there a CR somehwere13:25
spivcody-somerville: try 'cat -v', not 'cat'13:26
cody-somervillespiv, That gets me what I see with less13:27
vilacody-somerville: there is a litteral '^M' there13:27
vilathat triggers various display bugs...13:27
spivvila: odd use of the term literal, don't you mean there is a CR byte?13:27
lifelessvila: features :P it is after all how our progress bars work.13:27
cody-somervilleI fixed that issue in the branch tree13:27
cody-somervilleand I still have the issue13:28
lifelesscody-somerville: and you've committed ?13:28
cody-somervilleno13:28
spivcody-somerville: pipe the diff through 'cat -v'?13:28
vilaspiv: yeah, I meant there literraly is a CR there. Is that more correct ?13:28
cody-somervillespiv, that completely changes the output of the patch13:28
spivvila: well, it at least doesn't sound like you are saying there is a ^ followed by a M ;)13:28
vilalifeless: I agree, it's a feature13:29
lifelessvila: literaly can be a superlative, or used when there is doubt that one speaks seriously.13:29
vilaspiv: oh, ok13:29
cody-somervillespiv, https://pastebin.canonical.com/31051/13:29
lifelessvila: I wouldn't use literaly in this context, it was clear you were serious, and literally is a literally terrible superlative :)13:29
vilalifeless: lol,, ok,13:30
vilacody-somerville: yeah, this last diff is correct, so blame the diff viewer you were using ?13:30
* fullermd literally checks for an XKCD ref...13:30
spivcody-somerville: so the change according to that diff is that a CR got changed to a LF13:31
cody-somervilleIt might be a bug in the xfce4 terminal13:31
lifelesscody-somerville: its a feature, all the bits operating as intended. How you got the \r there is a mystery but the rest is totally explicable13:31
spivWell, CR is generally meant to be interpreted by terminals as "move the cursor back to the start of the line", i.e. "carriage return"13:32
vilacody-somerville: yes and no, CR *must* be interpreted as: go to the beginning of line in some contexts13:32
vilablam, stereo effect :)13:32
cody-somervilleSo bzr should probably do what ever the -v does to cat to its output13:32
vilacody-somerville: vade retro satanas, it's not bzr job13:33
spivWell, AFAIK that's the correct diff output; that's the sequence of bytes you'd need to feed to GNU patch to reproduce that change.13:33
cody-somervillehmmm13:34
cody-somervillethere has to be a way to provide a better user experience in this case.13:34
lifelesscody-somerville: I'm still not sure what went wrong; it sounds like you tried to apply a patch to a file you got from your browser, but it didn't work from bzr ?13:35
spivWell, loggerhead seems to have a bug, which doesn't help.13:35
vilayes, use the right viewer, mine displays ^M and don't interpret it in that case13:35
lifelessor something like that13:35
lifelessspiv: it does ?13:36
cody-somervillelifeless, nope13:36
vilacody-somerville: but loggerhead should certainly be fixed13:36
lifelessspiv: are you aware that browsers munge \r and \n together ?13:36
spivPerhaps a graphical diff tool like "bzr qdiff" or "bzr gdiff" would show tht more clearly.13:36
lifelessdeliberately13:36
cody-somervillelifeless, I think it might be a bug in gedit13:36
spivlifeless: not really, but I don't see how that explains the absence of the final "{% endif %}" text in loggerhead's annotate view13:37
lifelessspiv: I thought cody was saying that it shows in loggerhead ?13:38
lifeless /ETIRED13:38
lifelesstomrrow13:38
lifelesscody-somerville: if loggerhead or bzr hid the content, please file bugs.13:38
spivlifeless: no, in loggerhead the final line seems to be missing in the annotate view13:38
lifelesswe don't want to mangle stuff, and cat really needs to show the canonical content [by default]13:38
lifelessbut we can record that you had an issue13:39
spivlifeless: at a glance perhaps because the final line doesn't have a newline13:39
lifelessah, 'perfect storm' :P13:39
lifelessgnight13:39
=== mrevell-lunch is now known as mrevell
salgadoI've just got a merge conflict but this time around I was left with just the .BASE and .OTHER files and no original file with inline conflict markers14:08
salgadohas anything changed recently?14:08
salgadoI'm using 2.1.1, btw14:08
vilasalgado: no recent change, what does 'bzr conflicts' says ?14:09
salgadoContents conflict in cronscripts/branch-scanner.py14:10
salgadoContents conflict in lib/lp/codehosting/scanner/branch_scanner.py14:10
salgadovila, I use --lca by default, btw14:10
salgadorenamed:14:11
salgado  cronscripts/branch-scanner.py => cronscripts/branch-scanner.py.THIS14:11
salgadounknown:14:11
salgado  cronscripts/branch-scanner.py.BASE14:11
vilaso you should have a  cronscripts/branch-scanner.py.THIS file14:11
salgadoI do, yes14:12
salgadoI said OTHER but I meant THIS14:12
vilasilly me, of course :-P14:12
vilasalgado: so, presumably the branch you're merging from has deleted these files14:14
vilabut they have been modified locally, hence the conflict14:15
vilasalgado: to resolve you need to either delete the file OR keep it with its modifications14:15
salgadoyeah, I assumed it'd be that but when I checked it was still there14:16
salgadoof course, I checked on the wrong branch14:16
vilapfew, I had a wtf moment...14:16
salgadovila, yeah, so did I when I saw the file was still there.  anyway, thanks for the help14:18
cody-somervilleloggerhead bug appears to already be reported: lp ##38722515:05
vilabug #38722515:18
ubottuLaunchpad bug 387225 in loggerhead "\r line endings poorly handled" [Medium,Confirmed] https://launchpad.net/bugs/38722515:18
vilacody-somerville: well done, did you click the me-too ?15:19
vilacody-somerville: oh yeah, even added a tag15:19
vilanaoki^, bialix: Can you test an alternative fix for bug #523746 from lp:~vila/bzr/523746-difftool-file-names ?15:29
ubottuLaunchpad bug 523746 in bzr "crash with winmerge in cp932 japanese character" [Undecided,In progress] https://launchpad.net/bugs/52374615:30
=== CobaltMike is now known as cobalt_mike
cobalt_mikeDoes anyone have experience building on bzrlib directly? I have a few questions....15:47
=== jelmer is now known as ctrlsoft
maxbcobalt_mike: Better to just ask them16:04
cobalt_mikeAlright, for example, if I want to implement checkout, but I want a hook for every file that's created, am I better off starting with the cmd_checkout class from builtins, or building up equivalent functionality with lower-level primitives like Branch, etc.16:05
cobalt_mikeI'm guessing I'm going to have to add some hooks somewhere, as well...16:05
lfaraoneHow can I include a folder with a git repo in a bzr repository? I'm developing some software to work with git repos (among other VCSs), but when "bzr add"ding the .git/ folder I get "    ... chl = debian_bundle.changelog.Changelog(file=open(os.path.join(test_folder, 'debian', 'changelog'), 'r').read())".16:09
lfaraone    ... chl.full_version16:09
lfaraoneoops, I mean "bzr: ERROR: No WorkingTree exists for "/home/lfaraone/Projects/ubuntu-dev-tools/trunk/uvs-tests/git-test-1/gitrepo/.git/"."16:09
cobalt_mikelfaraone: Not a direct answer to your problem, but I've had to include SCM repositories for testing in SCM repositories before, and I've found it was just easier to store it as a zip or tarball and have the test fixture extract it16:11
ctrlsoftlifeless: do you perhaps have bzr-git installed?16:11
lfaraonecobalt_mike: yes, I do.16:11
lfaraone* ctrlsoft16:11
ctrlsoftlfaraone: that would explain it, that will attempt to use the .git directory16:12
lfaraonectrlsoft: okay. How can I disable the plugin for this repository?16:13
ctrlsoftlfaraone: if the .git directory doesn't have a working tree I would recommend changing it into a bare repository16:13
ctrlsoftlfaraone: you can uninstall the plugin or use --disable-plugins16:13
lfaraonectrlsoft: it does have a working tree as far as I can tell, I just created and committed a few changes into it.16:13
cobalt_mikeAnother question re: bzrlib - what's the right way to initialize a repository? The documentation seems to indicate I should use BzrDir.create, but the builtins use BzrDir.format_registry.make_bzrdir16:18
ctrlsoftcobalt_mike: the first actually creates a BzrDir, the latter creates a format object16:20
ctrlsoftlfaraone: as far as bazaar is concerned this is a nested tree, so it's trying to add it that way16:20
ctrlsoftlfaraone: I think the only real workaround is to remove bzr-git for now16:20
cobalt_mikectrlsoft: errr, right =)... why would I want to create the format object over just building the directory directly? BzrDir.create takes an optional format param16:23
ctrlsoftcobalt_mike: right, so if you want to biuld a repository with a specific format you'd use BzrDir.format_registry.make_bzrdir first16:29
ctrlsoftcobalt_mike: and then pass what it returned into BzrDir.create()'s format argument16:29
ctrlsoftcobalt_mike: if you just want the default format, use BzrDir.create() without specifying the format argument16:30
cobalt_mikethanks!16:30
cobalt_mikemaybe I'll eventually compile my notes into a wiki page about using bzrlib =)16:31
=== kfogel is now known as kfogelunch
=== salgado is now known as salgado-lunch
jannnhey, how to I tell bzr checkout to ignore invalid certificates instead of just erroring out?17:02
cbzdoes anyone here use subversion from bzr? i'm just wondering why the revision numbers in bzr are a lot lower than the revno in subversion17:18
ctrlsoftcbz: bzr revision numbers are per-branch, in subversion they are per-repository17:19
ctrlsoftcbz: if you have bzr-svn installed then "bzr log" should show both17:19
cbzokay - but i assumed after an initial bzr branch command the numbers would match, as at least initially each svn revid would have a bzr revision it maps to17:21
ctrlsoftcbz: subversion doesn't have revision ids17:22
ctrlsoftcbz: it only has revision numbers, and those do indeed map to bzr revids17:23
ctrlsoftcbz: the bzr revno's differ per branch17:23
ctrlsoftcbz: if you e.g. look at "bzr log /trunk" and "bzr log /branches/foo" then revno X may refer to different revisions in both outputs, but the svn revno will be the same17:23
cbzYeah, but i haven't created any more branches. All i've done is a bzr branch svn+repurl17:24
cbzAnd i've got things like revno: 293217:25
cbzsvn revno: 14362 (on /core/trunk)17:25
ctrlsoftcbz: right, so you have more branches in the svn repo17:25
ctrlsoftcbz: unless /core/trunk is the only branch that exists?17:25
cbzoh yeah - i see what you mean.17:25
cbzThanks.17:25
ctrlsoftnp17:25
cobalt_mikeok, next question: I'd like to add hooks to bzrlib to fire whenever a file is created or updated during a checkout/update17:29
cobalt_mikeany pointers on where to start looking?17:29
ctrlsoftcobalt_mike: I don't think there are any hooks that you could use for that yet17:30
ctrlsoftcobalt_mike: see the output of 'bzr hooks'17:30
cobalt_mikeright, I want to add them at the library level (and hopefully contrib back)17:31
ctrlsoftcobalt_mike: jam or vila are probably the best people to talk to about this17:33
jamcobalt_mike: is there a particular difference to what you want to do, vs using a content filter?17:33
cobalt_mikeah, hadn't seen content filters.... reading....17:35
cobalt_mikewell for one, I'm not actually modifying the file, I essentially need to post-process it, but not in-place17:36
cobalt_mikeso I guess I could make a no-op filter that what I needed17:36
cobalt_mikethat ^did17:37
jamcobalt_mike: I think it would be a potential hook point for what you need, but if you have a clear idea of what you would like to see added, I'd be happy to discuss it17:37
=== beuno is now known as beuno-lunch
=== salgado-lunch is now known as salgado
=== kfogelunch is now known as kfogel
=== beuno-lunch is now known as beuno
serviliohi all! is it possible to move a branch into a shared repository and take advantage of the sharing?19:26
servilioI've googled a little bit, but haven't a way to do it so far19:26
jamservilio: 'bzr reconfigure --use-shared'19:26
serviliojam: :O great! thanks!19:27
serviliojam: so I only need to "mv branch repo/" then "bzr reconfigure --use-shared"?19:28
servilioseems to have worked, thanks!19:37
ccxCZhow do I check for uncommitted changes in WorkingTree using bzrlib?19:40
jamccxCZ: tree.has_changes() ?20:18
jamor do you need the specific changes20:18
ccxCZjam: that's it, thanks20:20
jamis there a losa around that can take a look at pqm?20:22
jamI just tried to submit something, and I'm now seeing a webserver traceback on http20:22
a212901390231901erk, hope it's not still my screwup20:22
jamwell, it may have been a race, as now doing a refresh shows things as ok20:23
jamI saved the html just to be sure20:23
jamof course, it isn't *telling* me that my request succeeded / failed20:23
a212901390231901also,20:23
a212901390231901Definitions of losa on the Web:20:23
a212901390231901The nuraghe Losa (in Sardinia, close to the village of Abbasanta) is a complex prehistoric building in the shape of a tholos tomb.20:23
a212901390231901losa?20:23
jama212901390231901: It's a launchpad sysadmin20:24
jamnot sure the exact acronym20:24
Chexjam: ill be with you in a moment20:24
jamthanks Chex20:24
Chexjam: few minutes20:24
jamChex: so no big rush, I filed a bug about the traceback, and it seems to be running. Though it should have given me a "failure" message from the first submission.20:29
rephormatgreetings everyone.20:32
rephormatI am attempting to compile bzr-2.1.0 with python setup.py install, but am getting a gcc failed with exit status 120:33
jamrephormat: do you have zlib1-devel ?20:35
jamand other such python devel packages?20:35
jam(also win32/mac/linux ?)20:36
Chexjam: ok, I can try to look for you now20:43
jamChex: so the first submission seemed to fail without telling me. If you can check the log to see why it didn't send a failure email, I would appreciate it.20:45
rephormatsorry I'm on linux20:46
Chexjam: can you give me the subject line of your submit? makes it easier to find in the logs20:46
rephormatI install python-devel20:46
jamChex:  '(jam) Reduce peak memory usage by 1 compressed text copy during commit in 2a formats.'20:46
jamthough I re-submitted that again with a correct url20:47
jamwhich seems to be running successfully now20:47
jamrephormat: you probably also need to install zlib1g-devel or something along those lines20:47
jamI don't remember the exact name of the package20:47
jamzlib and -dev at least :)20:47
rephormatTHANK YOU VERY MUCH!~20:48
rephormatThast what it was20:48
rephormatok now for second question20:48
rephormatwhat is a good web frontend for bazaar version control system that allows bug reporting?20:49
jamrephormat: Launchpad ?20:50
jamthere is loggerhead to view the branch history, there is some integration with trac20:50
rephormatoh yes of course I love that web interface, but I was hoping for something that I could setup and admin internally20:50
rephormatI have tried bzr-trac, but it requires me to start from scratch20:51
rephormatwhich is kinda strange20:51
jamrephormat: well launchpad is open source, other than needing to rebrand it, you can use it20:51
jamrephormat: 'start from scratch' ?20:51
rephormatI was unable to find a download for launchpad20:51
rephormatI thought you had to use their service20:51
jamhttps://dev.launchpad.net/20:52
jambig link for "Get the source code"20:52
jamAFAIK it is a fairly large bit of software to set up20:53
jamand the images are trademarked20:53
jamhowever20:53
jamI see both:20:53
jamhttps://edge.launchpad.net/bzr-trac20:53
jamand20:53
jamhttps://edge.launchpad.net/trac-bzr20:53
jamthe former being a "complete rewrite" of the latter20:53
rephormatI'm not sure which of those I used...20:53
jamthe latter is the only one I actually knew about20:53
rephormatbut one of them was relatively complex to admin20:53
mkanatjam: The trademark guidelines forbid anybody but Canonical from using the images at all?20:59
jammkanat: I don't really know. I'm not deep in that discussion, its just something I've seen mentioned.21:02
jamI'm certainly not a lawyer21:02
jammy personal impression, is that if you used it in-house only, then you'd probably be fine21:02
jambut once you put it on the web21:02
jamthen you are serving images you don't own21:02
jamhttps://dev.launchpad.net/Getting has some discussion on it21:03
jam"The images/icons are still copyrighted traditionally, to protect  Launchpad's visual identity.  But they're shipped with the code and are  fine to use for development and testing purposes.  Just if you launch a  production server, it needs to look different -- and have a different  name, of course, as "Launchpad" is a trademark.  From our point of view,  we're doing this to improve our hosted service. "21:03
mkanatjam: Okay. I don't see any Trademark Guidelines for "Launchpad".21:08
mkanatjam: Uuuusually that means that anybody could put up a version of the system and call it Launchpad, as long as they didn't put up some *different* system and call it Launchpad.21:09
mkanatjam: For example, Mozilla and GNOME customize the hell out of Bugzilla, and still call it Bugzilla.21:09
mkanatjam: That could just be because we don't enforce the trademark, though. :-)21:10
edgimarIf I've made a commit, and then made additional changes I wanted in that commit, what do I do to get them in there?  Is there a way to 'collapse' commits together?21:15
jamedgimar: are you sure it *really* matters?21:16
jambut anyway21:16
jambzr uncommit; bzr commit21:16
jambzr uncommit = >remove the last commit from this branch's history, but leave the WT unchanged21:16
edgimarjam, ok - I wasn't clear on what uncommit would do to the WT.21:17
jamedgimar: right, it exists to do this sort of thing :)21:17
jambzr uncommit && bzr revert if you really want it all gone21:17
edgimaryou mean all changes since the tip-1 commit, right?21:18
jamedgimar: bzr revert reverts all changes vs the current tip21:21
jamnot just the ones you had uncommitted21:21
jamif you want just those gone21:21
jambzr merge . -r -1..-2; bzr uncommit21:21
a212901390231901jam: is it worth submitting a merge req. shaving four bytes off chk_map.LeafNode? I poked it while doing something else, but don't know if enough are ever created to make much of saving.21:25
jama212901390231901: there are a fair number created sometimes21:26
jamit would probably be worth reviewing21:26
SimonKHas any work been done on any plugins that might support tagging files with labels?21:26
a212901390231901thanks!21:26
mkanatspm: Hey hey. What version of pygments is installed on the codebrowse server?21:38
edgimarone other question: is there an equivalent to mercurial's 'hg incoming' for bzr?  (shows differences between two branches -- i.e. what commits are in one that aren't in another)21:56
krisives-gearboxedgimar: doesn't `bzr missing` do that/21:56
edgimarkrisives-gearbox: indeed it appears to.  Thanks - I hadn't noticed it before.21:57
krisives-gearboxedgimar: np, feel free to read my list http://santiance.com/2010/04/a-bazaar-list-of-things/)21:59
krisives-gearboxerr URL paste fail http://santiance.com/2010/04/a-bazaar-list-of-things21:59
=== salgado is now known as salgado-afk
edgimarok another question: if I wanted, say, to change something about commit rev -3 (in fact I do -- forgot to change my 'whoami' setting), what's the way to do that?22:13
jamChex: any luck? I just submitted another revision, and I don't know whether it succeeded or failed22:20
jamno email22:20
jamno movement on the pqm branch tip22:20
Chexjam: I have 3 patch logs matching that submit subject22:23
Chexyou want to see them?22:23
jamChex: sure22:23
Chexk hang on22:24
edgimarso, I take it there's no easy way to edit an arbitrary commit (i.e. just to change some metadata)?22:26
cbzI don't really understand repositories. What does the last sentence in this mean:22:26
cbz"It is a good idea to create a repository whenever you might create more than one branch of a project. This is true for both working areas where you are doing the development, and any server areas that you use for hosting projects. In the latter case, it is common to want branches without working trees. Since the files in the branch will not be edited directly there is no need to use up disk space for a working tree."22:26
eric_fIs there a good way to do nested trees? Looking to have a top-level project which part of it comes form a separate sub-project.22:27
edgimarWill 'bzr re-sign' change the username used for a commit?22:31
Chexjam: chinstrap:~stasik/isd/22:32
Chexjam: 1st 2 patches that failed are in there, the 3 patch is giving me an error, empty file for some reason.. , checking on the status of bzr-pqm for you now22:33
jamChex: so patch.1271877495.log just say "no such file patch.1271877495"22:34
jamare you sure that's right?22:34
Chexjam:22:36
Chexjam: erm, let me see22:36
Chexjam: yes it is.. so both the 2nd and 3rd patch logfile errored out that way..22:43
Chexjam: and theres nothing exciting in the general pqm.log, either..22:44
jamk22:44
Chexlifeless: when you are available, please ping us losas, the update we did yesterday seemed to cause issues with ubunet pqm22:55
mkanatHuh, I wonder if pygments is not threadsafe.22:58
mwhudson!/22:58
mwhudson!?, rather22:58
mwhudsoni guess it's possible22:58
mkanatmwhudson: I'm doing a really thorough log analysis, so far there's a vague indication that pygments may indeed be the culprit. But I will let you know when it's fully complete, and I'll post it to the bug.22:59
mwhudsonheh, i time "!?, rather" and ubottu sends me a private message23:00
mwhudsontype!23:00
mwhudsonmkanat: ok23:00
jam!?23:06
jamdoesn't seem to if you don't get more verbose23:06
mkanatmwhudson: As a side note, the hung-thread killer needs to be way more aggressive.23:09
mwhudsonmkanat: yeah, probably23:09
mkanatmwhudson: In this log it only kills threads after they haven't responded for like 3-5 minutes.23:09
mkanat(Or sometimes 5-10 minutes.)23:10
lifelessChex: -> lp-code23:13
Chexlifeless: great, thank you23:21
krisives-gearboxedgimar: You can do that by `bzr revert -r 3 myFile` then edit the file and do another `bzr commit`23:41
igcmorning23:46

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