/srv/irclogs.ubuntu.com/2008/06/04/#bzr.txt

beunogot a minute?00:00
jambeuno: adding + and - would be a prereq, I don't know if it sufficient00:00
poolieoh hello jam00:00
lifelessbeuno: sure, what should I look at ?00:05
beunolifeless, have the mockups for loggerhead landed in your email?00:06
lifelessbeuno: newer ones?00:18
beunolifeless, yes, a week ago, max00:19
beunothe diff view, specifically00:19
lifelessthe ones via joey ?00:19
beunoyeao00:19
beuno*yeap00:19
lifelessyes, I have it00:20
beunogood, well, how does it look to you?00:21
jmllifeless: can I merge my loom status branch?00:21
lifelessI am able to tell the red and green apart00:21
beunoah, yay!  :)00:21
beunothanks lifeless00:22
lifelesshowever, I'm only red-green colour insensitive00:22
lifelessthere are emulators for all colourblindness types00:22
lifelessif you haven't, you should simply view the page view them00:22
lifeless*via*00:22
beunoyes, I'll make sure we test it with some tool (GIMP seems to have something that does that)00:22
lifelessbut I think the reason is solely that red is left and green is right00:23
lifelessany change on one side is one colour in that layout00:23
lifelessso you could use one colour 'change from this side'00:23
lifeless:P00:23
lifelessjml: did it get the tick ?00:24
beunohrm, I wonder if it would be too invasive to cross out the actual text being deleted00:24
jmllifeless: it hasn't got any reply yet that I've seen00:24
lifelessI have a queue for loom reviews00:25
lifelesstwo for aaron00:25
lifelessand that one needs its final pass I think00:25
lifelessand 2 pqm branches to me00:25
lifeless*merge*00:25
jelmer'evening beuno, jml, lifeless00:27
jelmerlifeless: any news on bzr-gtk pqm and/or a shallow-branches+bzr.dev merge?00:27
jmljelmer: hello.00:27
beunohey jelmer00:27
jmllifeless: that was the tick right?00:27
lifelessjml: I think thats what I mean00:28
jml:)00:28
=== mark1 is now known as markh
jelmerlifeless: ping01:18
lifelesshi01:19
jelmerlifeless: what's the current status of shallow branches? Planned for 1.7 ?01:28
lifelessjelmer: 1.6 hopefull01:28
lifelessjelmer: igc has posted a merged copy01:29
jelmerlifeless: ah, I must've missed that01:29
lifeless17:28 < igc> current state of merging bzr.dev into the stacked branches loom is now pushed to http://people.ubuntu.com/~ianc/bzr/shallow-branch/01:29
jelmerlifeless: thanks, I'll see if I can get bzr-svn to implement it then or at least cope with the new API :-)01:29
lifelessjelmer: cool01:30
lifelessjelmer: ping me with questions01:31
lifelessjelmer: I'm sure there will be various01:31
jelmerlifeless: will do01:31
jelmerlifeless: also, the bzr-gtk pqm: should I keep asking you about it or would it just be easier to set up something outside of the core bzr infrastructure ?01:35
lifelessI will mail you today a set of questions01:36
lifelessthen you reply and I forward to RT01:36
jelmerlifeless: ah, cool - thanks again :-)01:37
lifelessI've been meaning to make up good answers myself01:38
lifelessbut clearly that isn't working01:38
jelmerah, ok01:40
Pieter"bzr missing" to a launchpad url isn't really fast02:13
jmlPieter: the Launchpad code server is running much slower than normal at the moment. We're trying to fix it now.02:14
Pieterah ok :)02:15
lifelessjml: have you announced this anywhere?02:15
jmllifeless: no. just about to.02:16
lifelessjml: /topic here and /launchpad is my normal first port of call02:16
lifelessjml: as soon as I know there is a problem02:16
=== jml changed the topic of #bzr to: Bazaar version control system | http://bazaar-vcs.org | please test 1.6beta1 | http://irclogs.ubuntu.com/ | http://planet.bazaar-vcs.org/ | bazaar.launchpad.net running slower than usual, we're fixing it now
lifeless(also, put it at the left, GUI clients hide the right hand edge)02:21
=== jml changed the topic of #bzr to: Bazaar version control system | http://bazaar-vcs.org | please test 1.6beta1 | http://irclogs.ubuntu.com/ | http://planet.bazaar-vcs.org/
thumperigc: ping02:53
=== gotgenes_ is now known as gotgenes
igchi all03:58
igcthumper: pong03:58
thumperigc: quick call?04:11
igcthumper: sure04:11
igcskype is ok if you wish04:11
lifelessjam: still here?04:14
lifelessjam: why would cvsps-import hang on 'creating a dump'04:14
lifelessstracing the cvps process its stuck in read(), cvs is stuck in select ..04:15
jamlifeless: I couldn't tell you for sure, if it was up to me, I would run cvsps manually and pass cvsps-import the dumpfile04:30
lifelessI've found it04:30
lifelesswrite(4, "Argument gnash\n", 15)        = 1504:30
lifelesswrite(4, "rlog\n", 5)                   = 504:30
lifelessread(5, "E cvs rlog: Logging gnash\n", 4096) = 2604:30
lifelessread(5, "E cvs [rlog aborted]: cannot stat /var/lock/cvs/sources/gnash: No such file or directory\n", 4096) = 8904:30
lifelessread(5, "error  \n", 4096)              = 804:30
lifelesscvsps doesn't handle rlog failures04:31
lifelessat least the version on tungsten04:31
lifelessI'm going to fix the modules file and note this somewhere04:31
lifelessfor cscvs when we get a cvs tarball it manually creates a clean cvs configuration04:31
lifelessI think cvsps-import needs to do the same04:32
lifelessjam: I have another question now though :P04:33
lifelesshave you seen04:33
lifelessrequest for non-existent rev 1.6573 in file ChangeLog04:33
lifelessbefore ?04:33
lifelessthere is such a version04:34
lifelessat least in the commit info metadata04:34
lifelessand in the main content too04:35
jamlifeless: is the content considered deleted, etc though?04:36
jamor is there a Attic file hiding somewhere?04:36
lifelessdo you mean is it flagged -k ?04:36
lifelessthis file is not in the Attic04:36
lifelessnor is it shadowed in the attic04:36
lifelesscorrupt  ~/.cvsps/#home#bzr_conversion#conversions#gnash#gnash-cvs#gnash file04:38
lifelessand here I thought cvsps was stateless; its not! hahaha cscvs sounds more and more attractive to me ;P04:39
bob2haha04:40
jamlifeless: Well, if it had been public, and someone else had been willing to work on it, I probably wouldn't have used cvsps either04:40
jamthis stuff was started 2-ish years ago04:40
lifelessI know :)04:40
lifelessI wasn't intending criciscm04:41
lifelessspiv: is there a urlutils.unescape that doesn't go to unicode?04:54
lifelessspiv: I really want to just unescape :P04:54
lifelessnvm, I'll use urllib directly04:55
=== BasicPRO is now known as BasicOSX
* igc pick up kids05:43
poolielifeless: hi, still around?06:43
lifelessyes the diet hasn't worked yet06:44
poolieheh06:44
pooliei'm i'm working on test_get_texts_eol_variation again06:44
poolieit's failing in a way i don't remember seeing last week06:46
pooliehttp://pastebin.ubuntu.com/16771/06:46
poolieyou don't need to work on it i think i just need a teddybear06:47
* abentley has disconcerting visions of poolie using lifeless as a teddy bear06:49
pooliehm ok maybe it's losing a line-ending therefore the serialized form is wrong06:49
lifelessthat indicates that a full text or delta was written as06:54
lifelessprefix\n06:54
lifelesscontent06:54
lifelesssuffix\n06:54
lifelessone likely cause is the initial bug: a basis text with an unchanged line doesn't have the \n for the internal canonical form and thus is copied across corrupting the full text at a snapshot point06:55
poolieright06:56
poolieso taking out the cleanup_eol call, as my original patch was going to do06:56
pooliedoes fix that, but causes some failures in TestKnitMerge, a bit surprisingly06:57
pooliemaybe also due to aliasing bugs...06:57
lifelesswhat are the failures? incorrect assignment of annotations?06:59
igclifeless: I need your help if you have a moment. See http://rafb.net/p/Th8E4140.html07:01
igcThat's the source of the broken test07:01
poolieah ok07:01
poolieit's doing an annotation-based knit and the final newline is incorrect07:02
igcbasically get_ancestry (revision_id) was throwing NoSuchRevision and I need to do the same in your replacement code07:02
igclifeless: if found_ids is the empty set, can I then raise NoSuchRevision?07:04
lifelessigc: thats what was coming to my mind07:04
lifelessigc: please be sure to commit this to the appropriate thread, not just the top of the stack :)07:04
poolieyay07:04
igclifeless: of course07:04
lifelesspoolie: found a matching bug elsewhere?07:04
poolieyep, similar bug in handling annotated content07:05
lifelessigc: ;) as you haven't been working with looms I'm being cautious is all07:05
igclifeless: no problems. I'll try that anyhow.07:05
igclifeless: no luck with that ...07:15
lifelessigc: what thread is this?07:16
igcboth found_ids and result_set = frozenset(['pizza'])07:16
lifelessis pizza what is meant to be missing?07:16
igcStackableBranch07:16
igcyep07:16
igcit's the revision-id :-)07:16
lifelessok07:16
lifelessyou need to unpack that _breadth_first_searcher use07:17
lifelessthere are two next() methods on BFS07:17
lifelessone returns the ids07:17
lifelessone checks for ghosts and returns (present, absent)07:17
lifelessyou need to use the latter for the first step07:17
lifelessand then you can switch back to the former for the rest of history07:17
igcwhat's the chain(*...) about?07:17
lifelesspydoc itertools.chain07:18
igcI read that07:18
lifeless:)07:18
lifelessok, uhm, at this point I think its easier for me to do it07:18
poolieupdate for #234748 sent if someone wants to look at it07:18
lifelessor at least, I can't do what I need to do know if what I've described isn't enough for you to be unblocked07:18
lifeless(my head is full of cotton wool - ask jml what I sounded like on the phone)07:19
igclifeless: no - I'll do it07:19
igcyou're busy enough07:19
jmlhmm. pizza *is* missing.07:19
lifelessbasically for the first step use the more complex api on the searcher07:19
igcok07:19
lifelessif you get a ghost back raise07:19
lifelessthen you can use the pithy logic for the rest07:20
igcok07:20
poolielifeless: would you please send your 'add_lines' patch to pqm, it looks good to me too07:22
lifelesspoolie: I was expecting you to merge it into your branch07:22
lifelesspoolie: because my fix wasn't necessarily good standalone foo; and they are really about the same stuff07:22
poolieoh ok07:23
pooliei can do that07:23
lifelesse.g. I have a hacky workaround07:24
lifelessthe test in mine is good to have, the extra assertion is good, but the07:24
lifelessif thing not ending in newline give it one07:25
lifelessthat code shouldn't have to exist07:25
lifelessjml: is tonight or thurs better for you ?07:25
jmllifeless: tonight has become impossible since I wrote the email.07:26
lifelesssadness07:26
pooliesnort07:26
poolie(not at you)07:26
lifelessalso, ECHANNEL, fixed07:27
poolielifeless: ok i merged your change into mine07:40
lifelesscool, thanks07:41
poolieevery thing passes07:41
poolieum07:41
lifelessand you removed that hacky thing of mine ?07:41
pooliei think the situation i was just talking about before will obviate the need for the "add a newline back in"07:41
poolienot yet07:41
pooliewould like to, i agree it's gross07:41
pooliecan you read my patch and see if you agree it will do instead?07:42
lifelessurl?07:42
pooliehttp://bundlebuggy.aaronbentley.com/request/%3Ce01316480806032317p11b6b885n396cb037dc55c001%40mail.gmail.com%3E07:44
lifelessjml: latin login support for hardy: https://edge.launchpad.net/~lifeless/+archive/+builds07:45
lifelesspoolie: your XXX: in check will spuriously conflict with my mega branch07:46
pooliekk07:46
jmllifeless: sweet.07:46
pooliewell it should be easy to resolve :)07:46
* jml corrects himself07:46
jmllifeless: bonus!07:46
lifelessridere ex07:47
lifeless(ewww, I know thats wrong)07:48
lifelesspoolie: did you ring me?07:51
poolienup07:51
lifelesspoolie: the reasons are not historical, they are current07:59
lifelesspoolie: the reason is that this layout is the internal form used on disk by knits, so its more efficient to keep it in this form during all transformations until we need to hand it to a user07:59
lifelesspoolie: your repr is buggy; if you really want a naked except be sure to not catch KeyboardInterrupt and SystemExit, but I question wanting that at all08:00
lifelesspoolie: finally, yes I think you should be able to remove my hack with your patch present08:01
lifelessthough I wonder perhaps if we're unwinding a performance tweak (presumably johns, he was focused on annotate) and whether this needs verification in that sense)08:02
poolielifeless: i think naked except doesn't catch them, does it?08:03
lifelessit catches everything08:03
lifelessthe general rule for it is 'it is never correct to use it'08:03
lifelessseeing it -> red flag08:03
jmlexcept when it is :)08:03
jmlbut the flag is still there.08:04
lifelessjml: thats why its a general rule ;P08:04
poolieok, catching Exception lets it pass through but bare except does not08:06
pooliei thought they were the same08:06
lifelessI'm still unclear why you want to catch Exception08:07
lifelesswhat errors are you expecting08:07
pooliei want to avoid an error in repr masking the real underlying exception08:07
spivpoolie: There's a BaseException now08:07
lifelesspoolie: I can't see anything that can error there08:08
pooliethe particular case that has bitten several times is when the object is not fully initialized08:08
pooliefor example if the transport doesn't exist or isn't working yet08:09
lifelesson *KnitAccess* ?!08:09
spivpoolie: it's new in 2.5.  SystemExit and KeyboardInterrupt in particular are now based from BaseException rather than Exception08:09
pooliei sent a patch proposing that we should as a general pattern we should make reprs defensive08:09
poolieit is not about this specific case08:09
lifelessoh08:09
lifelessIt smells to me. I'll need to think about it I guess08:09
pooliei agree that catching interrupts is bad08:10
spivpoolie: the other thing "except Exception:" won't catch is string exceptions.  Bare except always catches everything.08:10
poolieit should at most be 'except Exception'08:10
lifelessit smells to me of bug masking08:11
lifeless(trying to hunt down my dislike of this concept)08:11
jmlpoolie: regarding reprs, another approach is to define a safe_repr method.08:12
spivWell, bugs in __repr__ are generally unimportant bugs.  We use __repr__ for debugging rather than user output (except maybe in bzrlib.errors I guess).08:12
pooliejml, yes, we could call that from code that might be handling broken objects...08:13
pooliespiv, yes, that was my reasoning; i would rather get teh real error and only a faint indication there's a problem in repr than vice versa08:13
lifelessspiv: not bugs in __repr__. bugs in other code, both design and simple omissions etc which don't get diagnosed and fixed as such because they are only percieved as 'makes repr print 'unprintable''08:13
spivIt certainly seems like a poor tradeoff if a bug in writing to a rarely-read log file (the ~/.bzr.log) causes a more serious problem.08:13
poolieperhaps just catching AttributeError would be enough.08:13
lifelessspiv: For me, I'd rather know that something deep is wrong and have to go fix it than have a repr that hides that from me08:14
poolielifeless: well, if the bugs are in the category of "an incompletely initialized object can be seen by other code" it's pretty hard to fix/avoid in python08:14
lifelesspoolie: __init__ is relatively easy to make very robust08:15
spivlifeless: well, in debugging situations you can still sometimes see half-initialised objects.08:15
spivlifeless: e.g. when attaching a gdb, or looking at gc.get_objects() when looking for a memory leak.08:15
pooliewell, those are perhaps edge cases08:16
spivThat said, it hasn't often happened to me.08:16
lifeless I haven't seen it happen ever to me08:16
pooliei guess we could require __init__ always create all attributes with None first before doing anything that could possibly fai08:16
poolieor do them on the class...08:16
lifelesspoolie: does this happen often to you ?08:16
pooliea few times08:16
gourarch08:17
lifelessis it usually on code you are crafting, or when diagnosing an existing bug ?08:17
pooliei have to say the absence of reprs altogether annoys me more than this08:17
gouroops08:17
pooliethe second08:17
pooliehello :)08:17
lifelesspoolie: I think we have quite different debugging styles; this may cause you to want a smoother repr facility08:18
pooliepossibly08:19
lifelesspoolie: also, I'd rather than we make __init__ on objects which are fragile in this way for you be cleaner, than use naked exceptions08:19
pooliei'm not talking about just interactive debugging but also tracebacks and test failures08:19
lifelesspoolie: yes thats the broad category of 'debugging styles' I was referring to08:19
pooliesure, if this ever trips it is in a senes a bug08:20
awilkinsI have some code that enhances the default traceback which I keep meaning to tidy up and submit08:20
pooliehowever, i'm concerned with catching information on first failure as much as possible08:20
poolietherefore catching the most important error08:20
pooliewhich is not really that __init__ has an impossible-to-totally-avoid bug08:20
lifelesswell08:21
poolies/really/usually08:21
lifelessI think there are other approaches to do that08:21
lifelessan object graph walk for instance will gather much more data08:21
lifelessand can be made much more robust in general08:21
lifelessas well as not requiring scatterings of partial-object-dump code in every class08:22
pooliewalking the whole dir() of the classes?08:22
jmlobjgrep ftw!08:23
lifeless(your _KnitAccess repr is IMO hiding import data about its internals such as _need_to_create), and I often find that repr() functions bitrot, which is one reason I rarely add them - I can't depend on them so I don't08:23
lifelesspoolie: e.g. pickle to a text backend08:24
spivExcept that pickle isn't exactly robust.08:24
lifelesswhich can be human read08:24
lifelessspiv: 'e.g.'08:24
spivlifeless: sure, but solutions that are theoretical are less helpful than concrete ones :)08:25
lifelessspiv: well, concretely - walk the __dict__08:26
spiv(pickle in particular is even more sensitive to the exact unexpected-object-state problem than repr)08:26
jameshspiv: you could always post process the pickle into XML08:26
jameshoh wait, this isn't #zope08:26
poolieok this is definitely a difference in debugging style08:26
pooliei am looknig for a hint as to what it is,not the whole details08:26
pooliemwh i think just complained that one of them was very big08:27
lifelessInventory specifically I believe08:27
lifelessit prints its content08:27
lifeless(which I find useful if I am going to poke at an inventory)08:27
spivlifeless: it sounds like you're suggesting an alternative to gathering simple tracebacks.  I don't think that's what poolie is talking about; he's happy with simple tracebacks, he just wants to make sure that generating them doesn't occasionally fall over and lose the original error.08:28
poolienot so good if someone gets a traceback contaninig one on a real tree08:28
lifelesspoolie: I would argue its quite useful actually, it has enough to reconstruct most if not all of the inventory here and check it for consistency08:29
lifelessnot that we've written a parser08:29
spivHaving richer debug tools than tracebacks could be useful, but I think is solving a different problem.08:29
lifelessspiv: sure, but it comes back to debugging style I think08:29
poolie"what poolie is talking about" <-- correct08:30
lifelessso I get that that is what poolie is talking about :)08:30
poolieanyhow...08:30
pooliei agree the bare except is too strong08:30
lifelessand I've already put my vote in which is that I would rather we fix those bugs than add 4 lines of hand holding to every single repr; and if we're going to have repr's as a policy thing, not an occasionally useful thing, thats a whole lotta code08:31
gournix08:31
poolieany other comments on the meet of that patch?08:32
pooliemeat*08:32
* gour has problem switching buffers today08:32
lifelesspoolie: other than what I've raised I think its good08:32
poolieok so08:33
poolie1- correct comment about 'historical reasons'08:33
lifeless2- check with John about performance with this applied08:34
lifeless3-repr mumble mumble mumble08:35
pooliei'll take out the except; i'll leave the repr if that's ok with you08:35
lifelessthats fine08:35
lifelessthank you08:35
=== gour is now known as gour|afk
lifelessugh08:36
lifelessso one way in which check is slow08:36
lifelessis that it appears to check every text weave twice08:36
pooliei think so08:37
lifelessnot your XXX:08:37
lifelessyour XXX: refers to w.check() and for thing in w:08:37
lifelessthere are two code sites calling w.check()08:37
poolieoh well at least twice then08:38
lifelessso there is w.check(), w.check() and for thing in w:08:38
lifelessI think your XXX: is flawed because w.check() and for thing in w: can be different statements of correctness.08:38
lifelessindeed, confirmed08:40
pooliei didn't mean strictly redundant08:40
poolieperhaps that is unclear08:40
lifelessit is08:40
lifelessalso the code doesn't exist anymore here :) not in such a form anyhow08:40
pooliethere is a lot of overlap but not complete overlap08:40
poolieotherwise i would have killed it already08:41
lifelesscheck_one_rev also checks the revision tree08:41
lifelessand the file text scan does that too08:41
lifelesswhich is overlap08:41
lifelessI'll be happy to give that comment a new home08:45
lifelessif you want to make it a bit clearer that would help08:45
lifelesshmm, interesting08:46
poolietbh the only thing i am confident in is that check could be faster08:46
lifelessI get 10 inconsistent parents for a test that wants 9 :P08:46
lifeless:)08:46
lifelessFWIW that comment is in the class of comments I don't make; because folk wanting random things to do go to the bugtracker, and folk optimising generally start with a profile :)08:47
lifeless(But I don't object to them existing, just explaining why I tend not to make them)08:47
poolieok08:48
igclifeless, poolie, jml: rev 3250 of http://people.ubuntu.com/~ianc/bzr/shallow-branch/ now passes all tests08:49
lifelessigc: thanks!. the next thing for that loom is to start peeling off threads from the bottom and updating them with review comments and merging08:50
igcI guess the next step is to break it up into different bits for review?08:50
lifelessigc: it comes pre-broken :)08:50
igctrue08:50
igcI think the bottom one - errors - is already merged08:50
lifelessigc: all the threads up to and includin external_reference_tests should be reviewed-with-comments already08:50
igcah08:51
igcthat's good08:51
igcI'll chase down those reviews08:51
lifelessnote that 'revno' doesn't really apply to a loom, you need the loom's revno, which isn't currently exposed :)08:51
lifelessok, that was weird:08:51
lifeless bzr pull http://people.ubuntu.com/~ianc/bzr/shallow-branch/08:51
lifelesshttp://people.ubuntu.com/%7Eianc/bzr/shallow-branch is permanently redirected to http://people.ubuntu.com/~ianc/bzr/shallow-branch/08:51
lifelessnote the / -> no / -> /08:52
igclifeless: have you already applied the reviewed comments for those early threads?08:53
lifelessigc: I don't believe so08:53
lifelessigc: I was already context switched08:53
igclifeless: so I'm happy to do that but ...08:54
igcI'll then assume someone else - beyond you and I - will review the result08:54
igc(I'm concerned about reviewing my own tweaks to your code if that makes sense)08:54
lifelessif you did the original review I think its fine for me to ack the actual changes made08:55
lifelessit does - bounce them to me for +108:55
igclifeless: so to confirm, I'll do a review of each thread and make the tweaks requested so far and my own08:56
igclifeless: you'll then approve the final result08:57
igci.e. review08:57
igcand merge to bzr.dev08:57
lifelessI'll approve, I'm happy for you to do the merges08:57
igc:-)08:57
lifelessthe less I do until I finish the weave_store removal the better; I'm a single point of effort at the moment08:58
igcnp - I agree08:58
lifelesscheck seems happy now (though I'm sure I have some tests to update :P)08:59
* igc dinner09:00
lifelessspiv: one reason knit reconcile is slow09:08
lifelessspiv: it does list_dir() of the knits tree on every loop09:08
spivlifeless: ouch09:08
lifelesslen(weave_store) -> much IO09:08
lifelessIts the general side effect of len being unclear about implications09:09
lifelessdon't worry, I'm deleting the code :P09:09
spivDeleting code is a wonderful thing.09:10
* spiv heads off for a swim09:10
kumi_Hello. I upgraded to 1.5 and bzr+ssh is broken. I keep getting "The server's host key is not cached in the registry": http://pastebin.com/d52c7ea5b09:25
kumi_Where _is_ the registry? :)09:26
lifelesson linux, ~/.ssh/host_keys I think09:28
kumi_here's the Python traceback in case it's relevant: http://pastebin.com/d17386e09:28
lifeless'registry' is a bit of a vague term, unless its referring to windows, where it may well be in the registry somewhere ( the registry is a windows configuration database)09:29
kumi_I don't see anything in the actual Windows registry09:29
kumi_the install log didn't say it was doing anything in there anyways09:29
kumi_In the previous version I was using, the host keys were in C:\Documents and Settings\user\Application Data\bazaar\2.0\ssh_host_keys09:30
lifelessI'm afraid I don't know enough about windows ssh stuff these days to help you much :(09:31
lifelessis it possible the server's host key changed after the recent ssl issue on debian machines?09:31
kumi_nope09:32
lifelessigc: errors is indeed merged - you can tell because diff -r thread: -> empty09:32
kumi_in the previous version, bzr gave a nice informative error if the key was missing from ssh_host_keys. It told you to "try editing c:\document settings\etc"09:33
kumi_this is rather cryptic09:33
lifelessplease do file a bug09:33
lifelessI completely agree09:33
kumi_OK :)09:33
igclifeless: does that mean I can switch to that thread (errors) and simply 'bzr combine-thread'?09:34
lifelessyes09:34
igclifeless: Can I then just 'bzr record' or should merge up and record at the top?09:35
igc(still trying to work out exactly when record is required)09:36
lifelessigc: you record before you push09:36
lifelessigc: probably in this case you would do a whole bunch of work and changes ;)09:37
igclifeless: thanks. record-before-push is easy to remember :-)09:38
* igc really heads to dinner now09:38
kumi_bug filed https://bugs.launchpad.net/bzr/+bug/23729709:55
ubottuLaunchpad bug 237297 in bzr "Win32: The server's host key is not cached in the registry" [Undecided,New]09:55
lifelessthanks09:55
lifelesswell I'm signing off09:55
kumi_have a good one09:55
lifelesscurrently working on fetch using the new apis09:55
=== gour|afk is now known as gour
=== cprov is now known as cprov-lunch
=== thekorn_ is now known as thekorn
siretartjames_w: woah, `bzr bd --merge svn+ssh://svn.debian.org/svn/pkg-multimedia/unstable/ffmpeg/debian` is working now. that's what I call cool! :-)12:42
james_wsiretart: yeah!12:43
james_wsiretart: do you need --merge?12:43
siretartyes, I do need --merge. but most probably because svn:mergeWithUpstream is not set on svn+ssh://svn.debian.org/svn/pkg-multimedia/unstable/ffmpeg/debian12:43
james_wah, ok.12:44
siretartjames_w: btw, I just uploaded 0.95 to unstable12:44
james_wthanks :-)#12:44
siretartsorry that I missed your mail that time on the mailing list. I really should have uploaded it faster12:45
james_wno problem.12:45
siretartthat's just too cool! :) - will save me tons of time in the debian games team12:45
=== gour is now known as gour|lunch
=== gour|lunch is now known as gour
awilkinsGah, this doesn't make sense : I "bzr send"ed a bundle from my work desktop to home14:46
gourohh no, svn-1.5rc9...what the hell are they doing with 1.5 release14:55
* gour is eager to see svn-1.5 to avoid patching old one for bzr-svn14:56
TFKylegour: you could use one of the rc's or the svn svn :)15:03
gourTFKyle: lazy15:04
gourrc8 was supposed to be last one15:04
pickscraperc1 was supposed to be the last one :)15:05
gourbtw, bzr-gtk-0.95 was not released?15:05
awilkinsOk ; I committed a revision to a branch which is now one revision ahead of it's sibling ; I bundled that revision but it refuses to merge with the one-less-revision sibling15:05
awilkinsIt says "bzr: ERROR: Revision {('adrian.wilkins@gmail.com-20080604133624-ybwe2ll9qc0x3vyt',)} not present in "<bzrlib.knit.KnitGraphIndex" ... but the revid it's quoting is the tip revision from the bundle....15:06
awilkinsThe bundle correctly marks the parent revision as the same revid as the tip of the target... what's wrong ??15:08
gourpickscrape: something wrong with their workflow? maybe they should change VCS15:08
gourawilkins: have you checked bugs at LP?15:11
james_wawilkins: there is a bug that gives that error message15:15
james_wit's to do with mixing knit and pack repos IIRC15:15
awilkinsjames_w: They are both rich-root-pack15:17
james_wprobably not that then15:17
awilkinsThese are branches which are usually bound to my USB thumb15:17
james_wcan you reproduce with two dummy branches?15:17
* awilkins has a go15:17
awilkinsThey are identical apart from this last revision15:17
awilkins(well, should be)15:18
james_whttps://bugs.edge.launchpad.net/bzr/+bug/17787415:18
ubottuLaunchpad bug 177874 in bzr "upgrading to rich-root-pack fails" [Critical,Fix committed]15:18
james_wthat's the one that I was referring to.15:18
awilkinsThey started rich-root-pack because they are bzr-svn branches15:18
awilkinsYup, reproducible, but I'm fairly sure the use case should work15:21
awilkinsI'm being *slightly* unorthodox with the way I'm constructing my bundle15:22
awilkinsPossible15:22
james_wwhat's the command line you used for send?15:22
awilkinsbzr send . -r -2.. --mail-to me@me.com15:23
james_wyeah, I think that's going to cause you trouble15:23
james_wusing "." for submit branch is probably the cause15:24
james_wand I'm scared by "-r" to send as I know that it can often lead you to believe you are doing something that you aren't15:24
james_wbzr branch . ../xxx -r -215:25
james_wbzr send ../xxx --mail-to me@me.com15:25
james_wwill probably get you the bundle that you want.15:25
awilkinsI'm going to do it and run the bundles through diff to see what changes15:25
awilkinsI still think mine should work.... saying "I don't have that revision" is true... BECAUSE IT's the frickin revision I want you to pulll.....15:26
awilkins:-)15:26
jelmergour, the next version of bzr-svn will hopefully come with its own bindings for subversion15:30
jelmerawilkins: I started working on a branch of bzr-svn that uses C bindings rather than pyrex ones15:31
awilkinsjelmer: Yipe15:31
awilkinsjelmer: Are they any easier?15:31
jelmeryep, the bindings themselve are done now15:32
jelmerNow working on fixing the remaining bugs15:33
awilkinsOooh... bugs in the bindings, or the Python?15:33
awilkinsAnd do they work for 1.46?15:33
awilkinsjames_w: That bundle differs by timstamp, target_branch and a large chunk of base6415:33
jelmerbugs in the bindings15:34
jelmeryes, they work with 1.4.6 out of the box15:34
awilkinsGroovy ; let me know when you have a public branch and I'll test them on Win32 for you15:34
jelmerwil do, thanks15:35
gourjelmer: great news! depending on svn is...well..15:35
james_wawilkins: the base64 is the revision data, is the change addition of lots of it in the new version?15:35
jelmergour, there will still be a dependency on svn itself, just not on a particular version of its python bindings15:35
gourright, that's what i meant15:36
awilkinsjames_w: Yes, the block is substantially longer15:36
james_wawilkins: it probably means that there is actually some revision data in it now, does it work if you pull/merge it now?15:36
awilkinsjames_w: Yes, it pulls perfectly as I would have expected15:36
gourjelmer: any eta?15:37
awilkinsjames_w: I have another case to test...15:37
jelmergour: I suspect a couple of weeks15:37
james_wawilkins: do you understand the difference in changing the target branch?15:38
gourjelmer: around 1.6 ;)15:38
awilkinsjames_w: It doesn't feel intuitive to me that it would behave differently just because I specified the local branch as the submit branch15:40
awilkinsjames_w: I can understand the mechanics of what is happening but not the difference in behaviour.15:40
james_wawilkins: the submit branch is the branch you intend it to be merged in to, by giving it a branch that already has the revision it decides that there are no revisions to send.15:41
=== cprov-lunch is now known as cprov
vilaabentley: Tryibg to trick again ? :) What is your current bzrtools HEAD: http://code.aaronbentley.com/bzr/bzrrepo/bzrtools/ or http://bazaar.launchpad.net/~abentley/bzrtools/bzrtools.dev/ ?15:43
awilkinsjames_w: I suppose what I want is a a way to state "the target is this branch, but at -r -2"15:43
vilaabentley: ghaa, forget the first question, look only at the second :)15:44
abentleyhttp://bazaar.launchpad.net/~abentley/bzrtools/bzrtools.dev/15:44
vilaabentley: good, thanks15:44
james_wawilkins: I think that is reasonable. I don't know if it's currently possible, and if not whether we would want to make it possible.15:45
awilkinsjames_w: I'm used to that sort of thing from SVN merges (which obviously don't have local repositories) where you can always quote a particilar revision in any given location URI15:45
awilkinsjames_w: Which is why I'm being audacious enough to try it here, I suppose :_)15:46
awilkinsI suppose, actually, that would enable it (and probably some other uses) ; being able to specify revision as part of location15:47
awilkinsBut it also makes certain things scarier because of the "local namespace for revision identifiers" paradigm that Bazaar has in contrast to centralised systems15:48
visik7why bzr-svn RevNo ar different from revision number of svn16:48
visik7?16:48
jelmervisik7: bzr revno's are branch-specific, svn revno's are repository-specific16:49
pickscrapeCould someone explain what is meant by the server-side hooks that 1.4 provided initial code for?16:49
visik7I dunno what it means but ok16:49
pickscrapei.e. are they things like pre/post-commit etc?16:50
jampickscrape: there is only really 1, which is a post-changed-branch-tip16:50
jamwhich should fire for push/pull/update/commit16:50
jambut it is a Post fire16:50
jamnot a pre16:50
pickscrapeSo there's no way to (say) run a checker before the commit is allowed to take place?16:51
pickscrapeOne thing we do now (with svn/svk) is run php -l on all files affected by the commit to ensure that they all parse before the commit is allowed to take place.16:51
jelmervisik7: In subversion you have multiple branches in one repository16:52
statikawilkins: thanks for the patch on bzr-gtk bug 221414. are you planning on submitting a merge request for it?16:52
ubottuLaunchpad bug 221414 in bzr-gtk "gcommit: unknown error "float division"" [Undecided,New] https://launchpad.net/bugs/22141416:52
jelmervisik7: and the same namespace for revno is shared between the branches in that repository16:53
jampickscrape: afaik, there is no way to do that server side, it isn't hard to do client side16:54
jamor via a bot which commits to the mainline16:54
pickscrapeLike PQM?16:54
jampickscrape: right, though you could have much simpler requirements depending on what you need16:54
jamcertainly if people aren't using checkouts, server-side hooks don't help them either16:55
jam(if they are only committing locally)16:55
pickscrapeNo, that's true too. Most people will be using checkouts, but it can't be depended on.16:55
Pieterwhooo16:55
jamhi Pieter16:55
Pieterbidirectional git<->bzr syncing16:55
Pieterit works!16:55
Pieter;)16:56
visik7jelmer: in subversion ?16:56
pickscrapeI was thinking of writing a custom plugin for our internal use whicch would do things like that.16:56
jampickscrape: that would certainly be my recommendation16:56
jamif you wanted, the plugin could even 'auto-update' itself16:56
pickscrapeWe're also wanting commits to mainline to fire off a continuous integration system too. I should read on up what PQM can do really.16:56
visik7another thing that I've not undestood is why a pull doesn't work after bzr branch of an svn repo16:56
jampickscrape: well, the post-branch-tip-changed hook can  be set up to fire a CI without much difficulty (I assume)16:57
jamPQM is meant as a "before this gets integrated" not a "check after the fact"16:57
jamperhaps subtle, but means that bzr.dev *always* has all tests passing16:57
pickscrapejam: I was hoping to be able to use the plugin manager plugin that has been talked about recently to handle keeping the plugin up to date16:57
jam(at least on the PQM platform)16:57
pickscrapejam: Ah, I see...16:58
jampickscrape: you probably could, but I think that means users need to run "bzr update-my-plugins" rather than having it "forced" on them by your plugin16:58
jamor maybe... encouraged :)16:58
jelmervisik7: yes16:58
pickscrapeMaybe our plugin could auto-update all of their plugins for them :)16:58
jampickscrape: certainly16:59
jamIf you had it check every 1hr/1day or so, it wouldn't even really get in the way16:59
pickscrapeYeah16:59
=== kiko is now known as kiko-fud
j^is there a way to setup a shared repository that does not require shell accounts? sftp and bzr+ssh depend on that as far as i can see17:57
james_wj^: hi, you can serve your branches over plain http18:02
james_wif you want to give write access then ssh access is the easiest, but you can do it over http as well.18:02
j^james_w, if i want someone to push changes?18:02
j^ssh is easy, i just dont feel comfortable to give full shell access just for bzr18:04
james_wis it an open source project?18:05
j^not right no18:06
j^w18:06
j^otherwise i would just make read only public18:07
j^just thought there might be something as easy as setting up svn via https and htpasswd18:08
james_whttp://doc.bazaar-vcs.org/latest/en/user-guide/index.html#serving-bazaar-with-fastcgi18:08
j^thats read only?18:12
james_wno, that should allow read-write18:17
=== strk is now known as strk_off
j^just that the guide says "you want to provide read-only ..." will give it a go18:18
j^or look at ssh > 4.8 with chroot sftp support18:19
james_w8.4.5.1   Pushing over bzr+http://18:26
jamj^: or you could set up the 'authorized_keys' file so that only 'bzr' can be run18:27
jamthere is a 'contrib/bzr_access' script that can expose only a chrooted bzr via ssh18:28
jamyou basically just add a 'command=XXX' to the beginning of the authorized_keys line18:28
Pieterjames_w, igc: I'm trying to make bzr-fast-import incremental. Sort of like the id-map, but then that it doesn't skip revisions18:55
PieterAlso, I want it to take the same input as bzr fast-export outputs18:55
james_wPieter: great! That would be fantastic.18:56
james_wI thought it did already, am I missing something?18:56
Pieterbzr-fast-export adds a header18:56
Pieterthat's why import can't read it18:56
Pieterand bzr-fast-import, if it uses the revmap thing, still expects the commits on the stream, but just skips them18:57
Pietermy exporter won't export them, so it can't skip them18:57
Pieterso I want to perhaps add a --import-marks and --export-marks to bzr-fast-import, but without changing too much code18:57
=== kiko-fud is now known as kiko
=== mw is now known as mw|food
j^jam, do you know of a version of bzr_access that works, the one in bzr.dev will always give permission denied19:16
j^since it requires a request != / while ssh will always send only /19:17
=== mw|food is now known as mw
vilaHas anyone ever tried to import a plugin from another plugin ? What are the rules ? How is the import order defined ?20:09
Jc2kvila: bzr-svn uses bzr-rebase in its svn-upgrade command20:11
vilaJc2k: thks, will have a look (I don't use bzr-svn nor bzr-rebase though :-/ )20:12
jelmervila, you can simply import "bzrlib.plugins.otherplugin"20:13
vilajelmer: simply... yes... why not ? :-)20:14
vilajelmer: thks20:14
Pieterjames_w: I'd like to extract the import/export mark code20:16
Pietereh20:17
Pieternvm20:17
=== kiko is now known as kiko-afk
jelmeris there some way to upgrade a read lock to a write lock?20:25
jelmerI need to modify the source branch from a push hook20:25
=== gour_ is now known as gour
yaccHmm, how can I add a file to .bzrignore "dynamically" inside a plugin.20:28
pickscrapeI'd look at the ignore command code for that20:33
beunoyacc, well, you could *just* append to the file20:34
pickscrapeOne problem I noticed with the ignore command, was that if you ignore something you've already ignored, it appends anyway.20:35
beunopickscrape, that sounds like a bug20:37
pickscrapeSomething else that worries me is that bzr doesn't seem to mind if you push over a shared repository20:38
james_whi beuno20:38
beunohowdy james_w20:38
james_wyacc: when I had to do this appended a line to the file. It would be great if bzrlib had a better API for this.20:38
yaccbeuno, yeah, but that would get commited, right?20:38
beunoyacc, it would get committed anyway20:39
yaccjames_w, I don't want the fact that these files get ignored to get recorded.20:39
beunowell, ignore .bzrignore  :)20:39
james_wyacc: ah, you just want it while the plugin is doing its thang?20:39
yaccjames_w, exactly.20:39
beunopickscrape, could you report the bug about a file getting added even though it's already being ignored?20:40
james_wyacc: I think there is something in bzrlib for that.20:40
pickscrapeCertainly20:40
beunoyacc, interesting use case  :)20:40
james_wyacc: add_default_ignore() or something similar.20:40
yaccjames_w, any hints for google keywords?20:40
james_wyacc: I think grep would be more successful, but I may be wrong.20:41
yaccjames_w, probably right.20:41
james_wyacc: add_runtime_ignores20:41
james_wbzrlib/ignores.py20:43
yaccbeuno, you don't want to know what the use case is ;)20:44
ja1j^: hm... I had used it before merging, it seems something funny is happening here20:44
ja1j^: I would probably simplify it a lot, since (as you say) path is always '/'20:45
=== ja1 is now known as jam
newz2000I'm having a problem committing because of a problem with gpg but I can only reproduce it while using bzr http://pastebin.com/d3479c44e20:45
newz2000anyone have a suggestiong that will allow me to commit?20:46
j^jam, removing the check for path != "/" and join (base, path) it works now but yes it could be further reduced and the sample should make clear that one can not provide permissions for paths but just for /20:46
jamnewz2000: you could disable requiring a gpg signature :)20:46
newz2000:-)20:46
newz2000Anything else20:46
jamnewz2000: for starters, you are using the wrong value20:46
jamyou want to have "create_signatures = always" in ~/.bazaar/bazaar.conf20:46
jamsecond, can you paste the traceback in ~/.bzr.log?20:47
jamj^: patches welcome, it is, after all, a 'contrib' item :)20:47
jamSeriously, I'm happy to merge fixes for it, I just don't have time right now to work on it20:47
newz2000jam: bzr: ERROR: Invalid signatures policy 'always'20:48
yaccjames_w, the Wiki page is not uptodate, any docs on how currently hooks work?20:48
j^jam, ok will look into it later this week, will ping you if i come up with a patch20:48
james_wyacc: I'm not familiar with hooks, sorry.20:48
jamnewz2000: really?20:49
jamcheck_signatures = require20:49
jamcreate_signatures = always20:49
yaccjames_w, no problem, I noticed that bzrlib is installed unpacked, so I'll go and read the quality docs :)20:49
jamis what I have20:49
newz2000oh, right, subtle diff20:49
jamand you want to get rid of your check_signatures entry maybe20:50
jamnewz2000: yeah, older versions of bzr had the logic backwards, 'check_signatures' enabled signing for some odd reason20:50
jamwhat *seems* to be happening is that 'gnome-gpg' is returning non zero even if the signature worked20:51
jampossibly because of the agent issue20:51
newz2000http://pastebin.com/d51909c3020:51
newz2000I tried with just gpg instead of gnome-gpg too, same results20:51
jamnewz2000: what happens if you do 'gpg --cl' manually?20:51
pickscrapebeuno: bug 23743820:51
ubottuLaunchpad bug 237438 in bzr "ignore adds to .bzrignore even if pattern is already ignored" [Undecided,New] https://launchpad.net/bugs/23743820:51
newz2000jam it works just fine20:52
jamnewz2000: does it give you the same warning?20:52
newz2000no20:52
jamand what is 'gpg --cl && echo $?'20:52
newz2000oh, it does give the warning20:52
newz2000but it still works20:52
jamnewz2000: so what is the 'echo $?' value?20:52
jamI'm guessing it is non-020:53
jamThere are 2 "fixes"20:53
jamget your agent to work20:53
jamor edit gpg.conf to not expect an agent20:53
beunopickscrape, you rock, thanks!20:53
newz2000I don't see the result of echo $?20:53
jamor some versions of gpg don't actually return non-zero20:53
jamnewz2000: so do your normal "gpg --cl" type stuff, hit ^D20:53
jamit should spit out the signature20:53
jamthen just type20:54
jamecho $?20:54
jamwhich should result in a number20:54
newz2000oh20:54
newz2000220:54
jamnewz2000: 2 != 0 so gpg is complaining20:54
jamsaying it didn't succeed20:54
newz2000http://pastebin.com/d6cf3be6e20:54
newz2000oh nice, I just pastebin'd my email address20:55
jamnewz2000: well, it is already at https://edge.launchpad.net/~newz20:55
jamso it isn't like it is something new20:55
newz2000true20:55
jamnewz2000: so... take your pick. Do you want to get gpg-agent working, or change 'gpg' to not expect it20:56
newz2000I think I want gpg-agent working20:56
jamnewz2000: there is a line in ~/.gnupg/gpg.conf which says20:56
jamuse-agent20:56
jamcomment out that line20:56
jamand try again20:56
jamjust as a first pass20:56
jamgetting agents working is a bit more work20:56
jamoh, and can you give 'gpg --version' ?20:57
newz2000gpg (GnuPG) 1.4.620:57
newz2000this all started because I got mad at gnome and tried to isntall kde4. It was worse so I uninstalled all the packages it installed. Now this.20:57
jamnewz2000: weird, because with 1.4.5 I get:20:58
jamhttp://pastebin.com/mb09cd0a20:58
jamwhich says that it failed to connect to the agent, but still returned 020:58
newz2000that is interesting20:59
newz2000I wonder why we have diff versions of gpg20:59
newz2000are you using hardy?20:59
jamthat is on a different machine20:59
jamactually, I think that one is FC320:59
jamcygwin has 1.4.921:00
newz2000ok, with that commented out I can commit21:00
jamweird, gnome-gpg seems to think it would be using Gnome keyring21:01
jamaccording to jamesh21:01
jamhttp://blogs.gnome.org/jamesh/2006/01/12/gnome-gpg-improvement/21:01
jamnewz2000: if you use gnome-gpg does the commit still work, and it still allows you to save the passphrase in your keyring?21:01
newz2000yes, it did use gnome-gpg in my recent commit and it did not ask me for a password meaning it cached it21:02
newz2000(I have it set to remoember until I logout)21:02
jamnewz2000: then I think your setup is complete for you21:03
jamyou probably never ran a gpg-agent21:03
jamand the kde stuff tried to set it up for you21:03
newz2000aaah, maybe21:03
jami'm guessing, but I like the answer21:03
newz2000I think it did do something like that21:03
newz2000I am set, thanks a bunch jam21:03
mpt<http://doc.bazaar-vcs.org/latest/developers/packrepo.html> says "to check the integrity of your repositories before migrating them to knitpack format [...] run: bzr check"21:04
PieterWhoo21:04
Pieterit works like a charm21:04
newz2000ok, one more question... can I change the default push location for a branch?21:04
mptBut when I do "bzr check", I get "bzr: ERROR: Not a branch: "/home/mpt/hacking/lprepo/.bzr/branch/"."21:05
beunonewz2000, bzr push new_location --remember21:05
newz2000thanks21:05
mptWhat am I doing wrong? :-)21:05
LarstiQmpt: run it from a branch, not a repo? :)21:05
mptLarstiQ, I don't want to check a branch, I want to check my repository21:06
jammpt: you need to do 'bzr check' in a branch, however, for *this specific* case, I would upgrade and then run check/reconcile21:06
jamafter copying '.bzr/repository'21:06
jammpt: check will check everything 'down' so you start in a branch => repo21:07
jamor WT => branch => repo21:07
mptahhh21:07
mptjam, why do you suggest upgrading before checking in this specific case?21:07
jammpt: but the pack code is much faster, and it happens that it can copy slightly bogus knit data21:07
yaccMy first Wiki update ;)21:07
Pieterjames_w: look at this http://pastie.textmate.org/private/jvcinnuwy76kekwp532g21:10
Pieterjames_w: I can now commit to either bzr or git, then fetch from bzr, do what I want, and push back21:11
Pieterit's fully bidirectional git <-> bzr21:11
LarstiQ_fully_ functional?21:12
james_wPieter: wow, nice work.21:12
PieterLarstiQ: well, it's bit fragile, but it should do everything correctly :)21:13
LarstiQPieter: sweet21:14
gourPieter: this would be useful to post to DVC list. there was recent thread about bzr vs. git21:17
Pieterwhat's dvc?21:17
Pieteror, what's the list? :)21:17
yaccA plugins __init__ should register commands on import time I guess?21:17
gourPieter: starting with http://article.gmane.org/gmane.emacs.dvc.devel/211921:18
mptthanks for your advice jam21:18
gourPieter: see http://xsteve.at/prg/emacs_dvc/dvc.html21:18
yaccThe joys of DVC, two branches without a hint which an uninterested user should pull.21:20
LarstiQyacc: hmm?21:22
yacchttp://xsteve.at/prg/emacs_dvc/dvc.html <= just after reading the page you realize that these two branches are from the two maintainers.21:22
yaccAnd I guess depending which DVC you use you might decide to use one over the other.21:22
LarstiQyacc: I'd go with the one labeled as 'main branch'21:22
yaccLarstiQ, right ;)21:23
* mpt is thoroughly confused21:32
mptMy repository is now apparently at the new format, but if so, it happened just through a reconcile, not an upgrade, and it took less than a minute for a three-year-old repository21:33
beunoAFAIK, if you're using shared repos, you have to upgrade the shared repo too21:33
* vila thinks we should optimizing bzr, that confuses even old users21:34
mptThat is the shared repository21:34
vilagrr s/should/should stop/ freudian slips in jokes now :)21:34
beunovila, lol21:34
beunompt, I think you have to upgrade shared_repo/ and shared_repo/branch/21:35
mptbzr check in shared_repo/branch/ gives me a KeyError21:35
mptI assume that's not supposed to happen21:35
beunothat doesn't happen to me21:36
beunowhat version of bzr are you using?21:36
mpt1.6b121:38
mpthttp://pastebin.com/m13295f4721:38
beunohrm, I wonder if it's a problem with knits...21:38
beunompt, can you backup that dir, and upgrade shared_repo/branch?21:38
mptok21:39
mptbeuno, bzr: ERROR: The branch format Bazaar-NG meta directory, format 1 is already at the most recent format.21:39
beunohrm21:40
beunobzr info -v21:40
beunoshows it's at packs?21:40
mptbeuno, no, it returns a NoSuchRevision error21:43
mpthttp://pastebin.com/m33af5d521:43
mptthough the traceback *does* use the phrase "KnitPack" occasionally :-]21:43
beunoheh21:45
beunodoesn't look good21:45
beunojam, any ideas?  :)21:46
jammpt: I believe that is a known bug with check and ghosts, just reported IIRC21:47
jamwhen the mailine of your branch has a ghost in it21:47
jammpt: that looks like a bzr revision id, though21:47
jamany ideas how it could be a ghost?21:48
jamahh, wait21:48
mptWhen I ran "bzr upgrade" on the repository, it complained about a missing revision:21:48
mptstarting repository conversion21:48
mptbzr: ERROR: Revision {robertc@robertcollins.net-20050919044328-0205c679f3051340} not present in "KnitVersionedFile(file:///home/mpt/hacking/lprepo/.bzr/repository/text%3Atools-20050707102144-fee2fd7fd6ddfc1c)".21:48
jammpt: you were using packs locally, and a knit repo on the remote, right?21:48
jamand you probably did a push and ^C part way through?21:48
mptjam, I have a local repo and a remote repo21:49
mptI have been known to ^C occasionally21:49
jammpt: is one knit and one pack?21:49
mptbut I --overwrite afterwards21:49
mpthmm, good question21:49
* mpt checks21:49
jammpt: well, technically you should never need to, ^C should be safe. There is just a known issue if you ^C a pack => knit copy while it is coping revision texts21:49
jamit doesn't copy them in the correct order.21:49
jammpt: you should be able to:21:50
mpt"Shared repository (format: dirstate or dirstate-tags or knit)"21:50
mptthat's the remote one21:50
jambzr push -r revid:MISSING_REV_ID remote:/temp/branch21:50
jamit will create a branch you can then delete21:50
jamyou are just doing it to copy the revision text across21:50
mptSo I guess the remote repository needs upgrading, then21:51
jammpt: right, we would like you to upgrade that one, too, but you still need to copy that revision across21:52
mptok21:52
jamthere might be a bug in the knit => knit code, but the Generic fetcher is the only part I know21:52
mptanother KeyError :-(21:53
jammpt: from which side?21:55
mpthttp://pastebin.com/m1cbcf53221:55
jammpt: actually, I wanted you to 'bzr push -r revid:mpt@canonical.com-20080604185556-txuu6iw2ejfs0gea'21:56
jamnot the robertc one21:56
mptoh21:56
jamthough there is still something funny happening21:56
jamyou might actually need to 'bzr branch -r revid:... remote: .'21:56
jamLooking at the last traceback it looks like it is missing locally21:57
mptExactly the same error for the mpt@canonical.com revision21:57
pickscrapeCan someone point me at a plugin that provides a good example of how add an option to an existing command21:57
beunopickscrape, xml-output21:58
mptjam, should I do that bzr branch command from the top level of my local repo?21:58
jammpt: as long as you are in it, it doesn't really matter21:58
pickscrapebeuno: thanks21:58
jamit might be 'cleaner' to do it from the top21:58
mptFrom the top I get "bzr: ERROR: Target directory "." already exists." :-)22:00
* mpt does it into a temporary branch instead22:01
jammpt: sorry, I didn't mean '.' I just meant to the local area22:02
mptIt's thinking hard about it22:04
pickscrapebeuno: xml-output seems to do it by subclassing the builtin command handlers. What if more than one plugin wants to extend the same command?22:05
pickscrapeOr is it Really Really clever :)22:06
beunopickscrape, well, I don't really know  :)22:07
=== sdboyer_ is now known as sdboyer
beunomoquist, bzr launchpad-login your_lp_id22:08
beunoand it should use bzr+ssh instead of http, which will be able to write22:08
beunoand, I'd recommend upgrading to the newest version of bzr, using PPA  :)22:09
moquistbeuno: thx, I'm one step further now.22:09
moquistbeuno: hrm. OK, I'll google around a bit to see if I can figure that out.22:10
jambbiab22:10
beunomoquist, what bit?22:10
* beuno wonders what it would take to get a newer version of bzr into 8.04.1/222:11
moquistbeuno: I don't know how to use bzr with my PPA.22:12
beunomoquist, https://launchpad.net/~bzr/+archive22:12
moquistbeuno: should I go ahead and "--use-existing-dir" to start off this branch of vpnywhere? LP seemed to want to create that dir, so I suppose this is probably expected...22:12
beunomoquist, yeah, add it22:13
moquistlooks like the push worked; thanks!22:15
beunomoquist, :)22:15
moquistheh - now everyone in the whole world can read my totally lame commit comments. :p22:16
beunomoquist, welcome to the club  :)22:16
pickscrapejam: if you can confirm that pushing a branch over a shared repository doesn't cause damage to the shared repository, I'll go ahead and close bug 23743922:17
ubottuLaunchpad bug 237439 in bzr "bzr should not allow push over shared repository" [Undecided,New] https://launchpad.net/bugs/23743922:17
beunomornin' mwhudson    :)22:26
beunoI just tried a 36k line diff on my branch22:27
beuno100mb res memory22:28
mwhudsonnice22:28
beunotiming it now22:28
beunobut it was very CPU friendly too22:28
mwhudsoncan you try two concurrent requests?22:28
beunoyeap22:29
mpt(jam, the "bzr branch -r revid:..." is still working hard 30 minutes later)22:29
beunohrm, I can't get loggerhead to work with wget/curl...  :/22:33
beunomwhudson, two concurrent requests, ~160mb RES22:34
beunoFirefox hates me though22:35
beunobut that's a different issue  :)22:35
mwhudsonbeuno: for wget/curl you perhaps need to remember to put the url in quotes ''22:35
mwhudsonbeuno: we'd better make it faster too then, so there are less concurrent requests :)22:36
beunomwhudson, still get a 500 error, seems to not pass on URL values correctly, as it tracebacks in the kwargs arguments22:36
mwhudsonbeuno: oddness22:37
beunomwhudson, well, if we're going to take on concurrent requests, then I can't see anything better than caching static HTML from what we generate  :)22:37
beunowell, the good news is that it works with other URLs, just not the one I did for diffs22:38
beunoI'm not sure how to make it faster without tweaking bzrlib22:39
mwhudsonyeah, fair enough22:41
jammpt: that seems odd22:42
beunomwhudson, it's about 3 secs getting the diff and processing it, and 20sec applying the template to a 36k diff22:42
mptjam, strace shows it's still busy, not hung or anything22:43
beunomwhudson, although we use a *lot* less memory22:43
jammpt: remote is on another machine, right?22:43
jamotherwise I would have you break in with ^|, but that hangs up connections, too22:43
mwhudsonbeuno: i wonder if we could render the diff in a less complicated way, perhaps?22:44
mptjam, yes, another machine a few km away22:44
mwhudsonbeuno: but i think we work on getting some of this stuff into trunk22:44
beunomwhudson, well, if we don't use a templating engine to generate it, it should improve quite a lot, as it's just manipulating strings22:44
mwhudsonit may not be as good as it can be, but it's still a heap better22:44
beunomwhudson, ok, cool. I'll focus on cleaning up the code in order for it to be mergeable.  Maybe we can set it up on a different port, and test it on edge.LP for a few days?22:45
jammpt: ok, my guess is that you are running into some of the performance regressions with knits, and it just has a lot of revisions to copy22:45
fsafdsfis there a way to add support for webdav in bzr 1.5?22:45
jamyou *might* want to switch to an officila release (1.3, 1.4, 1.5) for the copy and just do the same thing22:46
jamor just let it finish22:46
mwhudsonbeuno: there is no edge for codebrowse22:46
mwhudson(though that would be nice)22:46
beunofsafdsf, that sounds like a question for vila, if he's still around22:46
mwhudsonbut there is staging22:46
mptjam, heh, how long should I wait for the latter before I try the former? :-)22:46
beunomwhudson, well, if we can point edge to a different LH port, and make *that* edge...  :)22:46
vilabeuno: stop reading above my shoulder will you22:46
jammpt: well, if you do tail ".bzr/repository/revisions.kndx" and it is still processing at a ... decent rate22:46
jamI would stick with it22:46
beunovila, :p22:47
mwhudsonbeuno: yeah, i should talk to IS about that22:47
jammpt: we're trying to get rid of an "unnecessary" caching layer, but not all the code paths can get by without it22:47
jamso for the official releases, we restore it.22:47
beunomwhudson, great, that will help us test  :)    back to cleaning up code then22:47
vilafsafdsf: I'm working on the webdav plugin at this precise minute22:47
vilafsafdsf: since 1.6 is around the corner it will certainly be a requirement, is that a problem ?22:48
fsafdsfdo you have a time frame or an alternative for pushing commits to central repo hosted on a shared hosting?22:48
mptjam, where is that .bzr/repository/revisions.kndx supposed to be? In the target branch directory? In the repo top level?22:48
mpt(it's not in either)22:48
fsafdsfseeing it's almost impossible to get the smart server working under a shared hosting22:48
jammpt: in the repo top level22:49
jammpt: ah, your local is now a pack repo?22:49
mptjam, allegedly22:49
jammpt: then you should have a .bzr/repository/upload/*.pack that is growing22:49
vilafsafdsf: please file bug reports against smart server, it *should* be widely usable and will provide far better performances22:49
fsafdsfthen I'm obviously doing something wrong22:50
beunomwhudson, do you have any strong feelings against generating the diffs without a template?22:50
mwhudsonbeuno: well, i wouldn't want to generate anything as fancy as what loggerhead currently does without a template22:51
beunomwhudson, well, we could add an arbitrary limit, like we have now, and generate simple diffs when it's over X lines22:52
vilafsafdsf: file bugs, doc bugs if needed, mention your environment as precisely as possible, os/version/web server/python/ etc22:52
fsafdsfthat's the thing, I doubt it's a problem on bzr's end22:52
vilaif you can't make it work it's at least a doc bug22:53
mptjam, the .pack file hasn't changed size in the past three minutes, and was apparently last modified 44 minutes ago (about 10 minutes after the branching started)22:53
fsafdsfmost likely a serer problem, seeing DH tends to cripple fcgi scripts22:54
mptjam, so downgrade and try again?22:54
mwhudsonbeuno: yeah.  seems like a hack though22:54
jammpt: first us ^| to interrupt and see what it is doing22:54
mptjam, ok, in a debugger, now what?22:55
jammpt: can you paste the traceback ?22:55
jam"bt"22:55
jambacktrace in debugger terms22:55
beunomwhudson, I could run some more tests with other non-xml based templating engines22:55
mwhudsonbeuno: let's get something into trunk first :)22:56
vilaprogress ! webdav failing 49/142 tests with apache2-dav instead of 4/71 without :-)22:56
beunomwhudson, yes, focus, sorry  :)     back to cleaning up22:56
mptjam, http://pastebin.com/m668806a222:56
jammpt: interesting... I'm guessing the ghost is confusing the search stream, otherwise it looks like it was genuinely copying data22:57
jamanyway, try a "c" to continue, it will likely fail22:57
jamthen downgrade and try again22:57
beunovila, btw, you owe me an email reply!   bzr-upload is starting to get anxious and wants to see the light22:58
fsafdsfis there a recored instance of someone being able to use the smart server on a shared hosting, as far as you know?22:59
beunofsafdsf, I use it through bzr+ssh on a shared hosting22:59
vilabeuno: don't worry, bzr-upload is processed in the background :-) webdav get some love now as an experiment in plugin a real http server into the bzr test suite, from there, I'll be able to do the same with ftp/sftp servers and get a better testing env for bzr-upload23:00
fsafdsfmind sharing how you did it? to make sure I haven't skipped any step?23:00
beunovila, :) :) :)    I've got some time seperated for it too, mainly in UI stuff23:00
beunofsafdsf, what steps are you following?  do you have bzr working on the shared server already?23:01
fsafdsfindeed23:01
fsafdsfmostly I've been following the fcgi smart server guide on the official docs23:01
vilabeuno: wow, you send me an email may the 24th and it appears in the bzr-upload mailbox as if received today >-/ Something really wrong is going on there, anyway, I'll reply now23:01
beunovila, ah, I thought it was odd it took you so long to get back, with your kitchen all done and all   :p23:02
vilahehe, 50 years birthday party for a friend last week-end and kitchen tiling still to be done, family life, etc ;-)23:03
fsafdsfI think I'm messing it up when I'm trying to adapt the steps they listed to a shared hosting environment23:03
beunofsafdsf, what URL are you looking at?23:04
fsafdsfurl of?23:04
beuno"steps they listed to a shared hosting environment"23:05
fsafdsfah23:05
fsafdsfhttp://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html#id7323:05
fsafdsf"Serving Bazaar with FastCGI"23:05
fsafdsffcgi is already enabled and working23:06
mptjam, ok, trying with 1.523:06
beunofsafdsf, ah, that's not what I've got working, I use bzr+ssh, not bzr://23:06
fsafdsfI can't use bzr, seeing it invokes a daemon23:07
fsafdsfwhich isn't allowed23:07
beunofsafdsf, I think spiv is the expert in that area, but he may not be awake/working yet23:08
beunoyou may want to send an email to the list23:08
beunowith as much information of the problem as you can  :)23:08
fsafdsfwon't vila's webdav solution be the best solution for me?23:08
beunofsafdsf, well, he should know  :)23:09
fsafdsfseeing I'm kinda pressed for time here, and I have nothing but bad experience with mailing lists and help channels23:09
fsafdsfvila, do you have any idea when we can see a first working version of your plugin?23:10
beunofsafdsf, well, if you have a few hours, spiv might be able to help you23:10
Pengfsafdsf: DreamHost supports SFTP...23:10
fsafdsfyes, but I can't give them all the same user/password23:10
Pengfsafdsf: Oh.23:11
* Peng just came in on this conversation.23:11
mptwhee, progress bars23:11
fsafdsfand I prefer each user to have their own u/p, similar to how I do it in SVN now23:11
mptSpastic progress bars, but progress bars nonetheless23:11
Pengfsafdsf: Also, bzr+ssh and bzr+http usually worked for me.23:11
Pengfsafdsf: Procwatch only ever killed them when I was doing big things.23:12
fsafdsfPeng, I don't doubt it.. My bet is that I'm doing something wrong23:12
beunomwhudson, I'm not really updating NEWS, should I?23:12
PengI've since moved to a VPS though. No more procwatch. :)23:12
fsafdsfand I wanted someone to walk me through it, to see if I did something wrong23:12
vilafsafdsf: as soon as it works :-) Should be in some days, weeks at most23:12
vilafsafdsf: if you can administer your server you can use ssh keys. That's better than using u/p23:14
vilafsafdsf: by the way, isn't launchpad an alternative ?23:14
fsafdsfI can use local keys, problem is.. I'm working with Windows user and I prefer not to expose them to the private key creation process23:14
fsafdsfvila, it would, but then I'd need a way to push all the changes upon commit to a working, live directory23:15
fsafdsfand I doubt launchpad will help me with that23:15
vilafsafdsf: you want a remote working directory up-to-date with your bzr branch ?23:15
fsafdsfyes23:16
fsafdsfsimilar to how I did it with SVN's post-commit-hook23:16
mwhudsonbeuno: hm, adding a note at least would be nice23:17
vilafsafdsf: do you need the remote branch too or is it just a way to get the remote working dir >23:17
vilas/>/?/23:17
* vila thinks sed can be as noisy as perl23:17
fsafdsflet's assume the latter23:18
mptjam, alas, another error - http://pastebin.com/ma1ec20423:18
fsafdsfseeing I can work on the repo locally too23:18
jam mpt: ;(23:19
jam:'(23:19
vilaif the remote branch is not a requirement, the bzr-upload plugin may help and that would be a far simpler solution23:19
fsafdsfand that can be used with launchpad?23:19
jammpt: that is weird, as it shows that knit => pack is rather broken... can you try using sftp:// instead of bzr+ssh?23:20
mptok23:20
vilathe plugin will upload the working tree only, the branch can be anywhere and the repo to synchronize devs in yet another place23:21
fsafdsfso I'll have to tell every used to use it every time they commit?23:21
fsafdsfuser*23:21
vilafsafdsf: you have to tell me a bit more about your workflow to allow me to answer that ;-)23:22
=== mw is now known as mw|brb
fsafdsfbasically, I want the bzr experience to be a similar as possible to SVN for the end users23:23
fsafdsfat least while they adapt to bzr's23:23
fsafdsfso, every user works on the same working version with possible mergers and conflict resolves if needed23:24
fsafdsfand again, I'll still need a way to store the central repo23:25
vilafsafdsf: what is your project ?23:25
fsafdsfsimple web project, similar to a CMS23:25
vilaok, so bzr-upload may be relevant. Do you have a test server and a production server or just the later ?23:26
fsafdsfone server, a shared hosting23:26
* beuno is off for a few hours23:27
vilaok, so the simplest solution is to keep the central repo and the working tree at the same place, but it's not a *requirement*23:28
fsafdsfnot a problem23:28
fsafdsfthat's what I wanted anyway23:28
vilaif you want to separate them, you can use launchpad as code hosting provider and use bzr-upload to your production server23:28
fsafdsfassuming I want to have them both on the same server, what can I do?23:29
vilanow, if your workflow was: hack/test/commit/hack/test/commit it would become: hack/commit/upload/test/hack/commit/upload/test23:30
fsafdsfwhich will expose the end users to another step, one that I can skip using bzr's hooks assuming I get the smart server working23:31
fsafdsfor wait for your plugin23:31
vilaif you want to have them both on the same server: bzr+shh, bzr+http, bzr+webdav in better to worse order23:31
vilathe plugin will not help for hooks23:32
vilathe *webdav* plugin will not help I meant23:32
fsafdsfthe hooks depend on the smart server?23:32
fsafdsfeven if I use that auto mirror plugin for bzr?23:33
vilaexecuting hooks *on the server side* yes23:33
vilaauto mirror ? Is that the same as push+update ?23:33
fsafdsfthen that brings me to my original problem, how do I get the smart server to work under my server environment?23:33
fsafdsf"Automatically update a remote working copy upon commit. "23:34
vilaso far, spiv is the expert :)23:34
vilawhat are the supported protocols ?23:34
fsafdsfone moment, launchpad seems dead23:35
vilathe crux of the problem when updating remote working trees are the permissions bits, and that can be addressed only by a process on the remote end whatever that process is23:35
fsafdsfwhen I tried it23:36
fsafdsfI got this error: bzr: ERROR: Generic bzr smart protocol error: Invalid http response for http://url/project/.bzr/smart: Unknown response code 50023:36
vilaAFAIK push and update requires sftp, the smart server is another option, but I don't remember if updating the remote working tree23:36
vila500 is internal server error, look at your logs23:36
fsafdsfsays it tried to send an empty file, ie, without any headers and then timed out23:37
vilavaguely rings a bell, but it's sleep time for me, I'm afraid I won't be good at debugging that23:38
fsafdsfFastCGI: incomplete headers (0 bytes) received from server "/dir/.bzr-smart.fcgi"23:39
fsafdsfah23:39
vilafile a bug report on launchpad or send a mail to the list or wait for spiv to appear here are my best bets :)23:39
fsafdsfindeed23:39
fsafdsfthanks anyway23:39
vilayou're welcome, keep us informed of your progress anyway (but may be a more recognizable nick may help ;-)23:40
fsafdsfmy usual nick is taken here23:40
=== fsafdsf is now known as tufloc
=== mw|brb is now known as mw

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