/srv/irclogs.ubuntu.com/2010/06/08/#bzr.txt

james_wlifeless: is https://code.edge.launchpad.net/~james-w/testtools/discover/+merge/26994 something like what you had in mind?00:25
igcmorning00:37
lifelessmoin moin00:38
mgzlifeless: on the topic of testtools.run from earlier,01:04
mgzis there any good reason why it can't just be `python -m testtools`01:04
pooliehi mgz01:04
mgzand import the stuff from testtools.run in __name__ == '__main__' in __init__.py01:05
mgzhey poolie.01:05
lifelessmgz: no good reason either way01:05
lifelessmgz: I will say, I somewhat prefer testtools.run01:05
lifelessgrabbing all the possible contexts as the default for testtools seems... crude01:05
pooliehi lifeless01:06
lifelessmgz: is it functional/aesthetics/other ?01:06
lifelesshi poolie01:06
mgzmoving it is an easy way to fix 50117401:06
mgz*bug 50117401:06
ubot5Launchpad bug 501174 in testtools "Suggest alternative to python -m testtools.run for Python 2.4 (affected: 1, heat: 6)" [Critical,Triaged] https://launchpad.net/bugs/50117401:06
mgzthe actual code can still be in run01:06
mgzI just want to -m the package root.01:06
lifelessoh01:06
lifelessmgz: yes, I get what you want :)01:06
lifelessand its a functional difference for you01:07
poolieah, makes sense to me01:07
lifelessmgz: sure, to make it work on 2.4 the little ugliness is ok01:07
lifelessmgz: uhm, what do you think of01:07
lifelesspython -m testtools run <args>01:08
lifelessand01:08
lifelesspython -m testtools.run <args>01:08
lifelessboth working01:08
mgzsounds fine to me, should be easy to arg wrangle.01:08
mgzespecially as the james_w branch is making the __main__ code the ideal one line01:10
lifelessI'd be happiest with that01:10
mgz...two lines. would fit on one though :)01:10
lifelessbecause that way when 2.4 finally keels over01:10
lifelesswe can do other stuff01:10
lifelessand if we have other front ends to add, they aren't squashed out01:11
james_w2.4 can't do -m something.dotted?01:11
mgznope, and I was confused too when I tried it.01:11
mgzit's not something other packages I've wanted to use have gone for, no idea about it till I was trying testtools01:12
lifelessright01:14
lifelessjames_w: yes, bug in 2.4, it assumed top level module.01:14
mgzhm, might just try that now see what it looks like01:18
mgzurk, that might not be a fix, seems to only want <module>.py not <module>/__init__.py01:24
lifelessah01:24
mgzwill just have to note in the documentation I guess.01:24
lifelessso really not supporting modules :)01:24
mgzpoolie: ericmoritz was talking about calling Feature.available() because he wanted to skip if a feature *was* present01:30
mgzbut that wasn't the right test anyway.01:31
mgzah, whoops.01:33
poolieigc1, hi there?01:33
mgzguess I should repeat that, though not very important01:33
mgzpoolie: ericmoritz was talking about calling Feature.available() because he wanted to skip if a feature *was* present01:34
mgzbut that wasn't the right test anyway.01:34
poolieoh ok01:36
pooliehm, perhaps we should define an inverse feature then01:36
pooliebut that would be ok01:36
=== oubiwann_ is now known as oubiwann
Stavroshello01:50
Stavrosi had revision 20 on repo A, worked on repo B up to revision 40, bound B to repo A and all my revisions past 20 are gone01:50
Stavroshow can i get them back?01:50
Stavroshmm, they are on B01:53
Stavrosthat's odd01:53
lifelessspiv: poolie: I think, on reflection, that any inheritance from Branch/Repository etc in remote.py is actually harmful, not beneficial02:24
spivlifeless: hmm02:24
spivlifeless: one of those two don't inherit02:24
lifelessyes02:25
spivlifeless: and it's increasingly causing problems too02:25
lifelessand we've been muttering that it should02:25
lifelessI'm thinking it shouldn't more and more as I address this loom bug02:25
spivSo inheriting in remote.py: not great.  Not inheriting: also not great.02:25
spivI wonder what the solution is.02:25
lifelessconsider sprout02:25
lifelesswhat we want is:02:25
lifeless - no VFS for the default case02:25
lifeless - VFS if the smart server can't do what the branch needs02:26
lifeless - ideally smart in all cases02:26
lifelesssprout is currently a method on e.g. Branch02:26
lifelesswe define sprout on RemoteRepository02:26
lifelessnot on Branch02:27
lifelessand because of that Branch.sprout doesn't copy loom data across02:27
lifelessI discussed a structured approach with poolie02:27
lifelessbut I'm not entirely happy with how it felt02:27
spivI think we haven't got sprout right in terms of which objects are responsible for the various parts of it.02:27
spivAnd the trouble with Remote + loom is a symptom of that.02:28
lifelessit might be better with an Inter02:28
lifelessand be on the format object02:28
lifelessso it could do self._format._ensure_real()02:28
lifelessself._format.sprout(...) and that lookup on the ...02:29
lifelessanyhow, I think I'm going to:02:29
lifelesssorry, sec02:30
poolielifeless, i think those base classes should become abstract02:31
pooliemany of them iirc have a lot of historical stuff near the top of the class hierarchy02:31
lifelesspoolie: I agree but I think that that is perhaps orthogonal02:31
lifelessand that we should look for reuse in the Remote* hierachy through composition or something02:31
lifelessthoughts on moving sprout from Branch to BranchFormat ?02:32
lifelessits only use of self is self.copy_content_into02:32
lifelesswhich the format could happily call02:32
lifelessand we have [at least for now02:33
lifeless] established free access to Format objects for bzrdir components02:33
spivlifeless: reuse through composition sounds like a very plausible idea to me02:34
poolielet's say complementary02:37
pooliei think if you need to make them composable perhaps you need to move them out of the base class02:37
poolieanyhow, hooray for cleaning it up02:37
lifelesswell I don't know how much cleaner it will be02:45
lifelessdid either of you have thoughts on the proposed move of sprout ?02:46
poolieah02:46
poolieto the BranchFormat base class?02:46
lifelessfrom Branch to BranchFormat02:52
lifelesswhere differences exist02:52
lifelessI propose to put it on appropriate BranchFormat subclasses02:53
lifelessand on RemoteBranchFormat, we can then delegate to the actual Format02:53
pooliesorry for the lag02:53
poolieso you'll call effectively source_branch.format.sprout(to_transport)?02:54
lifelessyes02:54
lifelessfor compat02:55
lifelesswe can leave Branch.sprout in place, deprecated02:55
poolieand why is this better?02:55
lifelessand it would call that as self._format.sprout(self, to_transport)02:55
lifelessbecause we know the format of remote branches even if we haven't done _ensure_real on the Branch02:55
lifelessso we can run the right code for looms without triggering VFS for regular branches02:56
pooliehm02:59
pooliei kind of see the problem you mean02:59
pooliei think the public api that makes sense is probably branch.sprout(to_transport)03:00
pooliei don't see why the caller would want to work in terms of the format03:00
spivIn short: sprouting needs to take the format into account, and making the format responsible for sprouting takes care of that?03:00
lifelessuhm03:00
poolienow behind the scenes there are some issues about perhaps not yet knowing the remote format03:00
lifelessso sprout as currently defined sprouts to a to_bzrdir03:00
lifelesswhich is, I think ok03:00
poolieok03:01
lifelessit needs to:\03:01
lifeless - make a new Branch in the bzrdir, which is a little complex.03:01
lifeless   - it might be the same as the source format03:01
lifeless    - or there might be some magic kick in to ensure it supports something that the default doesn't03:01
lifeless - it needs to copy the metadata from the source branch across03:01
lifelessif you look at branch.py, at sprout03:02
lifelessyou can see that its ~15 lines03:02
lifelessonly one of which calls self.*03:02
lifelessthats not a very strong argument, but its data03:03
lifelesssecondly, ideally, the copying of metadata would be a multimethod03:03
lifelesson source,target03:03
poolieright03:04
lifelessand we can for such source, targets either use the Branch objects or the BranchFormat objects03:04
lifelessnow, BranchFormats are the unique things on disk03:04
lifelesswe guarantee that there are unique network strings for any given format, we don't guarantee that for Branch subclasses03:05
lifelessits possible to use the same Branch class, parameterised, to handle two different Formats03:05
lifelessI don't know if we use that, but that was part of the goals in the early design03:05
lifelessso perhaps it wouldn't work now and we should discount it03:05
poolieas i've said before there seems imperfect separation between formats and branch classes03:06
poolieah03:06
poolieone could have a branch class that delegates absolutely everything to its format and could be used with every format03:06
pooliei'm not sure why that would be useful though03:06
lifelessthat would be an extreme03:07
lifelessFormats are factoried for Branch objects03:07
lifelessso a BranchFormat can *parameterise* a Branch with appropriate delegated objects03:07
lifelesson construction03:07
poolieconversely i suppose we could have a branchformat that actually knows nothing about the format other than its name and what Branch class implements it03:07
poolieright03:07
lifelessright, thats the other extreme03:07
pooliei don't feel there is a clear principled statement of where we go between those extremes03:08
lifelessnow, I guess I'm saying that right now, sprout feels more like an interaction between the formats03:08
poolieand it's not consistent between the two of them03:08
lifelesspoolie: to me, disk management code should go in formats (or in objects the formats supply), and model code should go elsewhere03:09
=== poolie changed the topic of #bzr to: Bazaar version control | try https://answers.launchpad.net/bzr for more help | http://irclogs.ubuntu.com/ | Patch pilot: spiv | bzr 2.1.1 is out | bzr 2.1.2 is having binaries built for it
poolie(changed pilot->spiv)03:09
lifelessspiv: wearing the pilots-get-interrupted hat, perhaps you could do the followup on the release03:09
lifelessthe execution-of-announcements etc, if the binaries are all copacetic03:10
lifeless[the topic change reminded me]03:10
pooliebasically agree about that, though probably i'd like it to be objects that are plugged into the branch03:10
poolieah03:10
poolieso i still think in terms of the public api, the user has a "branch _this_ to _here_"03:11
lifelesspoolie: 'it'? 'like it to be'03:11
poolie" disk management code should go in formats (or in objects the formats supply)"03:11
lifelesspoolie: ok, so 'disk management code should be in objects that are plugged into the branch' ?03:11
lifelesspoolie: you have an implied 'and not the formats' there, right ?03:11
pooliei think doing code that amounts to self.format.get_something(self.transport) is a bit weird03:12
pooliewhere self is a branch03:12
lifelessI think thats true03:12
spivpoolie: thanks03:12
pooliehowever doing at startup, self.tag_manager = self.format.get_tag_manager(self.transport) feels a bit less weird03:12
lifelessIf delegating like that, i'd write it as self.format.get_something(self)03:12
poolieperhaps you could propose some text suitable for the architecture overview that describes what you think the split should be between branch/repo/wt etc and their formats03:13
lifelesspoolie: separate objects for separate concerns is good too - tag manager is a great example of splitting that out03:13
lifelessI sure can03:13
pooliemm03:13
lifelessI want to get looms working first03:13
lifelessbut I'll put a doc refresh right under that on the stack03:14
pooliefor example is all the knowledge about a disk format going to be in the format, or in a class that the format knows about and provides to the branch, or is it going to be in parallel hierarchies, etc03:14
poolieok03:14
poolieso let's talk for a bit about fixtures?03:14
pooliewe might propose a merge into testtools that adds fixtures such that03:14
pooliethe test scope cleans up the fixture03:15
pooliepeople are encouraged to put reusable setup into a fixture class, not into setUp() or the test_()03:15
lifelesshttp://pastebin.com/Nxkpz8Tp03:16
lifelessthis is an in progress patch I have03:16
lifelesswhich uses a fixture concept heavil03:16
lifelessy03:16
spivlifeless: Ok, I'll take a look at release followup, although I doubt if I'll get to that today.03:16
lifelesswith a focus on composition03:16
poolieheh03:17
pooliei'm coming to really dislike Command pattern in python03:17
pooliei wouldn't veto this just because of that03:17
lifelesspoolie: I'd love to see a small patch for testtools to aid with fixture use and definition, though I think its really very small and likely to bikeshed until we have some wider experience with it03:17
lifelesspoolie: I don't see this as Command03:17
lifelesspoolie: I see it as Composite, if you want to name it03:18
poolieMirrorProposed, i mean03:18
lifelessoh03:18
lifelesswell thats me following suit on the lp plugin style03:18
poolieit's 90% overhead compared to just having a function03:18
poolieand it seems to harm refactoring rather than helping it03:18
lifelessother bits of the lp plugin do this, and I wanted to fit with the style in that area03:19
poolieok03:19
pooliebut "if not now, when?"03:19
pooliei'm just mentioning it because i see it now03:19
lifelesswhen its fully automatically testable ;)03:19
lifelessfair enough03:19
poolieset a good example rather than following a bad one :)03:19
lifelessI'm not enamoured of it either :>03:20
pooliei'm glad we agree :)03:20
poolieigc liked the netflix slides too03:20
lifelesscool03:20
lifelessso, I'd love it if you had a think about what I do with fixtures in that patch03:20
lifelessits not perfect, but I think it communicates where my thinking is at03:20
pooliehm03:20
pooliewhy is manyfixtures useful?03:21
lifelessand thats the sort of thing I'd want to encourage with a testtools patch, wearing my testtools patch reviewer hat03:21
pooliejust faster than calling useFixture repeatedly?03:21
pooliedoes testtools have a list?03:21
lifelesstesting-in-python03:21
lifelesswhich is perhaps not appropriate03:21
lifelessjml: ^ we should revisit that03:22
lifelesspoolie: I don't know (multifixtures) it seemed like a good idea at the time; because many fixtures might want to group a few bits together.03:22
pooliei'd like to get my thoughts a bit more straight before posting there perhaps03:23
lifelesspoolie: I'm sure its not right, I'm also not sure its wrong.03:23
lifelessback to sprout03:23
lifelessI feel a little hamstrung03:23
lifelessshould03:23
lifeless - move it to BranchFormat03:23
lifeless - just accept the VFS overhead of doing it in-place03:23
pooliethis is because you want to have the same RemoteBranch but it will have a different BranchFormat if the remote thing is actually a loom?03:24
lifelessI don't want to move it to BF and leave a forwarding method, because if the *contract* is on Branch, RemoteBranch can't safely forward unconditionally.03:24
lifelessyes03:24
pooliewhy not?03:24
pooliei mean why can't it safely forward unconditionally?03:25
lifelessbecause SvnBranch.sprout might not forward\03:25
lifelessso RemoteBranch.sprout, with the real branch being an SvnBranch, wouldn't do the right thing anymore03:25
pooliesorry, got to go, back in about 60m03:25
lifelessok I'm going to go drop my PC for repair03:25
lifelessshould be ~same03:25
lifelessciao03:25
poolieigc, re test fixtures06:02
poolie* "[Launchpad-dev] New feature in Launchpad TestCase base class"06:02
poolie* https://code.launchpad.net/~mbp/bzr/testsubjects/+merge/2418806:02
poolie* https://code.launchpad.net/~mbp/bzr/fixtures/+merge/2533706:02
willmarshallBZR first-time user question!06:02
spivjelmer: you set a merge proposal to Queued.  PQM isn't using the queue in LP atm, you need to use the email method.06:03
pooliehttp://www.mail-archive.com/launchpad-dev@lists.launchpad.net/msg03226.html06:03
pooliespiv it's an easy mistake to make because feed-pqm still lets you queue them06:03
willmarshallIn git, if I have changes I want to store but don't want to commit to my main branch - I can do git branch mynew branch, work in that branch, then commit that branch to my git server and do a merge later06:03
pooliewe should disable it in the client06:03
willmarshallHow would I do the same thing in bzr - spawn a new branch, push that branch to the bzr server06:03
spivpoolie: right06:04
pooliewillmarshall:06:04
pooliebzr branch . ../otherthing06:04
pooliecd ../otherthing06:04
pooliebzr merge --uncommitted ../firstthing06:04
willmarshallpoolie: Yah - but that's just local branches on my dev box06:04
poolieor alternatively if you just want to store it temporarily and not commit it, 'bzr shelve'06:04
willmarshallI really need to push this branch to the bzr server so others can also work on it06:04
pooliewillmarshall, well, then commit in otherthing and push it to the server06:05
poolieyou need to push them separately06:05
willmarshallwithout pushing it to the branch we're deploying from, cos it breaks stuff06:05
poolieor as a third alternative use bzr-colo which is more like git colocated branches06:05
willmarshallpoolie:06:05
pooliepush it somewhere different06:05
willmarshallAh! So bzr doesn't quite work like git, and I am confused?06:05
poolieit's not quite like git; i'm not sure if you're confused :-)06:05
willmarshallThe manual for bzr seems to be telling me that if I do bzr branch myrepo ./somedir06:06
willmarshallAnd then work on that branch, commit and push06:06
willmarshallMy changes won't be in a new branch on the server06:06
pooliewillmarshall, they'll be in a separate branch on the server if you push them to a separate branch06:06
willmarshallunlike in git, where branches have names and you can push to different branches in the same place06:06
willmarshallOk06:07
poolieright, normally in bzr each directory has only one branch06:07
willmarshallHow do I spawn that branch on the server?06:07
poolieunless you use bzr-coro06:07
poolie*bzr-colo06:07
willmarshallOh! So this is is more svn-like?06:07
pooliea bit, but it's not exactly like svn either06:07
willmarshallOk06:07
willmarshallGotcha06:07
willmarshallbzr-colo sounds like what I need06:07
poolienormally if you have bzr+ssh://server/repo/trunk06:07
pooliethen you can just do "bzr push bzr+ssh://server/repo/otherthing"06:08
lifelesspoolie: ah, you're back06:08
lifelesspoolie: so, I think I'm just going to move it around and see how it feels06:08
poolieby all means06:08
spivlifeless: +106:08
pooliei really think that document would help06:08
lifelesspoolie: I think it will too06:08
poolieit may help you and it will almost certainly help with review and with making things more consistent in future06:08
pooliewe don't want people moving different aspects at random06:08
lifelesspoolie: I'll be thinking about it all the time I'm moving stuff06:09
lifelessoh06:09
willmarshallpoolie! Awesome. That worked06:09
lifelessand my games machine - cpu heatsink was /way/ loose06:09
pooliehuh, funny coincidence06:09
willmarshallThank you very much06:09
poolienp will06:09
lifelessattached properly and its apparently fine now06:09
poolielifeless, is it scorched?06:09
lifelesspoolie: appears not; thermal protection in i7 is pretty good I'm told06:10
pooliegreat06:10
pooliehow did they get it to reattach properly? remove it and re-add thermal pad?06:10
lifelessnope06:10
spivHammer? ;)06:10
lifelessjust twisted the thumbscrews, pushed firmly till they went clink06:10
lifelessI'd been afraid to really push hard here, and not sure of the mechanics inside the plastic heads06:11
lifelessapparently its like plaster screws06:11
lifelesswith a inner than locks open, and the original install [probably] never got it quite open enough to lock in place06:11
lifelessback in .au I had been seeing thermal warnings from time to time, just figured it was linux slackness06:12
lifelessbut now, no warnings at all06:12
poolielikewise06:12
pooliehow strange06:12
pooliethis makes me wonder if my machine could be fixed by just re-seating it, but perhaps at this point it really is scorched06:12
lifelesswhat cpu was/is it ?06:13
poolieE6600 Core206:13
lifelessso the question would be if intel's thermal protection changed much from there to i706:13
lifelesswell worth trying, I'd say06:13
pooliei might call and ask then06:13
BigcheeseIs there really no solution to the memory problem when branching large subversion repos?06:45
BigcheeseI need to branch from llvm, which has 105k revs. I'm already on a 64bit machine.06:45
lifelessbac: have you tried doing batches, like - branch -r 5000 source target; cd target; bzr pull -r 10000; bzr pull -r 20000 etc ?06:50
lifelessbah06:50
lifelessBigcheese: ^06:50
lifelesssorry bac06:51
Bigcheeseheh06:51
BigcheeseThat's what I'm doing now, and it works, it's just going to take for ever with how small I have to increment.06:51
lifelesswhat size are you incrementing in ?06:52
BigcheeseEven one revision uses all 2 gigs of ram...06:52
Bigcheese100 right now.06:52
lifelessthats surprising06:52
lifelessare you perhaps using the root of the svn repo, rather than one specific branch?06:52
BigcheeseI'm checking out trunk.06:53
BigcheeseSo no, just one branch.06:53
lifelessthats very odd06:53
BigcheeseWell, 1000 seems to work.06:53
lifelesscould you file a bug, its not meant to use that much memory :)06:53
BigcheeseThere's already one filed :P And it's talked about everywhere on the internet :P.06:54
lifelessuhm06:55
lifelessmemory issues are a hydra06:55
lifelessI find assuming that a previous bug 'x used lots of memory' is rarely a good indicator.06:55
BigcheeseSearching the bug DB I've found at least 5 of the exact same thing. One even mentions you :P.07:04
lifelessthats likely07:08
lifelesswe've had many causes of too much memory07:08
lifelesssome are large files07:08
lifelesssome are cache misuse07:08
lifelesssome are too many strings07:08
lifelessto answer the question about whether there is a fix, we need to figure out what particular 'uses lots of memory' bug you have07:08
lifelessso - for starters, what bzr version and bzr-svn versions do you have?07:08
Bigcheesehow do I check the bzr-svn version?07:10
lifelessbzr plugins07:10
Bigcheesehttp://codepad.org/1ToCN8jN07:11
lifelessbzr 2.1.2 reduces memory consumption for some operations07:13
lifelessmight be worth trying07:13
BigcheeseIs that only availible via source?07:13
lifelesswhat platform?07:13
BigcheeseWindows 7 x6407:14
lifelessI can't see a 2.1.2 binary on https://edge.launchpad.net/bzr/+download yet07:14
lifelessso yes, looks like source only07:14
lifelessspiv: ^ btw may be a fast task to do the release - just send email :P07:15
=== quicksil1er is now known as quicksilver
BigcheeseThanks, I may try that if I this breaks again.07:17
BigcheeseIt's finally working 10k at a time,07:17
BigcheeseSo that's not too bad.07:17
=== radoe_ is now known as radoe
=== lifeless_ is now known as lifeless
spivlifeless: might be fast, but we're done for the day.  Will have to look tomorrow.08:22
spivlifeless: thanks for the idea08:23
lifelessspiv: sleep well08:23
parthmmgz: ping09:06
bouncingzipindeed I did apparently.09:07
bouncingzipdo I bother looking up how to ghost myself on this network...09:07
=== bouncingzip is now known as mgz
mgzparthm: hi09:09
=== jfroy_ is now known as jfroy
parthmmgz: thanks for the patches :)09:09
mgzit's your own fault for copying all those loops, 's like waving a red flag to a pedant like me :)09:11
=== mwhudson_ is now known as mwhudson
mgzI'll see if I can get to doing unicode support at some point too, though there aren't any great options on that09:12
parthmmgz: yes. :) performat_output looks good to me. should are apply it or are you planning to change something else.09:12
mgzif it doesn't regress anything for you, land it09:12
parthmmgz: ok. i cool. i will try it out.09:13
mgzI'd be interested in if it's done anything bad to the profile in the cases I mentioned though09:13
mgztried to keep stuff doing what it was doing before, but did change a few things09:13
parthmmgz: yes. i will try that. you patch is well timed, we get bug #590589 fixed as bonus :)09:14
ubot5Launchpad bug 590589 in bzr-grep "UnicodeDecode error with -F -i (affected: 1, heat: 8)" [High,Confirmed] https://launchpad.net/bugs/59058909:14
mgzwas trying not to make anything slower in that branch so the follow-on speed up was still a win.09:15
parthmmgz: UnicodeDecodeError for 'bzr grep ff' on mysql repo http://pastebin.com/JGfwXbk509:18
mgzdoh!09:18
parthmmgz: maybe line.decode(file_encoding, 'replace') can fix it? i can do that here.09:19
mgzdid I forget the "replace" on one of the lines?09:19
mgzyou're ahead of me.09:19
mgzI... forgot it on all of them?09:19
mgztoo much moving things around, the (four) places I added that 's not really correct, but it's the simplest for the moment09:21
parthmmgz: np. works fine now. updated on the four locations.09:21
mgzguess I need to try harder to make a test that'll consistently fail on that as well09:22
GaryvdMHi all.09:23
parthmmgz: at least we have some unicode tests now :) ... i should have added them in the first place. thanks for putting them in.09:23
parthmGaryvdM: hi09:23
mgzmorning gary.09:23
GaryvdMI have a corrupted dirstate file, an the branch has uncommited changes.09:24
GaryvdMBug #45004709:24
ubot5Launchpad bug 450047 in Bazaar "AssertionError: get_next() called when there are no chars left in dirstate (affected: 1, heat: 6)" [Medium,Confirmed] https://launchpad.net/bugs/45004709:24
GaryvdMAny recomendations on how to recover.09:24
parthmmgz: tested on emacs and mysql. works nicely. -Fi bug is also fixed. Yay!09:25
mgzno smart ideas here gary. branch from somewhere else and copy over the working tree?09:28
GaryvdMOk - I mv .bzr/checkout .bzr/checkout.bck, and then did a checkout, and the files with changes show up as conflicts.09:29
mgzresolve --take-this then? (or -other which ever the right way round is)09:31
GaryvdMThis is on  a server. Only have bzr 2.1 :-(09:32
mgzhm. annoying.09:33
parthmmgz: for the fast-path patch there are two conflicts (same code) http://pastebin.com/swn9BN7Y .. should i just change that as mentioned in the paste?09:34
mgzyup, that's the right resolution09:34
parthmmgz: ok. cool. i am thinking of making a 0.4 release after this. -Fi seems like a serious enough bug. what do you think?09:35
GaryvdMOk - emergency over. Thanks mgz.09:35
mgzmoving the decode onto the line above to make the merge simpler was what made me forget the 'replace'09:35
mgzparthm: could do, but no rush, only do it if you've got the time anyway09:37
mgzI'm not that confident of all my changes, but getting them out is a pretty sure way of shaking out ugs09:38
mgz+b09:38
parthmmgz: shouldn't take long to me the release. and with the -Fi issue fixed, its definitely better than 0.3 :)09:38
parthmmgz: fast-path is also merged. thanks.09:39
mgzthere are some line ending annoyances still to wrangle over there09:40
mgzessentially, if people are stupid enough to use mixed, or mac, line endings, strange things may happen to them09:40
mgzI reduced the change a bit to make it safe for landing though09:41
parthmmgz: ah. ok. ... so do you think i should wait? anyway, the changes are on lp:bzr-grep so if someone want to use the latest thats always possible.09:41
parthmwe could do a 0.4.0 in a few days it you want to try something.09:42
mgzno, but I think you might have to start wondering about what someone wanting the line numbers containing "a" in a file like "\r\r\na\n\r\r\na" should get09:43
mgzstr.splitlines does (\r\n \n \r) -> \n and text mode does (\r\n \n) -> \n09:43
mgzbut bzr doesn't help you out at all (in a default setup at any rate)09:44
mgzand the regexp engine doesn't like unexpected \r09:44
parthmmgz: yes. i suppose i will file a bug for this an explore it for a later release.09:45
parthmmgz: bug #59114709:47
ubot5Launchpad bug 591147 in bzr-grep "line numbers may not be correct for mixed line endings (affected: 1, heat: 6)" [Medium,Confirmed] https://launchpad.net/bugs/59114709:47
mgzit's a pain, as just using \n is and should be the right thing09:48
parthmmgz: Yup. i suppose majority of software is about compatibility issues :)09:49
mgzanyway, away for me.09:54
parthmmgz: bye09:55
=== guijemon1 is now known as guijemont
=== Kinnison_ is now known as Kinnison
=== nlisgo_ is now known as nlisgo
=== cody-somerville_ is now known as cody-somerville
=== cody-somerville_ is now known as cody-somerville
ronnyhi12:16
ronnyhow can i disable bzr's lazy importer?12:16
ronnybummer, its not possible12:21
RayChandlerIIIDoes anyone know of a general guide on the idea of feature branching?12:46
parthmRayChandlerIII: do you mean in context of setting up bzr repo structure?12:50
RayChandlerIIIparthm: Yes. I've setup a repo however I am having a hard time adding files or pulling revisions, or checking anything out. I am used to SVN and have have decided to switch to bazaar after reading your "why switch" guide. ;)12:52
RayChandlerIIIbut I am not familiar with feature branching12:52
RayChandlerIIIthere is also no wikipedia article on the topic and google turn up a bunch of stuff on HG12:53
parthmRayChandlerIII: in bzr each branch is its own directory. you can set up a shared repo using 'bzr init-repo foo-repo'. inside dir foo-repo, you can have trunk and other branches.12:53
parthmthis way all branches with share history in the repo (less disk space used).12:54
RayChandlerIIIso each branch can be its own repository?12:55
parthmRayChandlerIII: You have two options, you can create a branch using 'bzr init foo'. in this case branch and repo are the same (foo).12:55
=== oubiwann is now known as oubiwann_
=== oubiwann_ is now known as ouniwann
parthmor if you have a large history, you can 'bzr init-repo foo-repo ; cd foo-repo; bzr init trunk; cd trunk ; <hack on trunk> ; cd .. ; bzr branch trunk fix-123; cd fix-123 ; <hack on fix>'12:57
parthmin the latter case all history is in 'foo-repo'.12:57
parthmRayChandlerIII: http://doc.bazaar.canonical.com/bzr.2.1/en/user-guide/shared_repository_layouts.html12:57
parthmRayChandlerIII: if you are starting a project from scratch 'bzr init' is simpler.12:58
RayChandlerIIIAnd this would use a distributed model?12:58
RayChandlerIII<-- Is new at this.12:58
parthmRayChandlerIII: bzr supports multiple workflows.12:58
parthmYes, bzr is distributed, so there is no "central" repo technically ... its only policy.12:59
luksRayChandlerIII: you should not worry much about the layout of branches/repositories when you are starting12:59
luksyou can switch between them very easily13:00
parthmRayChandlerIII: Yes, what luks said. You have the option of changing/adapting your workflow later.13:00
RayChandlerIIISo why can I not add files to the repository or check out a working directory?13:00
RayChandlerIIII have a reposistory with a trunk.13:01
luksyou are working with branches13:01
luksforget repositories for now13:01
RayChandlerIIIok13:01
RayChandlerIIIforgotten13:01
RayChandlerIIIhmm13:02
RayChandlerIIIstill not clicking13:02
RayChandlerIIIok lets try this...13:02
lukscould you explain what exact problems are you having?13:02
RayChandlerIIIluks: have you worked with subversion>13:02
luksyes13:02
parthmRayChandlerIII: http://doc.bazaar.canonical.com/bzr.2.1/en/tutorials/tutorial.html covers the basic workflow in case you haven't looked at it.13:02
RayChandlerIIIparthm: will check it out. Thanks.13:03
RayChandlerIIIluks: In subversion if I start a new project I create a repo then check it out to a working directory13:03
RayChandlerIIII then modify that working directory13:03
RayChandlerIIImerge changes from the repo to my local machine13:03
RayChandlerIIIthen commit the changes13:03
RayChandlerIIICompare what I just sayed to how you do it in Bazaar13:04
RayChandlerIIIbetter question.13:04
luksthe best answer to that is to read the tutorial13:04
luksthere are basics you will need to know13:04
RayChandlerIIIluks: the one that parthm linked to?13:04
luksyes13:05
luksthe basic idea is that there is no difference between a repository no a server and your local machine13:05
luksonce you get how that works, it will be easy to do anything more advanced13:05
RayChandlerIIIOk. Thank you for the help and your time. Let me take a look at the tutorial13:06
RayChandlerIIIOk...13:17
RayChandlerIIII think I understand it now. ;)13:18
parthmRayChandlerIII: cool :)13:18
RayChandlerIIIbrb13:32
=== ouniwann is now known as oubiwann
=== Pilky_ is now known as Pilky
al-maisanHello there! Does somebody recall the name of the tool that allows one to filter a diff/patch i.e. to exclude changes to particular files?16:14
KinnisonPresumably you're referring to filterdiff(1)16:14
Stavroshello16:15
al-maisanKinnison: thanks a million! That was the tool I had in mind!16:15
Stavroswhen i switch to a colocated branch, will my uncommitted changes be shelved in the workspace automatically, or do i have to commit first?16:15
=== beuno is now known as beuno-lunch
=== IslandUsurper is now known as IslandUsurperAFK
=== beuno-lunch is now known as beuno
=== IslandUsurperAFK is now known as IslandUsurper
bilalakhtarHi there, people. My bzr is progressing very slowly during Finding revisions: Inserting stream. How many steps are after this? Is this the last step in branching a branch hosted on lp?18:36
GaryvdMHi all19:08
* GaryvdM was looking for jam19:08
=== al-maisan is now known as almaisan-away
=== deryck is now known as deryck[lunch]
macosomeone has a branch on lp, and i merged their branch into trunk and push that to lp... and it doesnt show them in the revisions thing. did i do something wrong?19:35
=== khmarbaise_ is now known as khmarbaise
=== deryck[lunch] is now known as deryck
=== khmarbaise_ is now known as khmarbaise
GaryvdMmaco: Launchpad may take a few minutes to reflect changes to branches20:05
macoGaryvdM: the new revisions are there, im just wondering if its supposed to show the name of the person who did the merge or if there's a way to have the revision from the branch the merge came from be what shows20:10
GaryvdMmaco: code.launchpad.net only shows the mainline, but if you drill into the merged revisions with bazaar.launchpad.net (or with something like bzr qlog), you will see the original committer.20:20
macoGaryvdM: oh. ok20:22
macoGaryvdM: thanks20:22
=== khmarbaise_ is now known as khmarbaise
Lo-lan-doHi all.  What to do when I get "error: Error -3 while decompressing data: incorrect data check" errors?20:26
Lo-lan-do(bzr 2.1.2 on Debian sid)20:26
jelmerhi Lo-lan-do20:26
Lo-lan-doHi jelmer :-)20:27
jelmerLo-lan-do: no idea, perhaps jam will have an idea when he shows up20:27
jelmerLo-lan-do: btw, did you see that we've made some progress on roundtripping support?20:27
Lo-lan-doI hope so, because I can't commit to the repository now :-/20:27
Lo-lan-doI've seen some commits on bzr-git, yes, which gave me hope :-)20:28
jelmerthe performance is still pretty pathetic for 'bzr git-serve', but it does work with the roundtripping code20:29
jelmerLo-lan-do: when we get a new cache format for bzr-git in place that is based on bazaar pack files it should be better20:30
Lo-lan-doGreat :-)20:31
effie_jayxhey guys, with regards revision numbers after a merge20:33
effie_jayxlets say I have some old code with rev nº 128 and I need to merge some of that stuff into 15020:34
effie_jayxI merge changes to 128 but that makes rev nº 12920:35
nailuj24if you merge 150 into 128, it'll be 129. if you do it the other way round, it'll be 151 (as far as i know)20:35
effie_jayxI am sorry If I come out as a bit of a noob but truth is I come from using mercurial with a bunch of abusers that do not handle merges as they should :P20:35
effie_jayxnailuj24: would it make sense to pull from another branch to get revisions to 151 and then resolve conflicts20:36
effie_jayx?20:36
nailuj24what i'd do is to go into 150, and pull the 128. then you'll end up with 151 i think20:37
effie_jayxnailuj24:  shall try that20:37
effie_jayxthanks20:37
Lo-lan-doIf you pull, then you get the same version number as what you pull.20:38
effie_jayxLo-lan-do: good to know, not what I need20:38
nailuj24oh, didn't know that20:38
Lo-lan-doBut anyway, pulling won't work in your case, since you have local changes not present in the remote branch.20:39
jelmerabentley: did you just tag the nested-trees-feature bug with udd?21:00
abentleyjelmer, yes.21:02
rowinggolferMy project is 714 revisions in, but I intend I am radically altering the folder hierarchy..  is there any reason why starting a fresh tree is a bad idea?21:03
Lo-lan-dorowinggolfer: Apart from losing history?21:04
rowinggolferLo-lan-do, the changes are so dramatic that bzr diff shows nada...21:05
=== Meths_ is now known as Meths
* Lo-lan-do shrugs21:06
Lo-lan-dobzr annotate on files might still be useful later on, but if you don't care, that's your call :-)21:07
rowinggolferLo-lan-do, thanks for your input... I will keep the history21:08
rowinggolferonly downside is bigger branches for folks I guess21:08
danhi21:25
dancan someone link me to some documentation on how to get started with bzr?21:25
rowinggolferhttp://doc.bazaar.canonical.com/latest/en/mini-tutorial/21:26
rowinggolferdan ^^21:26
danta!21:28
lifelessmoin21:42
Lo-lan-doG'day21:42
jelmerlifeless: ping21:45
jelmerI mean21:46
jelmer'morning lifeless21:46
jelmerlifeless: Is there an easy way to see what tests failed from the bzr pqm output?21:47
lifelessjelmer: grep for error: and fail:21:52
lifelessjelmer: there is a pending fix to pqm waiting on losa deployment to make it better21:52
jelmerlifeless: ok21:52
jelmerlifeless: Yeah, it was easier to find earlier - glad to hear it's a known issue.21:52
jelmerlifeless: unfortunately the error message23:38
jelmeris:23:38
jelmer_StringException: lost connection during success report of test 'bzrlib.tests.per_branch.test_last_revision_info.TestLastRevisionInfo.test_non_empty_branch(BzrBranchFormat4)'23:38
jelmerand the error doesn't fail locally23:39
lifelessnewz2000: so, that means one of two things23:39
lifelesseither the output was on stderr (should be at the top of the log)23:39
lifelessor it was mangled so that the end of the test couldn't be read :(23:40
lifelessI'll see if spm has time to do the upgrade when he surfaces23:40
=== nlisgo_ is now known as nlisgo
jelmerlifeless: thanks23:42
lifelessjelmer: try with no plugins perhaps23:43
jelmerlifeless: I can't reproduce the error myself, but it happens in bzr's pqm23:46
lifelessyes, I'm suggesting trying with no plugins as a start23:49
lifelessin case a plugin is fixing it23:49
lifelessit's unlikely to be that specific test23:49
lifelessprogress bars break subunit regularly23:50

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