/srv/irclogs.ubuntu.com/2009/02/06/#bzr.txt

=== ubott2 is now known as ubottu
Odd_BlokeSo, anyone in here going to FOSDEM?00:19
bartzitzhello, i'm affected by this bug https://bugs.launchpad.net/bzr/+bug/319790 (can't unshelve my changes)00:22
ubottuLaunchpad bug 319790 in bzr "bzr unshelve crashes losing all changes" [Medium,Confirmed]00:22
bartzitzi have a shelf file and my changes are visible there00:22
bartzitzbut i can't decrypt the syntax00:22
bartzitzhelp, anyone?00:23
jfroy|workspiv: branches to address URL escaping in bzr and loggerhead have been submitted. Thanks again for your input last week.00:24
spivjfroy|work: you're welcome!00:26
lifelessbartzitz: its a binary file these days, it can be extracted using bzrlib00:26
lifelessbartzitz: does 'unshelve --dry-run' work ?00:26
bartzitzas far as i can see it's not completely binary, i mean i can see snippets with my shelved changes00:27
bartzitzi reaaly need to quickly recover it00:27
bartzitzwii try --dry-run now00:27
bartzitzit shows a progress bar (something is going on). but in the end the same message: bzr: ERROR: No such file: None00:28
lifelessbartzitz: I'm just looking at the bug now00:31
bartzitzlifeless: ok thanks, i'll wait00:31
lifelessbartzitz: reproduced, so I can investigate00:34
lifelessspiv: ping00:37
lifelesspdb bailing worse :(00:38
lifelessabentley: ping00:39
lifelessabentley: need some insight into transform00:39
spivlifeless: ouch00:39
lifelesshttps://bugs.edge.launchpad.net/bzr/+bug/31979000:39
ubottuLaunchpad bug 319790 in bzr "bzr unshelve crashes losing all changes" [High,Confirmed]00:39
lifelessfollow my recipe at the end00:39
spivlifeless: ok00:39
lifelesswith BZR_PDB=1 and bzr.dev00:39
lifelessthen do00:39
lifelessbt00:39
lifelesslist00:39
lifelessfor me, that gave be a backtrace from pdb :P00:40
lifelessspiv: also, do you want to get together today?00:40
lifelessI don't know if you saw, but I'd kind of like to00:40
bartzitzlifeless: bzr.dev, development version you mean?00:42
lifelessbartzitz: yes, it has the bug still00:43
lifelessbartzitz: first thing in confirming, make sure its not fixed already :)00:43
bartzitzlifeless: i see. i'll have to compile it then00:44
lifelessbartzitz: hang on00:44
lifelessbartzitz: you don't need to do anything till I have a fix for you00:44
bartzitzlifeless: ok00:44
spivlifeless: gar, it seems to be a bug in my workaround :(00:45
spivlifeless: ok, trivial fix for the pdb issue:00:47
spivlifeless:00:47
spiv-                p.curframe = p.stack[p.curindex]00:47
spiv+                p.curframe = p.stack[p.curindex][0]00:47
spiv(in bzrlib/commands.py, of course)00:48
lifelessthanks spiv00:50
lifelessspiv: now, the other issue :)00:50
lifelessspiv: shall we sprint?00:50
lifelessbartzitz: its just deletes; working on a fix00:56
bartzitzlifeless: thanks a lot, i have some critical stuff in there00:57
poolie(out to lunch)01:00
spivlifeless: the weather is making me disinclined to move, let alone go out and about ;)01:01
lifelessspiv: ok01:02
spivIt would be good to get together again soon though.  How about Monday?01:02
lifelessspiv: I could pop up if you like01:03
spiv(IIRC the weather is supposed to be kinder by then...)01:03
lifelessre Monday I'll need to check with Lynne01:03
spivI'll need to check with Mary too, but IIRC she'll be at uni that day.01:03
spivSo here would be fine.01:03
mxpxpodwhat is the difference between the shelve/unshelve in bzrtools and the one that's included with bzr?01:03
lifelessmxpxpod: the bzrtools one predates and isn't as capable01:04
mxpxpodlifeless: ok, thanks01:04
lifelessmxpxpod: its deprecated now in fact01:04
mxpxpodlifeless: so I should be using shelve and unshelve rather than shelve101:04
lifelessmxpxpod: yes01:04
mxpxpodok, thanks01:04
mxpxpodhow do you show the changes in something that's shelved?01:06
lifelessmxpxpod: unshelve --dry-run01:06
lifelessspiv: I01:06
lifeless'm a tad confused, are you saying your place is fine Monday, or today :)01:07
lifelesscrossed-threads I think01:07
lifelessOTOH if its really hot, perhaps I should just stay here in my airconditioned room :)01:07
spivlifeless: Monday01:08
mxpxpodlifeless: is there a way to see the diff output of --dry-run?01:08
lifelessmxpxpod: I'm not sure01:08
mxpxpodlifeless: ok01:08
spivlifeless: I don't have air con, so you probably do want to avoid here today ;)01:08
lifelessmxpxpod: if you can't figure one out, file a bug ?01:08
mxpxpodalright, thanks01:08
lifelessbartzitz: I've figured out the api for shelve enough to do a low level unit test now, which means the next thing is the actual fix01:21
bartzitzlifeless: great01:22
lifelessjam: around?01:23
lifelessvila: or you ?01:24
=== asac_ is now known as asac
=== kgoetz is now known as Kamping_Kaiser
jelmerlooks like ohloh will be having bzr support soon \o/01:47
jelmerlifeless, could pqm be stuck atm?01:48
beunojelmer, where have you read this?01:50
=== mark1 is now known as markh
jelmerbeuno, talking with one of the ohloh folks01:56
beunojelmer, awesome01:57
lifelessjelmer: its quiesced; as per the mail on bazaar@01:58
jelmerlifeless: ah, sorry - must've missed that01:58
mwhudsonjelmer: cool beans02:03
lifelesswhats cool?02:05
mwhudsonohloh02:06
lifelessoh right02:06
fullermdNo, ohloh.02:06
lifelesssomeone should setup ohlol02:07
* lifeless looks at fullermd02:07
fullermdI'm working on ohhai first.02:07
mwhudsonohrly etc02:07
lifelesswith its sister site ohbai?02:07
mwhudsonbecause i'm lazy02:07
fullermdohbai is replacing 401 in HTTP/2.0.02:08
mwhudsonhow should i encode a filename in a content-disposition header?02:08
mwhudsonas i would for a url?02:08
lifelessiIRC yes02:09
igchi all02:09
lifelessI think its also come up in errata02:09
lifelesshttp://www.ietf.org/rfc/rfc2183.txt02:10
mwhudsonyeah just found that one02:10
mwhudson   Current [RFC 2045] grammar restricts parameter values (and hence02:10
mwhudson   Content-Disposition filenames) to US-ASCII.02:10
lifelesswell02:10
lifelessURL's are US_ASCII too02:10
mwhudsontrue i guess02:11
lifelessgimme a sec to page this in02:11
mwhudsonwell, don't want to distract02:12
* mwhudson watches ff save a file called "a%20b"02:12
lifelessdid you find http://www.ietf.org/rfc/rfc2184.txt02:12
mwhudsonah no02:13
* mwhudson reads02:13
lifeless2183 says '2184 for non-ascii params02:13
mwhudsonhuh02:18
bartzitzlifeless: don't want to bother you, but how the unshelf fix is going? i'll have to find other solution if it's going to take long02:18
mwhudsonso for the case i'm interested it most immediately (a filename containing spaces), all i have to do is put the filename in quotes02:18
mwhudsonoops02:18
lifelessbartzitz: in progress02:19
bartzitzlifeless: thanks02:19
lifelessbartzitz: its a bit of the code base I'm not very familiar with, and noone that is on is either02:19
mwhudsonow02:20
mwhudsonloggerhead can't even _render_ a link to a file containing non-ascii02:20
* mwhudson stabs python02:20
=== mark1 is now known as markh
fullermdWuff.  Hour 38 to 'check' bzr.dev.02:30
* fullermd remembers why he doesn't do it very often.02:31
lifelessfullermd: wtf02:31
lifelessoh yeah02:31
lifelesssee my mailabout faster check ?  :P02:32
=== kiko-afk is now known as kiko-zzz
lifelessbartzitz: ok, its PreviewTree missing some api's02:41
lifelessbartzitz: I think>. Anyhow, am progressing02:41
=== mark1 is now known as markh
mwhudson>>> inv['TREE_ROOT'].children.keys()02:59
mwhudson['a b', 'serve-branches.log', u'\xe9']02:59
mwhudsonthis isn't what i was hoping to see, btw02:59
mwhudsonis there some way i can get this information in a type-consistent way?03:00
lifelessmwhudson: what information03:00
mwhudsonlifeless: the list of files in a directory03:00
mwhudsonhm, maybe i'd be better off using revtrees rather than inventories directly?03:02
lifelessthat looks type consistent to me, modulo python suckage03:02
lifelessyou can use inventories if you want, but trees are the recommended interface03:02
mwhudsonthe way to avoid python suckage is to be consistent about using unicode or bytestrings03:03
lifelessoh yes03:03
lifelessand we are :)03:03
lifelessI will wager your test code isn't consistent or something like that03:03
mwhudsononly using unicode when there are high-bit set characters is not consistent in my book03:03
lifelesscompletely agree03:04
lifelesswe decode('utf8') all the paths coming out of dirstate03:05
lifelessand we take what we get from the xml parser in pythons standard library03:05
lifelessdon't assume what you are seeing is bzrlibs fault03:05
mwhudsonhttp://pastebin.ubuntu.com/114346/03:05
mwhudsonwell, maybe not03:05
mwhudsonanyway, trees seem saner, so i'll go that way i guess03:06
lifelessI will bet you that the xml decode is what is giving the ascii strings there03:06
lifelessI guess I'm saying03:08
lifelessdon't go rewriting a bunch of code to avoid this03:08
lifelessas RevisionTree answers directly from inventory anyway03:08
lifelessit won't be saner in this respect03:08
mwhudsonhm03:09
mwhudsonit seems list_files is03:09
mwhudsonbut walkdirs() isn't03:10
lifelesswhy does it matter to you - if its a path in bzrlib, treat it like its unicode. Unless you explicitly use a utf8 API that is03:11
lifelessbartzitz: I have bad news for you03:18
lifelessbartzitz: I'm going to need to consult with the author off this code to get a proper fix; I don't understand some of the intent03:18
lifelessbartzitz: though I'm going to persevere a bit more03:19
jfroyquick question: is there a command to switch an existing repo to having no trees by default03:28
jfroyor do I need to touch .bzr/repository/no-working-trees ?03:29
lifelessfor now, touch it03:29
lifelessthere is a patch in progress03:29
jfroyok03:29
jfroyI just don't like (too much) to rely on implementation details :p03:29
jfroyand thank you :)03:29
lifelessbartzitz: fixed03:47
lifelessbartzitz: just apply the patch from the bug report to your local copy of bzr03:47
* igc lunch & medical stuff - bbl04:15
lifelessjelmer: you really should push your improvements to bzr-hg and bzr-git trunks :P04:16
KhaZHi!  Quick question about bzr-hg, if anyone's familiar with it.  Are you supposed to use bzr pull [url-to-your-hg-path] to populate it?  or bzr branch, or which?04:16
bob2zing!04:17
lifelessKhaZ: bzr init; bzr pull04:17
lifelessKhaZ: if you do 'bzr branch' it will create a hg branch in the output ;)04:17
KhaZAh.  Heh, I do want to avoid that. ;)04:18
KhaZI do dig that launchpad website.  No chance that the software driving that is open source, eh? :)04:19
spivKhaZ: It will be in July: https://dev.launchpad.net/OpenSourcing04:20
KhaZOooh, neato.  I wonder if my work would be interested in that.04:20
KhaZAllowing we're around at that point, given all the bloody layoffs. :(04:21
=== mark1 is now known as markh
lifelessKhaZ: are you @ IBM/MS/Sun ?04:22
KhaZHrmm.  I'm trying to use hg-bzr from jelmer's branch, and it's complaining about 'No module named foreign'.04:22
KhaZlifeless: No, Disney, technically.04:22
lifelessoh cool04:22
KhaZIs 'foreign' something from Python, or something from a version of bzr that I don't have?04:22
lifelessits a addin bzr has04:22
mwhudsonKhaZ: you probably need a newer bzr04:22
lifelessjelmer wrote it as common infrastructure to bzr-hg/bzr-git/bzr-svn04:23
KhaZHrmm. 1.9 isn't cool enough? :)04:23
lifelessits been merged to bzr itself recently04:23
KhaZAh, neat.04:23
lifelesswe're getting ready to release 1.1204:23
KhaZHow recent?  1.10?  1.11?04:23
lifelessso 3 months04:23
lifeless1.11 should be fine04:23
mwhudsoni think 1.11 is new enough04:23
KhaZOK.  Unmasking I will go.04:23
lifelessigc: hi04:23
KhaZHmm.  Still complains about not having a module named 'foreign' in 1.11.  Guess I need to go install it.04:27
mwhudsoncan i dump the xml of an inventory somehow?04:28
lifelessyou may bzr.dev04:28
lifeless*need*04:28
KhaZIs there an automated way to install bzr plugins?  Or do I have to do the download/extract/setup.py build/setup.py install?04:28
lifelessmwhudson: yes but why04:28
KhaZLike the trunk?04:28
lifelessmwhudson: I smell the need for a preimp chat04:28
mwhudsonlifeless: still infuriated by this unicode thing04:28
bob2KhaZ: cd ~/.bazaar/plugins ; bzr co lp:bzr-something ; bzr whateveritdoes04:28
mwhudsonjust want to confirm what's going on, not actually coding anything04:28
lifelessKhaZ: most plugins just work by 'bzr branch lp:bzr-PLUGIN ~/.bazaar/plugins/PLUGIN04:28
KhaZAh, awesome.04:29
lifelessmwhudson: repository.get_inventory_xml04:29
lifelessKhaZ: ones with C extensions will need more04:29
KhaZNift.  Can I make 'aliases' in bzr, much like in hg with it's alias module?04:30
lifelessmwhudson: or r.inventories.get_record_stream([('foo',), 'topological', True).next().get_bytes_as('fulltext')04:30
lifelessKhaZ: yes04:30
KhaZLike, could I alias that bzr branch line to something like 'bzr install_plugin PLUGIN'?04:30
KhaZHot diggity.04:30
KhaZHrmm.  I take it there's more than sudo bzr branch lp:bzr-foreign /usr/lib/python2.5/site-packages/bzrlib/plugins/foreign tho?04:31
KhaZI do that, and it still complains about not having 'foreign' as a module.04:31
mwhudsonlifeless: get_inventory_xml worked thanks04:31
* mwhudson stabs the effbot04:31
mwhudson>>> [e.get('name') for e in et.parse(StringIO(b.repository.get_inventory_xml(b.last_revision()))).findall('file')]04:32
mwhudson['a b', 'serve-branches.log', u'\xe9']04:32
lifelessmwhudson: see above, not bzrlib04:33
KhaZlifeless: I take it you meant to send that to me04:33
lifelessmwhudson: but you haven't answered my question04:33
lifelessKhaZ: send what to you ?04:33
KhaZ < lifeless> mwhudson: see above, not bzrlib04:33
KhaZ < lifeless> mwhudson: see above, not bzrlib04:34
KhaZOops.04:34
lifelessKhaZ: no, I meant to send that to mwhudson04:34
KhaZOh.  Apologies. ;)04:34
mwhudsonlifeless: so loggerhead blows up reasonably thoroughly when there are non-ascii names in the inventory04:34
jfroyouch04:34
mwhudsonlifeless: just related and slow paced digging related to that04:34
lifelessmwhudson: are you treating the paths as unicode04:35
lifelessmwhudson: or are you treating them as bytes04:35
mwhudsonlifeless: well so far mostly limping along ignoring the issue04:35
lifelessI *know* you are getting bytes from the inventory, but what are you treating them as04:35
jfroymwhudson: I actually glanced over loggerhead's source today, and I did get somewhat worried that it didn't seem to really pay attention to using unicode internally and encoding only at the end04:35
jfroy:|04:35
mwhudsonlifeless: deciding which is obviously somewhat related to fixing the problem :)04:36
lifelessif you treat everything as unicode it should just work04:36
mwhudsonjfroy: hello, by the way :)04:36
jfroymwhudson: yo :)04:36
lifelessKhaZ: run bzr with -Derror04:36
lifelessKhaZ: and pastebin the result plase04:36
lifeless*please*04:36
jfroylifeless: lol04:36
mwhudsonjfroy: loggerhead is going to become the focus of my work time for the next couple of weeks btw04:37
jfroyinteresting04:37
mwhudsonjfroy: so i should be able to fix all this rubbish up04:37
mwhudsoncertainly, the intent of rendering is to produce a unicode string04:37
KhaZbzr -Derror just seems to send --help?04:37
jfroyI've pushed a minor branch today to prettify URLs coming out of its templates (basically making it use bzrlib.urlutils instead of urllib, and I fixed up urlutils)04:38
jfroymwhudson: huh no :p04:38
lifelessKhaZ: bzr -Derror $WHATEVER_YOU_WERE_DOING04:38
KhaZOy. ;)  No need to yell!  (J/k!)04:38
jfroyyou want to work with unicode strings internally, then output utf-8 in the templates, or, if you're using a filename as a URL, encode the URL properly (the functions in urlutils will do that)04:38
mwhudsonjfroy: which is then encoded as it is sent to the client04:38
mwhudsonin utf-8, indeed04:39
jfroyright04:39
jfroyfor what it's worth, BTW, buildbot equally blows up when there are non-ascii strings making it to its template engine :p04:39
lifelessjfroy: mwhudson: Two things04:39
jfroyI borked more than one of those with my properly spelled named :sigh:04:39
mwhudsontwo facts (1) i am not a *complete* cretin when it comes to unicode handling (2) i am not entirely responsible for all of the code in loggerhead :-p04:40
mwhudsonit's also hot and the end of my work day, so i'm probably being a bit vague04:40
lifelessthe first things i that the encoding of content of user files is not well defined in bzrlib04:40
lifelessso whatever you plan, understand bzrlib will only give bytestrings for that content.04:40
jfroylifeless: ah, that's a different problem, isn't it -- the file viewer, that is.04:40
mwhudsonlifeless: i think loggerhead copes vaguely well with this (well, non-explody) actually04:41
jfroythe cheap way is probably to try to decode utf-8 internally, if that doesn't fail send it as utf-8 to the client, and if it fails encode as ascii with losses or something.04:41
lifelesssecondly, while we define all paths as unicode in the API, we find that this sucks performance wise; we are slowly [carefully, very carefully] migrating much of bzrlib to use utf8 everywhere04:41
jfroylifeless: interesting04:42
mwhudsonlifeless: right, i was vaguely aware of this04:42
mwhudsonlifeless: it seems that this has mostly affected working tree stuff so far?04:42
lifelessjfroy: I won't get into a discussion about heuristics right now :P04:42
lifelessanyway04:42
lifelesspython unicode -> 4 bytes per character, very slow04:43
jfroyoh whoa, really04:43
lifelesspython utf8 -> 1 byte per char for most chars, much leaner and faster04:43
jfroyUTF32 eh, that's pretty heavyweight04:43
lifelessUCS4 I thihnk, specifically04:43
mwhudsonnot really UTF :)04:43
jfroyright04:43
jfroyyeah04:43
jfroymy mistake :|04:44
jfroyIn any case, I wonder why they decided to go with such a heavy representation.04:44
mwhudsonsimplicity of implementation and speed of indexing04:44
mwhudsoni think04:44
jfroyAnd yeah, cutting your memory usage for all paths, filenames and URLs by an average of 4 is going to be a win04:44
lifelessits build time I think04:45
lifelessanwyay04:45
lifelessif you've ever done04:45
mwhudsonalso the bytestring code is probably more optimized04:45
lifelesspython -c 'import cStringIO; print repr(cStringIO.StringIO(u"a").getvalue())'04:46
KhaZlifeless: http://pastebin.com/m4497eb3b04:46
KhaZSorry about the wait; puppy needed to poop.04:46
KhaZOH.  foreign should be in the hg directory04:46
mwhudsonlifeless: shut it :)04:46
jfroylifeless: 'a' :p04:47
lifelessjfroy: what platform are you on, and what python version04:47
jfroydarwin 2.504:47
lifelessvery interesting04:47
lifelessKhaZ: excellent04:48
lifelessKhaZ: yes, it should be04:48
KhaZUnfortunately now it barfs about not finding os.04:48
KhaZ:(04:48
KhaZhttp://pastebin.com/m45e9b8a104:49
lifelessKhaZ: looks like a bug in jelmers branch of bzr-hg04:50
lifelessfile a bug :)04:50
jfroylifeless: what output were you expecting?04:50
KhaZHeh.  doing an 'import os' at the top of the file works fine.04:50
lifeless$ python -c 'import cStringIO; print repr(cStringIO.StringIO(u"a").getvalue())'04:50
KhaZWell, it makes it take a damned long time. ;)04:50
lifeless'a\x00\x00\x00'04:50
KhaZAm I technically allowed to check into jelmers branch?  Or would jelmer kill me? (Or, less dramatically, would I be denied permissions?)04:51
lifelessyou would be denied04:51
KhaZLe sigh.04:51
lifelessbut04:51
lifelessits a DVCS04:51
lifelessyou can create your own branch04:51
lifelessin fact you ahve locally04:51
lifelessso commit your fix04:51
KhaZYeah.  I've got it local at least.04:51
lifelessthen do04:52
KhaZYessir.04:52
lifelessbzr push lp:~KhaZ/bzr-hg/fix-whatever04:52
lifelessassuming you've setup an account on launchpad04:52
KhaZAh crap. :(04:52
KhaZbzr: ERROR: exceptions.AttributeError: 'InventoryFile' object has no attribute 'find_previous_heads'04:52
lifelessand given lp your ssh public key04:52
lifelessjfroy: your build of python has either a fixed cStringIO, or uses utf8 internally04:53
lifelessjfroy: this will depend on what python is using for its unicode string ops; I think its some system library it ends up depending on that determines this04:53
KhaZlifeless: How/when do these branches get merged?  Is there one maintainer for all this?04:53
jfroyI never read the implementation of that module, but I'm surprised it'd be any different than that of other unix platforms04:53
jfroythat's quite possible04:54
lifelessjfroy: darwin is quite different04:54
lifelessjfroy: cStringIO won't be different04:54
jfroyIs it? Mac OS was very different, indeed. I know there's some massaging to build Python as a framework.04:54
lifelessjfroy: but apple carry patches to python; they might have fixed it so that cStringIO.StringIO(unicodething) transcodes rather than reading the representation array04:54
jfroythat's quite possible04:55
lifelessjfroy: so yeah, either a cStringIO fix, or the representation arry is utf804:55
lifelessKhaZ: when you think the branch is ready you can create a merge proposal04:55
lifelessjust go to lp to your branch and click on 'propose for merging'04:55
jfroyin any case, it doesn't really change the validity of the argument -- utf-8 is going to be more compact on average.04:55
lifelessoh yes04:56
KhaZInteresting.04:56
jfroyThere's probably going to have to be a round-trip to unicode for NFC normalization on darwin04:56
lifelessjfroy: which is why we are moving to it04:56
lifelessjfroy: utf8 is unicode :P04:56
jfroyI meant to the unicode type.04:57
jfroyIIRC the unicodedata module works with unicode objects04:57
lifelessjfroy: but yeah, when normalisation is needed, and we have utf8_bytestrings we need to either decode, which is a nonsense no-op on utf8 internal pythons, or have direct C access to something to normalise for us04:57
lifelessjfroy: mwhudson: anyhow those were the two points; standardings on 'unicode' type strings is very slow in python, we learnt this late04:58
lifelessdon't start down the wrong path04:59
jfroyI'm half surprised by that. I fully expected them to be slower, but not enough to not be willing to pay the cost.04:59
mwhudsonah hah04:59
mwhudsonmaybe i can blame paste for this04:59
jfroyBut 4 bytes per character, if indeed some implementations are using that, is overkill.04:59
lifelessjfroy: you can see my test05:00
lifelessjfroy: python on ubuntu/debian does05:00
lifelessand I suspect redhat etc too05:00
KhaZNow, pardon my ignorance, but there's no other way to import an hg repository other than bzr-hg, yeah?05:00
lifelessKhaZ: you can use fast-export05:00
mwhudsonKhaZ: there's fast-import based approachs05:00
jfroylifeless: I assume you are building a sub-class of str for this?05:00
mwhudsonthe rage, it boils05:01
lifelessjfroy: no, we are just careful to use hungarian names for variables, and we use str05:01
jfroylifeless: I'm not sure I like that too much, but I suppose if you're *very* careful.05:01
lifelessjfroy: subclassing str would be terribly slow05:02
KhaZHuh.  What's fast-export/import?05:02
jfroyI had in mind something like NSString / CFString which will vary their internal encoding based on what operations you perform on them and how they were initialized -- most of the time they never upgrade their internal representation to unicode.05:02
jfroylifeless: Ah I see.05:02
lifelessjfroy: here's a data point to think about05:02
lifelessjfroy: the history of bzr itself, has 3.3GB of raw text in the inventory metadata05:03
jfroy*internal representation to USC205:03
lifelessjfroy: we do a huge amount of text processing05:03
jfroyyou don't need to convince me :p05:03
KhaZOh, NEAT.  So if I understand correctly. bzr-fast-import basically sucks in a repository but doesn't worry about syncing back and forth?05:04
lifelessKhaZ: right, its a great migration tool05:04
lifelessits not as seamless but its been used very successfully by folk05:04
KhaZlifeless: Oh, perfect!  That's all I need.05:04
* mwhudson thinks about monkey patching urllib.quote with bzrlib.urlutils.encode05:05
lifelessmwhudson: no05:05
mwhudsonthanks05:05
lifelessmwhudson: send in a branch05:05
lifelessurllib does need love05:05
mwhudsonlifeless: to cpython?05:05
mwhudsonwon't help my 2.4 deployment05:05
jfroymwhudson: I did that :p05:06
jfroymore or less05:06
mwhudsonjfroy: do you know what the status of this issue is? http://mail.python.org/pipermail/python-dev/2006-July/067248.html05:06
jfroyhttps://bugs.launchpad.net/loggerhead/+bug/32597405:06
ubottuUbuntu bug 325974 in loggerhead "Use bzrlib.urlutils to provide prettier URLs" [Undecided,New]05:06
mwhudsonjfroy: i don't think that one will help the issue at hand though05:07
jfroyprobably not, if paste is using urllib internally05:07
mwhudsonright05:07
mwhudsonconstruct_url(environ, path_info=u'05:07
jfroyI actually tried to patch in urllib in serve-branches during imports05:07
jfroybefore importing anything else05:07
mwhudson\xe9') --> boom05:07
jfroythe trick is urlutils.encode uses urblib.quote05:08
jfroyhence, sadness ensued05:08
mwhudsoni guess we need to supply our own version of construct_url05:08
jfroyif bzrlib's urlutils are fixed up to operate independently, then the monkeywrenching could be done05:08
mwhudson(nice thing about paste: at least we can do this)05:08
jfroyyou're not supposed to ever give quote unicode strings :|05:09
jfroywell, unicode objects05:09
jfroyto not confuse things05:09
mwhudsonso i should encode as utf-8 first?05:10
mwhudsonah that works05:11
jfroyAh, actually05:11
jfroyhttp://bazaar.launchpad.net/%7Ejeanfrancois.roy/loggerhead/pretty-url/revision/26505:11
jfroyI did 2 things05:11
mwhudsonof course, processing the resulting url fails horribly :)05:11
jfroyput urlutils.escape(urlutils.unescape(...)) after request.construct_url05:11
jfroybut also, in def app05:11
jfroyurlutils.escape(urlutils.unescape(...)) self._url_base and self._static_url_base05:12
jfroydef url() basically works with url_base to build URLs05:12
jfroyand yeah, that will force _url_base to be a str object05:13
jfroysince urlutils.encode encodes a unicode object to utf-8 before it hands it to urllib.quote05:14
jfroyand then forces the output through str()05:14
lifelessspiv: so, did my recap email help?05:15
KhaZJust reading up on the comparisons between hg and bzr.  I've read you can't checkout a single directory underneath a repository, but you can checkin based solely on a subdirectory.  Which is true for pulling?  Can you pull based only on a subdirectory?05:16
jfroyAFAIK puling pulls changesets from the source branch, and thus, no.05:17
jfroy*pulling05:17
KhaZAh, nuts. :/05:17
KhaZThat really irritated me about hg too.  Was hoping bzr was better about it. ;)05:18
jfroybzr is atomic05:18
jfroyyou can't have some subdirectory at revid xyz and the rest at abcd05:18
jfroythat's an inconsistent snapshot of the branch history -- it's bad :p05:19
lifelessKhaZ: its something I would like to make more flexible, and so would igc05:19
lifelessatomic shouldn't mean inflexible05:19
KhaZ*shrugs* I dunno.  I work with multiple hobby projects all in one repository.  Creating multiple repositories for my tiny applications would be bad too.05:19
* KhaZ nods at lifeless05:19
lifelessKhaZ: well you can just use lots of seperate branches one per hooby project05:20
lifelessKhaZ: branch and repo are disconnected in bzr05:20
KhaZI suppose that's true.  And seeing as how svn+ssh makes it all hidden anyways.  Never thought about that.05:20
mwhudsonjfroy: what's your interest in loggerhead/bzr if you don't mind me asking?05:20
jfroylifeless: how would you ever make that work? If directory B has new source that depends on new source in directory A to compile, then pulling only directory B will get you a broken branch / working copy (assuming that the changes in A and B were commited together)05:20
KhaZWould make the bzr st better too.05:20
lifelessjfroy: of course05:21
KhaZjfroy: I agree, but in my opinion a user who asks for that is asking for user error.  But that's just the way my brain works with vcs's.05:21
mwhudsonjfroy: you clearly know a bit more about the practicalities of url generation/processing than i do, i hope you can stick around :)05:21
jfroymwhudson: sharing / browsing branches at work. an internal, mini-launchpad-while-waiting-for-launchpad-to-be-open-sourced05:21
lifelessjfroy: but you're conflating what can go wrong with how the tool should behave05:21
mwhudsonjfroy: ah cool05:21
KhaZOh neat.  So with bzr I have a separation between a 'repository' and a 'working directory'?05:22
KhaZhg kinda blurred the lines, or so I thought?05:22
jfroylifeless: I would personally not be willing to sacrifice changeset atomicity05:22
lifelessjfroy: specifically, you'd track the revid per dir, and warn about old subdirs on status etc, and have the default to be to update everything05:22
jfroyKhaZ: yes105:22
jfroy*!05:22
lifelessjfroy: you'd still be atomic05:22
KhaZHawt.  I like that.05:22
jfroylifeless: I suppose, but I don't like it.05:23
jfroyatomicity means your working copy is at a specific revid of a specific branch, not kool-aid.05:24
jfroy*no kool-aid.05:24
lifelessjfroy: right, so you wouldn't need to use it :)05:24
jfroyThe next step would be being able to mix 2 or more branches in the same working copy.05:24
lifelessjfroy: thats an asked for feature too; other more mature things like perforce and clearcase support that05:24
KhaZHeh.  Atomicity to me always meant that when you check in, it doesn't barf half way and end up with a half submit. ;)  Ahh, visual source safe, how archaic you now are.05:24
jfroydirectory A is using branch alpha at revid 123 and directory B branch beta at revid 2345, go go nightmare05:25
lifelessjfroy: I think it would be a nightmare if it could ever happen accidentally, or without warning05:25
jfroyI believe that giving people the ability to do it is just as bad.05:25
lifelessjfroy: but there are plenty of valid use cases which people simulate with 'revert -r 123 directory_a' at the moment05:25
jfroyThat's why I don't like git -- it lets you do completely arcane things that will rear their ugly heads later on and beat you up05:26
mwhudsonwell, woo, i can annotate a file called 'é' in loggerhead05:26
jfroymwhudson: :)05:26
KhaZThe ability to have different directories at different 'revisions' is supported by a lot of software, and in some cases, a lot of use cases too.  At work for instance we have a lot of artists who have their data at a higher revision than the code, because they just want to see their updates.05:26
lifelessjfroy: they already have it, but bzr doesn't know that they are doing it well enough to help them or warn them05:26
jfroyI suppose05:27
lifelessjfroy: I really do appreciate the issues; and I certainly am not suggesting that we definitely do something to directly support this05:27
lifelessbut! it comes up a lot05:27
lifelessand saying 'turn dir X into a nested branch' really isn't a good answer05:27
lifelessits too big a hammer05:27
lifelessand its the wrong sort of hammer for many cases05:28
jfroyKhaZ: that doesn't make sense to me, in the sense that if an artist commits a new asset, the asset commit will increment the artist's revno by one.05:28
lifelessKhaZ: in svn ?05:28
jfroyThe source code won't be "behind", it just won't be changed by that changeset.05:28
jfroylifeless: agreed05:28
KhaZlifeless: We use Perforce at work, sadly.05:29
lifelessjfroy: I think the use case is 'source code behind trunk, changes to assets done to trunk'05:29
lifelessjfroy: so there isn't a single revno for the whole tree on the artists disk05:29
KhaZjfroy: Sure.  Well our artists iterate a lot on their assets, and often don't want to upgrade to the latest development snapshot that we've checked in, as stuff just 'works' right then and there.05:29
poolielifeless: hi; can you tell me again the mail subject you especially wanted me to answer?05:29
lifelesspoolie: you did, last night :)05:29
lifelesspoolie: it was the on-track on05:29
lifelesse05:29
KhaZQuick question, I've got my repo built now, but if I do 'bzr update', I get: bzr: ERROR: No WorkingTree exists for "file:///var/hg/repositories/eddie-bzr/.bzr/checkout/".05:30
KhaZHow'd I dun' brokenated it so soon?05:30
lifelessKhaZ: 'bzr checkout .' in that directory05:30
KhaZOh.05:30
jfroyKhaZ: I've been working with DVCSes for too long I guess. I my mind that just means an artist isn't pulling from the blessed master branch and commits to his or her local branch his or her new assets05:30
pooliei thought you mentioned another this morning?05:30
pooliehey but if that's all, i'm happy05:30
lifelessthe output from the converter is a little odd05:30
KhaZbzr checkout . = bzr: ERROR: Not a branch: "/var/hg/repositories/eddie-bzr/.bzr/branch/".05:30
lifelesspoolie: oh05:30
KhaZI think bazaar hates me.05:30
jfroyand the artists could potentially have their own blessed central branch which they could update from time to time with the coder's blessed branch.05:30
jfroyetc05:30
lifelessKhaZ: look in the subdirs05:30
KhaZjfroy: Yeah, and I've never worked with DVCS (to my chagrin).  That's why I find this conversation so intriguing and so mind blowing. ;)05:31
lifelesspoolie: uhm, I mailed yesterday about fetch and old history05:31
jfroyKhaZ: checkout == branch + bind05:31
lifelesspoolie: or wednesday maybe05:31
KhaZAnd to be honest, I wonder about DVCS and artist workflows.  Inability to merge makes me think artists should never use DVCS.05:31
jfroyso the argument is a branch, and optionally a destination directory05:31
lifelessKhaZ: bzr supports a central model too, which is roughly svn like05:31
lifelessjfroy: there is a special case in checkout05:32
KhaZ"Look in the subdirs"?  I've got .bzr, hg-export.status (not a dir) and 'master', whatever that is.05:32
jfroylifeless: when cwd is a branch?05:32
lifelessjfroy: if you do 'checkout .' in a branch, you just build a tree05:32
jfroymakes sense05:32
lifelessjfroy: which is what a number of vcs do05:32
KhaZlifeless: Hrmm, interesting.  Can you 'mix' modes?  i.e, have a section of a tree that's 'central' and a section that's normal DVCS?05:32
lifelessKhaZ: cd master05:32
jfroyKhaZ: the idea is more to "bless" remote branches.05:32
lifelessKhaZ: yes you can mix, but not like that :P05:33
lifelessKhaZ: its a configuration for a given branch/working tree05:33
jfroyPeople saying "OK, http://internal.example.com/bzr/master" is the master branch from which we'll ship.05:33
KhaZRight.  Interesting stuff.05:33
lifelessKhaZ: just 'bzr checkout URL' rather than 'bzr branch URL', and when you commit it will go straight to URL rather than just locally.05:33
KhaZSo is 'master' bzr lingo for 'trunk'?05:33
lifelessKhaZ: its hg lingo05:33
jfroynope05:33
jfroywell05:33
lifelessKhaZ: you just converted from hg05:33
KhaZAh.05:33
jfroyit's entirely up to you :)05:33
jfroymaster, trunk, mainline, dev05:33
KhaZSo I can rename that 'master' to 'trunk' or 'fred' or what have you?05:33
jfroypick what you prefer :)05:34
lifelessyes05:34
lifelessanyhow that master is probably your branch from hg05:34
jfroyit's just the name of the branch / branch directory05:34
lifelesscd to it and look at whats in it05:34
* mwhudson avoids thinking about content-disposition headers for now05:34
KhaZNothing, but bzr update has it doing a lot of stuff. ;)05:34
KhaZSo if I understand correctly, the directory above 'master' is the repo, and 'master' is just the working copy?05:34
jfroymwhudson: wait wait, isn't that a MIME header? Why would you care about that :p05:35
jfroyKhaZ: master is the branch05:35
jfroya branch may or may not have a working tree. Generally, remote branches don't, to save disk space05:35
KhaZMan.  I've got to read up on this branch/repo differentiation again.  I've been playing with too many VCS lately.05:35
jfroya repository is, essentially, a "bucket of related changesets"05:36
jfroyit's an optimization to avoid duplicating history data for branches with a common ancestor05:36
mwhudsonjfroy: it's an "often implemented" http header according to the http/1.1 rfc05:36
KhaZAh, neat.05:36
mwhudsonwe set it for download links05:36
KhaZSo it's like the master branch, or something?05:36
KhaZNeat, so if I understand correctly, a repository will have zero or more branches, but a branch will always have a repo.05:37
jfroyYou'd store the "master" branch in a repository on the remote branch server, along other branches05:37
jfroyKhaZ: no, branches can be standalone.05:37
jfroyThey can exist outside or inside a repository05:37
mwhudsonjfroy: does this look sort-of vaguely sane to you? http://pastebin.ubuntu.com/114424/05:37
jfroywhen they are created inside a repository, they delegate history storage to the repository. Otherwise, they store history data within themselves.05:38
KhaZjfroy: Right, but they have to reference a repository somehow, no?05:38
KhaZOh.05:38
KhaZSo they can be literally stand-alone.05:38
jfroyKhaZ: right, if you move a branch outside of its repository (using mv say), you'll break it05:38
jfroyyup05:38
KhaZAt the point at which they store history data within themselves, are they essentially a repository at that point?05:38
KhaZOr is there still a difference between a 'stand alone' branch and a repository?05:38
lifelessKhaZ: they get a .bzr/repository subdir05:38
jfroya repository is not a branch05:39
jfroyyou cannot branch or checkout a repository05:39
jfroya repository is merely a bucket of history data :p05:39
KhaZHistory as in deltas?  Or meta data about the deltas?05:40
KhaZOr both?05:40
jfroyA branch can be either stand-alone, or stored in a repository, correct.05:40
jfroyboth05:40
jfroythe deltas themselves -- the changesets.05:40
KhaZRight.  And all the informationa bout them.05:40
jfroyindeed05:40
KhaZSo you can PULL from a repository to create a branch, yeah?05:40
jfroyno, you always, always pull from a branch05:41
lifelessKhaZ: at a code level, we can do that, but there isn't any ui05:41
jfroyyou can push a branch into a repository, creating a new branch stored inside the repository05:41
jfroylifeless: what would the semantics of that be?05:41
KhaZHuh, interesting.05:41
jfroymwhudson: yeah05:41
mwhudsongoody05:42
KhaZQuick question, that centralized model (I'm reading up on it now); I'm guessing there's no way to truly 'lock' files?05:42
KhaZi.e., artist 1 starts editing a maya scene, and artist 2 wants to edit it as well.  THe system can't notify artist 2 that it's already open for edit somehow?05:42
lifelessjfroy: init a target branch; source = bzrlib.repository.Repository.open(source); target = bzrlib.repository.Repository.open(target); target.fetch(source, tip); branch = bzrlib.branch.Branch.open(target); branch.set_revision_info(tip, tip_revno)05:43
lifelessjfroy: roughly05:43
lifelessKhaZ: no, there is no advisory locking of files today05:43
lifelessKhaZ: doable as a plugin though05:43
fullermdNot with distributed branches, no.  You don't even have any way of knowing that artist 1 HAS a branch, much less what they're doing with it.05:43
fullermdIf they were working on a common branch, there's no theoretical obstacle to doing so, but nobody's done it.05:43
KhaZI suppose it doesn't make as much sense in a VCS that doesn't do Perforce's read-only-if-not-checked-out schtick anyhow.05:44
KhaZIs there a global option or something to make bzr commands only apply to a specified subdir and below?05:45
jfroyyeah, Bazaar isn't based on a lock model at all.05:45
jfroyBranches are merged and conflicts generated by merge algorithms.05:46
KhaZOh, never mind, it does already!05:46
KhaZOr at least bzr st seems to.05:46
KhaZjfroy: Yeah.  Doesn't work so well with binary files tho. :/05:46
jfroynope :p05:46
fullermdWT commands generally do by passing them the dir, yah.05:46
KhaZStupid artists.  Learn to code your drawings. ;)05:46
lifelessKhaZ: no there isn't, but paths are shown relative to ., I believe05:46
KhaZlifeless: Awesome.  Already a win over hg.05:47
bob2KhaZ: bzr'll at least recognise that and let you pick which file to go with05:47
KhaZbob2: Ah, that's kinda neat.  I'm just trying to avoid the typical problem artists had with non-locking models of "F#@!, what do you mean you've been working on that for two weeks?  SO have I!  I'm not throwing out my changes!"05:48
jfroyI think that's called failure to communicate.05:49
jfroy:p05:49
KhaZYup.  But it happens more than you'd care to imagine...05:50
jfroyI sympathize with you though; it would be a big problem for a non-locking VCS.05:50
lifelessok, time to call it a weke05:50
lifelesspoolie: did you find the mail?05:51
KhaZYeah.  I think if I ever push DVCS it'll be engineers only.05:51
jfroywell, as was mentioned, a plug-in could be developed for that.05:52
lifelessKhaZ: we have reports of folk using bzr with artists and the like very successfully05:52
KhaZjfroy: Hrmm, good point.  Well, it's a long way off until anyone at work cares what I think anyhow, so I can wait until said plugin comes to fruition. ;)05:52
jfroyPlug-ins can be extremely powerful things -- so many possibilities :)05:52
KhaZjfroy: Aye.  I think I prefer bzr's plugin model over hg's too.05:53
KhaZThe simple fact I couldn't rewire hg diff drove me up the wall.05:53
* mwhudson trials and errors with ff 05:53
KhaZlifeless: I'd be interested to hear how it works for them.05:53
* jfroy wants more success stories too :)05:54
KhaZSeriously now.  I'm glad I don't pay for Tortoise* software, because I have a veritable tortoise farm growing in my 'Add/Remove Programs'05:54
KhaZTortoiseSVN/TortoiseHG/TortoiseBZR... Sheesh.05:54
lifelessKhaZ: 'well'05:54
mwhudsonjfroy: another fun diff! http://pastebin.ubuntu.com/114432/05:54
lifelessKhaZ: :P05:54
lifelessKhaZ: seriously, thats all the detail I have05:55
KhaZlifeless: That's the detail on my tortoise farm, or on the artists enjoying bzr? :)05:55
lifelessartists enjoying bzr?05:55
lifelessok, see you all Monday05:55
KhaZlifeless:  <  lifeless> KhaZ: we have reports of folk using bzr with artists and the like very successfully05:56
KhaZlifeless: Later, thanks for your help. ;)05:56
mwhudsonjfroy: btw, re: https://code.edge.launchpad.net/~jeanfrancois.roy/bzr/url-safe-escape/+merge/3417, bazaar doesn't use launchpad for tracking merge proposals05:56
=== sdboyer is now known as magic_pixie
=== magic_pixie is now known as sdboyer
jfroymwhudson: looks good05:57
mwhudsonjfroy: good enough for me, thanks :)05:57
jfroymwhudson: bah, right05:58
jfroyI'll open a bug and huh... mail them a merge bundle?05:58
mwhudsonyep05:59
mwhudsonbzr send05:59
mwhudson+ some twaddle in locations.conf05:59
jfroyyeah05:59
jfroy:sad:05:59
jfroythat needs to be improved05:59
jfroychild_submit_to (or whatever) isn't bad, but it can't go in locations.conf, it has to be in branch.conf06:00
jfroywhich means you can't blanket a repository of (say shared remote) branches with it06:00
* jfroy grumbles06:00
mwhudsonjfroy: anyway, thanks for being a sounding board, i'll look at your merge proposal properly on monday :)06:02
jfroyNo rush06:03
jfroybut cool :)06:03
jfroyMy biggest concern right now is building some kind of bi-directional bridge between svn and bzr06:03
jfroysvn needs to stay the "master", because the svn server is backed up offsite, blah blah blah, and some people want to continue using it.06:04
jfroyWhile I and others want to use bazaar06:04
jfroyI'm aiming for a setup where there's a blessed bzr branch somewhere that stays in sync with svn (probably only svn trunk, svn branches be damned) through bzr-svn06:05
jfroypeople using bazaar can branch off that svn mirror branch and do stuff, and eventually push back to that mirror branch, which will then sync up those changes with svn.06:05
jfroyI'm wondering how to handle conflicts in all this, ideally by not having to worry about them at all, e.g. preventing pushes to the svn mirror branch if that would cause a conflict.06:06
jfroyMaybe that mirror needs to be a bound branch....06:07
jfroymmmmm06:07
bob2that'll just lead to a more annoying display of the conflicts06:07
KhaZHrmm, stupid question.. How do I set a custom diff tool in bzr?  Can't find anything in the configuration stuff to do it...06:07
jfroyKhaZ: you need the difftools plugin06:08
jfroyI believe06:08
jfroybob2: am I aiming for the proverbial pipe dream?06:08
bob2KhaZ: extdiff, iirc06:09
KhaZAh... Will this replace the 'diff' command, or will I have to remember to always type 'bzr cdiff' or some such other?06:09
jfroyyou can replace the diff command with an alias06:10
bob2no idea, cdiff is far too convenient for me to replace it06:10
jfroyor a plugin can override it, yeah06:10
jfroybut that would probably be rude06:10
KhaZHaha06:10
KhaZDoes anything in bzr rely on diff exporting diff's of that variety?06:11
bob2jfroy: not sure, sorry06:11
bob2you can alias bzr diff to whatever you want06:11
KhaZOh that's awesome.  hg didn't allow that.06:11
KhaZYeah, just got it working with diff = diff --using colordiff06:11
jfroybob2: I think to get a really robust solution, the bzr-svn syncing will have to happen as a subversion pre-commit hook06:12
jfroyand refuse commits that would cause a conflict, on either side06:12
jfroywell, commits from subversion, and basically bazaar you won't be able to push to a branch that has diverged and that takes care of that06:12
bob2KhaZ: bzr cdiff in bzrtools does that06:14
KhaZAh, neat.  I still like not having to train my lazy brain to remember to use 'cdiff'. ;)06:15
KhaZHuh.  TortoiseBzr doesn't allow me to checkout to my usb drive.  Weird.06:25
poolieKhaZ: what happens?06:33
KhaZpoolie: Just doesn't show up as an option.06:34
KhaZpoolie: But if I do a checkout from the C:\ and rename C:\ to L:\ (my USB drive directory) it works fine.06:34
poolielifeless: i answered06:41
=== _Nicke_ is now known as Nicke
vilahi all07:14
pooliehello vila07:15
pooliehow's stuff?07:15
vilafiner on the hardware side :) I had ti go back to store yesterday with my new toy just to discover that the failure was transient :-/07:15
vilas/ti/to/07:16
poolieoh07:16
pooliewhat was the toy?07:16
vilaicore7-965/12GB/60GBSSD/1TBHDD :-)07:16
pooliea desktop machine?07:17
vilaThat's the Dr Jekyll of the MacBook Air Mr Hide :)07:17
vilayup07:17
poolieah07:17
pooliei had some hardware trouble the other day07:17
poolieone of my hdds stopped working07:17
poolieit might have been too hot07:17
pooliein fact _i_ am too hot because my apartment is poorly designed and the airconditioner is broken atm07:18
vilaI'm still searching for the best way to show hardware sensors with intrepid...07:18
* fullermd is still flabbergasted at how Intel totally failed to interest him in an i7...07:18
poolieit's very inconsistent between different hardware i think07:18
vilaI stop yesterday evening under the impression that my chipset was a bit too new for lm-sensors07:19
pooliembmon works ok for me on a much older 965 board07:19
vilaI'll look into that, I think I got the chipset (IHC10 ?) recognized with a more recent version of sensors-detect, but I'm not sure I don't need some other pieces...07:20
fullermd's too bad, 'cuz it sure looks like a secksay chip.  But I guess I'm still an AMD guy 'till their next refresh at least   :|07:22
vilafullermd: very sexy indeed, but pricey...07:22
fullermdYeah.  Doubly so with the DDR-3 memory, too.  That's off-putting.07:23
vilathe fun thing is launching status monitor and try to understand what is going on with *8* curves instead of 2 :-)07:23
jeddy3morning07:38
jeddy3at the office we use subversion in the way that we build a complete tree of our repository but only check out the parts we actually need and leave big parts of the directory tree empty, is this possible with bzr?07:41
jeddy3(we have a huge repository with different products, 10 branches and 30k-something revisions) and with this scenario you don't have to fetch the whole repository, but you can still update/commit multiple branches at the same time07:42
jeddy3in other words a --depth for bzr08:04
jeddy3...which at a closer look doesn't seem to exist...nevermind08:06
pooliejeddy3: ian's working a bit on it; our name for it is 'filtered views'08:08
pooliei don't know if it's ready for testing yet though08:08
jeddy3poolie: ah, sounds nice!08:10
jeddy3and actually filtered views is a really good analogy for it08:11
ollieneed a quick bit of advise about a bzr repo08:12
ollieI have my main developers and they work in /home/bazaar/repository/web/project/trunk/sub-project. I then have an outside developer who I want to provide a branch for. I created a branch within my repo but it ended up creating the files in the repo which I wasn't expecting08:13
ollieI want the developer to be able to do a checkout from this branch. What is the best way to achieve this?08:13
poolieollie: so it sounds like you have a branch that contains a working tree08:14
poolieyou can still make a checkout of it somewhere else08:14
ollieyes that is exactly what I have08:14
ollieok, and then will it be easy to merge the two?08:15
pooliethe wt in the central repository will get out of date (unless/until you run 'update')08:15
poolieif you don't want the tree there, just run 'bzr remove-tree'08:15
pooliehth08:15
pooliegood night all08:15
ollieah didn't know you could do that08:15
speakmanhttp://ppa.launchpad.net/bzr/ppa/ubuntu still breaks bzr upgrade due to uncompatible bzrtools: http://pastebin.com/me990cae08:18
* AmanicA wonders how long bundlebuggy will be on holiday (it doesn't pick up merge requests for some reason. I do hope I didn't break it again. sorry)08:20
=== mark1 is now known as markh
=== kiko-zzz is now known as kiko
* Lo-lan-do → FOSDEM09:57
jeddy3hmmm10:47
jeddy3bzr pull on a subversion tree takes extremly long time... :|10:48
jeddy3it should be up to date or maybe almost up to date10:51
spivjeddy3: file a bug10:52
spivjeddy3: I think it may be because it's wasting a lot of time in find_tags10:52
spivjeddy3: as a hack, if you put a "return {}" at the top of find_tags() in bzr-svn's repository.py it might workaround it...10:53
jeddy3spiv: that would not return any tags, what is the effect of that? :)10:54
=== kiko is now known as kiko-afk
jeddy3spiv: i mean does that have any consequences?10:55
jeddy3spiv: if not, why does even find_tags exist? ;)10:56
spivjeddy3: right, that's the downside.11:00
spivjeddy3: but if you don't care much about tags, then it might be an okay tradeoff :)11:01
jeddy3:D11:09
jeddy3spiv: thank you11:09
BjornWI want to perform a partial export. As in exporting only 1 directory or file. This doesn't seem possible with bzr or am I missing something?11:46
BjornWNobody got any hints or tips to perform a partial export?11:58
beunoBjornW, BjornW what version of bzr are you using11:59
beunoyou can do:  bzr export file.tar.gz my_dir11:59
BjornWbeuno: 1.3.1 (I use Ubuntu 8.04 LTS)12:00
beunoBjornW, it probably wasn't available then12:00
beunoyou could use the bzr PPA12:00
beunoto get the latest version12:00
beunohttps://launchpad.net/~bzr/+archive12:00
BjornWbeuno: ok, is it production stable?12:00
beunoBjornW, yes, more than 1.3.1  :)12:01
BjornWbeuno: haha ok, so I can do this: bzr export some_dir_in_my_repos /releases/some_new_release12:02
beunoBjornW, the other way around, but yes12:02
beuno'bzr help export' will tell you the gory details12:02
BjornWbeuno: cool, that's what I need. I'm gonna upgrade bzr now. Thanks for the info!12:02
beunoBjornW, you're welcome12:03
BjornWbeuno: just tried it and you just saved me a lot of annoying work. Thanks!12:22
beunoBjornW, happy to help. You should see quite a few improvements with newer versions of bzr12:25
beunoperformance especially in the next few months, if you keep updated through the PPA12:26
BjornWbeuno: Cool, actually I'm thinking of working some on bzr as well. I'd to add a --force for exports to override previous exports. I've been missing this from svn. Any hints on the best way to start doing this?12:44
=== kiko-afk is now known as kiko
bialixBjornW: may be it's better to start reading builtins.pt cmd_export12:47
bialixbuiltins.py12:47
bialixactual export code lives at bzrlib/export/ dir12:47
BjornWbialix: thanks, I'll have a look tonight at it.12:54
bialixBjornW: also there is bzrlib/tests/blackbox/test_export.py12:56
awilkinsjelmer: ?12:57
edgimarHow do I change my working directory so that all the files are from an earlier revision?13:38
awilkinsbzr revert -r <my earlier revision>13:40
edgimarawilkins: ok, so if I don't specify a filename, it just does the entire working directory?13:41
awilkinsedgimar: Yes13:41
edgimarok great.  Thanks.13:41
awilkinsBug hunting?13:41
edgimarindeed...  Is there a 'bisect' like extension for bzr which automates things partly?13:43
awilkinsedgimar: Yup, that's what I was segueing into13:43
edgimarIs it in fact 'bisect'?  Maybe I need to install it separately?13:44
awilkinsYes, it's a plugin13:44
edgimarAnd where do I get it / how do I install it?13:44
awilkinsbzr co http://bzr.licquia.org/bzr-bisect/ ~/.bazaar/plugins/bisect   # that ought to cover it13:45
awilkins(on *nix, anyway)13:45
edgimarI guess there isn't an Ubuntu/Debian package for it?13:45
awilkinsThere's no PPA for it on launchpad13:46
edgimarbzr: ERROR: Not a branch: "http://bzr.licquia.org/bzr-bisect/.bzr/branch/"13:47
awilkinsDang13:48
awilkinsAha13:48
awilkinsbzr co http://bzr.licquia.org/bzr-bisect/trunk ~/.bazaar/plugins/bisect   # that ought to cover it13:48
edgimarok thanks.13:48
mtaylorlifeless: awake?13:48
awilkinsedgimar: You should also be able to branch it from it's launchpad mirror at   lp:bzr-bisect13:50
awilkinsThat seems to be where my install is from13:50
edgimarok -- the previous co cmd worked though.13:50
awilkinsYes, they're both identical mirrors (just checked). It hasn't changed in a long while, it must use very stable parts of the API13:51
edgimarawilkins: so I take it that the way bisect works is that I first need to revert to a very old revision, and then do 'bisect start' and other bisect commands.?13:57
mtayloredgimar: nope13:58
awilkinsedgimar: Start at the tip, and bisect will handle the searching13:58
mtayloryup13:59
awilkinsYou are looking for the revision where a particular property of your tree emerges13:59
awilkinsIn this case, a bug13:59
mtaylorand it's tha bomb, if I'm allowed to use that word13:59
awilkinsbzr bisect start13:59
awilkinsThen for each tree it presents you with, you test for the property. If it's there, bzr bisect yes13:59
awilkinsif not bzr bisect no13:59
edgimarit strikes me as funny that you must 'revert' to the tip revision...13:59
awilkinsYou may also give it hints if you wish to speed it up (ie - you know a particular revision was "good")14:00
mtayloredgimar: why would you need to revert?14:00
awilkinsmtaylor: He reverted to an older revision when searching manually14:00
mtaylorah, gotcha14:00
mtaylormanual search bad14:01
mtaylor:)14:01
jeddy3hmm, is bzr pull on a bzr-svn repo supposed to take 1h20m even when there are NO NEW REVISIONS? :P14:04
awilkinsjeddy3: You upgraded to bzr-svn 0.5 recently?14:04
jeddy3awilkins: version 0.4914:05
jeddy3sorry 0.4.914:05
nevansoi vey, bzr-svn 0.5 is *slow* for me (only when talking to svn).  I pushed to svn 26 minutes ago.  svn recorded the commit 25 minutes ago.  "bzr push" finally returned just now.14:07
nevansof course, the last several releases of bzr-svn 0.4 didn't work for me at *all*, and bzr (not talking to svn) has sped up dramatically since then, so I suppose I shouldn't complain.  :)14:09
jeddy3heh :)14:10
nevansalso, I'm working with a ~53000 revision svn-repo, and this branch has 16746 revisions, so my bzr-svn performance may not be typical.14:11
jeddy3hehe, 34000 revisions here, but still14:12
jeddy3(repository-wise)14:12
nevansI'm thinking that I need to finally hunker down and (re-)learn python, so I can take a look and profile it myself, and stop just being a complainer :)14:13
edgimarawilkins: With bisect, I start with the tip revision, and type 'bzr bisect start' -- then it doesn't present me with a new tree, but I must first do bzr bisect yes/no.  Is that right?14:33
awilkinsedgimar: Yes14:34
awilkinsStart with "yes" if your tree has the property,14:34
awilkinsTHen "no" when it doesn't14:34
edgimarAlso, does 'bisect yes' mean 'yes, there is a bug observed', or 'yes, this works correctly'?14:34
awilkinsYou could automate it, if you have a test for the bug that isn't in the tree itself14:34
awilkins"yes" means "this tree contains the property I'm looking for"14:35
awilkinsWhich is the bug in this case14:35
edgimarBut it doesn't matter if I decide yes=bug, or yes=no bug?14:35
edgimar(as long as I'm consistent)14:36
awilkinsI think it assumes that it's looking for something that once didn't exist, but now does. So yes should mean "bug"14:36
edgimarOk, that clarifies things...14:37
edgimarOk, now things are looking more like I'd expect.. :)14:38
edgimarIt occurs to me, however, that bisect can't really handle 'local optima', where the bug may have been introduced, and then is removed, and later introduced again.  ??14:40
awilkinsNo, I don't think it could handle that14:40
jamnevans: if you do "bzr XXXX --lsprof-file foo.txt" it will run a profile for you14:40
awilkinsedgimar: You could work around that as long as you knew at least one "good" revision in the period between "bug" and "bug : the return"14:42
bialixрш офь14:42
bialixhi jam14:42
microftneed some quick help: how do I merge new changes from a launchpad project to my launchpad branch?15:28
jamhi bialix15:29
jammicroft: "bzr co lp:~myuser/project/branch; cd branch; bzr merge lp:~other/project/branch" ?15:30
jambzr commit -m "new changes from $other"15:30
microftjam: thanks15:33
bialixhi all15:42
bialixdear bzr hackers, I need a little help about writing test for my plugin, I need to emulate interaction with remote server15:43
Necorodoes there exist a possibility (e.g. bzr command) to check whether a directory is a bzr branch? - and which returns false in case it is an svn repo ;)15:46
NecoroI used "bzr revno" up till now ... but if bzr-svn is installed, this will also succeee15:46
Necorobut take way to long15:46
jdonghey guys; what's the current status of bzr/bzrlib in IronPython? I have a project on the CLR I'd like to interface with bzr15:47
jdongand am currently debating between an IronPython bridge or just some CLI hackery.15:47
Takjdong: ironpython bridge was a no-go when I tried a few months ago15:51
vilabialix: what kind of remote server ?15:51
bialixjdong: try to look at ironclad15:51
bialixvila: hi15:51
vilayo :-)15:51
bialixany kind of server is good15:51
bialixyo!15:51
bialixI think about sftp15:52
Takhmm, can I unmerge a merge I did a few commits ago?15:52
bialixbecause paramiko is strong dependency15:52
bialixbut http is also good15:52
vilathen look at bzrlib.test.test_sftp I think there is a class (or 3) about that15:52
vilafor http look at bzrlib.test.test_http, plenty of servers there :-) Even bzrlib.test.http_server15:53
bialixI don't see test_sft.py15:53
vilabialix: sorry, that's bzrlib.test.test_sftp_transport15:53
bialixthere is test_sftp_transport.py15:54
bialixaha15:54
vilabialix: sorry, that was from memory, I checked after typing instead of the opposite :-)15:54
Taknevermind, it's working the way I'd think it would, I just typoed the first attempt15:55
bialixvila: basically I need to have writable transport to test init/push for scmproj15:56
bialixand get/pull too15:56
vilaso that will be sftp15:56
bialixTestCaseWithSFTPServer -- it's what I need?15:57
vilayou may have a look at bzrlib.tests.commands too, where the need for a writable transport guided the design15:57
bialixtests/commands/test_init.py does not shed many lights here :-)15:58
vilabialix: yes, and bzrlib.tests.commands really use bzrlib.test.transport_util to define the right transport and server15:58
vilabialix: looks like you're too fast for me today, wait *some* seconds after each of my response may help :)15:58
bialixvila: I think my question is: how can I inspect the files supposed to be on the server, or used by server?15:59
vilaha15:59
bialixok, I'm waiting15:59
vilaHere is the dirty secret: we cheat :-)15:59
bialixwhat?16:00
bialixhow can you dare?!?!16:00
bialix:-)16:00
vilaWe access the files locally knowing there are the same ones that the test server is using16:00
vilafor 99% of the cases that makes no difference, the remaining 1% is when *I* try to test with real ftp servers :-)16:01
bialixvila: but how I can say to the server: you should serve files from *this* directory?16:01
vilaIf you use the bzr test framework it's mostly transparent16:01
bialixI'm working on plugin for bzr16:01
bialixso yes, I'm trying to use existing test framework16:02
vilabecause the tests run in a TMP directory and that's the current directory as far as the test writer (you) is concerned16:02
bialixmay I explain you more specific example?16:02
vilasure16:02
bialixit's about scmproj plugin16:02
bialixI want to test init of new scmproj control dir16:03
bialixit's almost equal to regular bzr branch16:03
bialixso I'll doing local init, first commit, then push to testing server16:03
bialixthen I want to check what's on the server16:03
bialixthis is my test case16:04
bialixis it correct?16:04
bialix2 questions: what should be URL to the testing server?16:04
vilaso let's say you push at self.get_url('branch'), you can then test f = open('branch/my_file')16:05
bialixand second: the files I'm push will be in current testing dir? it's fine16:05
vilayup16:05
bialixself.get_url?16:05
vilaYou must remember to use different paths to avoid16:05
vilaargh16:05
vilaget_url should be defined for any TestCaseWithTransport, let me check :)16:06
bialixget_url seems to be defined in the TestCaseWithMemoryTransport16:06
bialixwhich is father of all other tests16:07
vilayup, that's right, and inherited from there16:07
bialixthat's right?16:07
vilahehe, faster than you there ! :)16:07
bialixrats16:07
bialixyou win16:07
bialixwhy for get_server() methods are used/supposed?16:08
vilayou can also use self.get_transport(relpath) to get a transport pointing at the remote server16:08
bialixyes, maybe I'll need this16:09
bialixso, if I'm using TestCaseWithSftpServer -- I can suppose the server is auto-started?16:09
vilayou need get_server() mostly when you want to test the server itself16:09
vilayes, the server is handled for you16:09
bialixno, I need test only the result of interaction with the server16:10
bialixnot the server itself16:10
bialixso, I can create branch in current test dir and then work with it via server. it's fine16:10
bialixand easy16:11
bialixvila: thank you thank you thank you16:11
vilabialix: be my guest and happy to help(TM) :)16:11
bialixthis is the quote?16:11
vilahappy to help is jam's quote :)16:12
bialixmerci beaucau (sorry if I mispelled)16:12
vilavery close: merci beaucoup16:12
bialix:-[16:12
awilkinsjdong: Tried IronPython a week or 2 ago16:13
bialixmy english now is better than my francais16:13
jamvila: I think it is actually "always happy to help"  :)16:13
vilajam: :)16:13
awilkinsjdong: It would need significant work16:13
bialixjam: you rocks16:13
bialixand vila rocks16:13
bialixthank you guys16:13
microft~~~~~~16:16
jdongalright looks like I have to go with a different approach then :)16:17
jdongOT then, anyone know of alternative 3-way mergers for directories that don't rely on a VCS? :)16:18
jdongI don't need a revision history or anything, just a decent 3-way sync16:18
awilkinsjdong: The way that bzr-svn makes a little XMLRPC server process would be a reasonable integration method16:18
jdongyeah I suppose I can use a Python script to expose some sort of IPC protocol for the Mono side to talk to16:19
jdongor... for this stupid little hackish program... just shell out to bzr's binary16:20
jdongbtw, I would just like to say bzr's Windows compatibility rocks; the best of the DVCSes I've tried.16:21
awilkinsI agree with you ; every time I try Hg or git to see if they got any better I run into something that either stops it working or makes me go "gaaaaaaaah!"16:25
awilkinsI'm sure that git in particular is awesomely powerful - on it's home turf16:25
Takjdong: have you looked at https://launchpad.net/monodevelop-bzr16:30
jdongawilkins: yeah git is great on a POSIX platform; though I beg to differ with its UI16:41
jdongTak: very cool, I'll look at it.16:42
jamjdong: you need a 3-way merger on Windows?16:44
jamthere is stuff like "meld" but I believe that is linux-only (though there is a lot that is portable)16:45
bialixjelmer is like superman. he's everywhere16:45
jamI suppose it also depends on what your "base" is, and how you are tracking it16:45
vilabialix: naah, the truth is that there are twins ( 3 of them in fact :)16:45
bialixI suspect this!@16:46
fullermdThe magic of cloning...16:48
jdongjam: basically I have, on an arbitrary number of machines, a repo of text files. They operate partially disconnected and I'd like to be able to propagate the latest changes from any repo to any other.16:48
jdongcurrently I am thinking of representing them as bzr branches and merge operations16:48
rockstarIf I create a shared repo with --1.9, will all the branches in that repo also be in format 1.9?16:48
jamrockstar: not without individually upgrading them16:48
jamthough the upgrade in that dir should be trivially fast16:49
rockstarjam, what if it's from scratch?16:49
rockstarSo I just create a new repo and a new branch in that repo?  Will that branch be format 1.9 ?16:49
jamrockstar: "bzr init-repo --1.9 repo; cd repo bzr init my-branch" the branch will use the 1.9 storage, but will technically be a 'pack-0.92' branch16:50
jamwith the only difference being a flag that indicates it supports stacking16:51
derekShey guys, can i push to a local repository, then push that up to another repo?16:51
jamthough if you do "cd my-branch; bzr push lp:xxx" it will use the fact that the repo can stack, and auto-upgrade the branch format, IIRC16:51
jamderekS: generally, yes16:51
jamrockstar: in other words, "bzr init" does not use a containing repository to define the branch format.16:51
rockstarjam, so I'll have to bzr init --1.9 the branch as well.  Okay.16:52
derekSjam: generally?16:52
jamderekS: I *think* I know what you are trying to do, and it should just work.16:53
derekSok :)16:56
derekSthanks16:56
Peng_If you don't care about stacking, you don't need to use 1.9 format branches.17:11
Peng_As long as you don't mind "bzr info" saying "format: unnamed".17:11
abentleyPeng_: I think you mean 1.6.  1.9 has other advantages.17:24
jamabentley: the 'branch' format for 1.6 and 1.9 are identical.17:28
KhaZWeird.  TortoiseBazaar can be forced to do a checkout to a USB drive, but it won't give me any options to manipulate said items on the usb drive. :/17:28
jamso doing "cd repo; bzr upgrade --1.9; cd branch; bzr upgrade --1.6" will have "bzr info" tell you 1.917:29
abentleyjam: Yes, I see that in this specific case, it's true.17:29
jamyay for summary items17:29
jamthat don't quite tell the truth17:29
CaMasonhi guys. I've been committing locally, and now want to send those changes to the central repo. What's the correct process?17:44
KhaZCaMason: bzr push [central repo url]17:46
CaMasonI ran bzr update, but I seem to have buggered up my local copy (the one I've been using commit --local with)17:47
CaMasonbzr log is showing the most recent entry as 172, yet doing 'bzr check' shows 178 revisions17:51
CaMasonso I try bzr revert -r 178, and it says the revision does not exist17:52
CaMasonAnyone have any ideas? I've been working on this all-day and really need to get that 178 revision back17:53
EnCuKouCaMason: Maybe `bzr heads` will show you the revision-id?17:57
bialixmonsieur vila, may I ask one more time about testing server?17:59
vilasure, sir Alexander17:59
CaMasonEnCuKou: 'bzr heads --all' shows one of my last commit messages17:59
CaMasonthen it says (dead) after it17:59
bialixis there any benefit to use sftp server for testing over bzr:// writable one?18:00
awilkinsCaMason: So you have 178 revisions - they just aren't all part of your current branch18:00
bialixCaMason: because it's dead actually18:00
CaMasonhttp://srtsolutions.com/blogs/chrismarinos/archive/2008/10/24/don-t-loose-your-head-with-bazaar.aspx18:00
CaMasonthat's exactly what's just happened to me18:00
bialixvila: I remember in the past I have many failures in bzr selftest on win32 related to sftp server18:01
vilabialix: I'm not sure there is a test bzr server... at least I have no experience with it, spiv would know better, but I think only some tests use a smart test server18:01
bialixvila: ahh18:01
bialixso sftp server is most common solution?18:02
vilafor a writable server, yes, at least last time I needed one, I used sftp and fall back to ftp if paramiko wasn't available18:03
bialixyes, but ftp one in turn require Medusa, IIRC18:04
bialixok18:04
CaMasonthis is a pretty serious problem if a 'bzr update' is killing off my local commits18:04
bialixbzr update?18:05
CaMasonyeah, I just did 'bzr update' and it killed all of my local commits from today18:05
CaMasontook me back to revision 172 (from 178) and I just had to use bzr heads --all18:05
bialixI think they should be converted to pending merges18:06
vilayes, medusa is required, until I find another solution (which is needed for 2.6, but there is no urgency there so don't hold your breath...)18:06
CaMasonpending merges?18:06
bialixCaMason: may be you accidentally run bzr revert18:06
CaMasonbialix: I can promise you I didn't18:06
CaMasonI still have the original shell window up18:06
vilabialix: but if you have too much troubles with paramiko and medusa, I have some pointers if you want to replace medusa :-018:07
CaMasonI do know that bazaar crashed during the process, something to do with x-server not being available (as I'm in via SSH)18:07
bialixvila: no, paramiko is always available for me at win32 :-)18:07
bialixvila: it's hard dependency here18:07
bialixCaMason: ah, um18:07
bialixCaMason: but your data is still in the repo18:08
CaMasonbialix: sure, but I have no idea how to get my previous commits back18:08
bialixbzr pull . --overwrite -r revid:dead-revid18:08
bialixthat's all18:09
CaMasonatm, I've used "b revert -r revid:..." but that only restored files18:09
bialixyou need pull18:09
CaMasonwhat is pull going to do?18:09
bialixthe article you've linked is incomplete18:09
bialixit's hard question18:09
CaMasonall of these changes are --local commits on a laptop18:09
bialixthat's fine18:10
bialixso you're locally18:10
CaMasonso I had an updated checkout at revision 172... I've been committing using --local today up to revision 178. I used "bzr revert -r revid:..." and my fils are back18:10
CaMasonyet my log still shows 172, and all of these files I just reverted are showing as modified/new etc. Doing a commit will seemingly skip over my previous commits18:11
CaMason"bzr pull . --overwrite" looks scarily like it's going to overwrite my local commits from the central repo18:11
bialixCaMason: please, try the pull command I gave you, but instead of dead-revid put your real revid of dead head18:12
bialixyou can branch if you like18:12
bialixbzr branch broken-branch new-branch -rrevid:dead-revid18:12
CaMasonok thanks I'll do that first18:12
bialixit's also restore your hstory18:12
CaMasonok I did that branch and my log now shows up to 176 which is about correct18:14
CaMasonI have no working copy though18:14
bialixperhaps you're inside treeless repo18:14
bialixbzr co .18:14
CaMasonok, this is working, thanks. So, now I should bind this to my central repo?18:15
bialixif you like18:15
* CaMason feels less panicky now18:15
bialixrelax, take it easy18:15
bialix:-)18:15
CaMasonright, it's bound. Now, should I do a bzr update?18:16
bialixto reproduce the bug? yes, of course18:16
CaMasonI mean, to get these files pushed back to the central repo18:17
bialixif you want push them you need push command18:17
bialixI'm late in discussion of your problem, can you describe your setup?18:18
CaMasonsure, 2 seconds18:18
CaMasonI have a central repo on my machine in the office. I usually have a checkout on my laptop to work whilst I'm away18:18
CaMasonI got home today, and did a bzr commit to try and place my changes on the central repo. It said I needed to update first. I did that, and it deleted all of my changes and put me back to revision 172 (the revision before I left the office, and the revision on the central repo)18:19
bialixat this point you should have your local commits as pending merges18:20
CaMasonso what should be the normal process for performing this local -> central merge?18:20
bialixwell, it's depend18:20
bialixbzr update put your history in sync with the server, and not vice versa18:21
bialixkfogel: are you here?18:22
CaMasonmy laptop did crash earlier, so I'm hoping that was the reason for this mess-up18:22
bialixI don't see the liason18:22
CaMasonfrom what I recall.. I would normally do 'bzr update' which would pull in the newest changes from the central repo, and tell me if there are any conflicts18:23
bialixcan you execute `bzr update` now18:23
bialix?18:23
CaMasonbialix: yes and it's all working fine18:23
CaMasonI'll try it on the bugged machine too18:23
bialixrun `bzr st`18:23
CaMasonit says a few files are 'unkown' and they all end with .moved18:24
bialixit's in the branch when the history changed from 176 to 172?18:24
CaMasonyes. I'd since ran bzr update and that's updated the log to show 172 to 17618:24
CaMasonand the files are now the correct version18:24
bialixI'm lost in your hardware18:25
bialix.moved files are because you've added them in different branches with the same name18:26
CaMasonPC: contains repository. LAPTOP: Contains checkout... normally I do `bzr commit --local` on the laptop whilst I'm not online. When I return, I do `bzr update`, sort out any conflicts, then `bzr commit`. However, this time, `bzr update` on the laptop deleted all of my changes, so that my working copy looked like -r 17218:27
bialixah18:27
bialixit smells like the bug18:27
CaMasonand I had no reference to -r 173,174,175,176, except when I ran `bzr heads --all` and 176 showed up as (dead)18:28
bialixthis is right18:28
CaMasonis this a known issue?18:28
bialixthe history is linear18:28
CaMasonls18:28
CaMason(oops)18:28
bialixabout update? not converting your local commits to pending merges? I don't know. never seen this before.18:29
bialixmay be18:29
luke-jrhttps://bugs.launchpad.net/bzr/+bug/32627818:29
ubottuUbuntu bug 326278 in bzr-svn "'bzr log' KeyError" [Undecided,New]18:29
luke-jrerr, entirely unrelated to Ubuntu..18:30
CaMasonbialix: like I say, my laptop crashed earlier and fsck showed up numerous errorrs18:30
CaMasonno idea if it's related, but I'll see if it ever crops up again18:31
CaMasonThanks for helping me get my commits back though :D18:31
CaMasonon another note.. if I SSH into a machine that has bazaar with bzr-gtk installed, commits will crash, complaining of something to do with X server being unavailable18:34
CardinalFangCaMason, using what command?18:36
amanica_CaMason: btw if you are using checkouts with local commits, allways make sure you don't have local changes and local commits18:49
awilkinsCaMason: Are you passing the -m argument or not?18:49
amanica_because it will make your commits pending18:49
amanica_and then you cant tell what changed outside of the pending commits18:50
amanica_i.e your pending commit changes and your workingtree changes will all be committed with the next commit18:51
amanica_maybe this isn't an issue for you18:51
amanica_this happen when you do an update with local commits and changes in the working tree at the same time.18:52
amanica_(sorry I forgot to mention the update part before018:53
amanica_(there is some bugs related to what I described eg. Bug #113809 , I think I should log what I described here seperately)18:59
ubottuLaunchpad bug 113809 in bzr "update performs two merges" [High,Confirmed] https://launchpad.net/bugs/11380918:59
CaMasonamanica_: it's possible that I had changes as well as local commits when this issue happened19:07
CaMasoninfact, probably likely19:07
nDuffCaMason, is the DISPLAY variable set at all when bzr-gtk is interfering with your commits on a remote host? Does unsetting it help?19:08
amanica_CaMason: I don't think that would cause all your pending commits to dissappear, unless you did a revert19:08
CaMasonnDuff: sorry for being a newbie... where do I check that?19:08
nDuffCaMason, run the following: echo $DISPLAY19:09
CaMasonblank output19:09
nDuffCaMason, hmm -- I'd hope that bzr-gtk would be smart enough to not try at all to use X with an empty DISPLAY; that said, I don't have a copy checked out to look at the source to myself.19:10
CaMasonnDuff: that would be the expected behaviour, I'm sure19:11
CaMasonwhenever I do a commit locally on the laptop, there's a notification (on ubuntu). I do this when connected to the laptop via SSH, and it shouldn't try to bother with X at all. But seemingly, it does19:11
EnCuKouIf you're checking $VISUAL, also check $EDITOR and $BZR_EDITOR19:12
awilkinsThat was why I was asking whether he was passing -m19:12
CaMasonas in 'commit -m "my commit message" ?19:12
EnCuKouSorry, wrong window19:12
awilkinsCaMason: Yes ; I reckon you might have gvim or the like in $EDITOR19:13
CaMasonnothing in $EDITOR or $BZR_EDITOR19:13
CaMasonit actually loads up pico19:13
awilkinsAh well, that's that theory out of thw indow19:13
CaMasonbrb washing up!19:13
nDuffCaMason, I just took a quick look at the source to bzr-gtk, and it looks like it's trying to check for that case (and should exit with an error "No DISPLAY. Unable to run GTK+ application" if trying to run a GTK-involved subcommand in that case). What version do you have? Could you pastebin the exception?19:17
CaMasonnDuff: I'll make a test repo and tr it19:31
CaMasonhttp://pastebin.com/d30394fa119:33
CaMasonnDuff:?^^19:34
nDuff...is that actually the gtk plugin, or the dbus plugin?19:34
CaMasonno idea... I literally inited a repo, added a testfile, commit.. and get that output :)19:35
CaMasonThis is on a relatively fresh Ubuntu 8.10 install, with bazaar installed via synaptic19:36
nDuffCaMason, could you check whether uninstalling or disabling only the dbus plugin makes the issue go away? If so, that provides some targeting for fixes/bug reports/such.19:36
CaMasonnDuff: certainly, 2 mins19:37
CaMasonso I should leave bzr-gtk installed?19:37
nDuffyup19:38
CaMasonremoving bzr-dbus also removed bzr-avahi19:38
CaMasonhad to run an update first. The commit succeeded without crashing19:39
nDuffCaMason, OK. Is there any output from the command "set | grep DBUS"?19:40
CaMasonnDuff: nothing19:41
nDuffCaMason, if you reinstall bzr-dbus, and run the commit command as "dbus-launch bzr commit", does it still fail?19:42
CaMasoninterestingly, reinstalling bzr-dbus didn't prompt to install bzr-avahi19:43
nDuffCaMason, makes sense -- that indicates a one-way dependency from bzr-avahi on bzr-dbus.19:43
CaMason`dbus-launch bzr commit` no crash19:43
CaMason`bzr commit` = crash19:44
KhaZbzr st yields a list of things that are renamed and conflicts, but if I do a 'bzr merge [path-to-item-that-is-renamed-and-or-conflicted]' it says 'nothing to do'.  How do I go about running a merge tool on these two items?19:45
CardinalFangKhaZ, "merge" copies from other trees.19:46
CardinalFang...or something like them.19:46
nDuffCaMason, OK -- the bzr-dbus plugin should probably just short-circuit if the DBUS_SESSION_BUS_ADDRESS variable is unset; that should be a pretty easy patch to write or bug report to file.19:49
CaMasonnDuff: that variable is present on the laptop, but not present when in via SSH19:50
nDuffCaMason, yup -- and that's exactly why you're having the problem when you're only connecting over SSH.19:51
CaMasonexcellent :D (ish)19:52
CaMasonnow, I'd file a bug report if I knew how19:52
nDuffCaMason, see the "report a bug" link at https://launchpad.net/bzr-dbus19:52
CaMasonhttps://bugs.launchpad.net/bzr-dbus/+bug/32632019:59
ubottuUbuntu bug 326320 in bzr-dbus "`bzr commit` throws an exception when bzr-dbus is installed, and commit is via SSH" [Undecided,New]19:59
nDuffCaMason, thanks; there's actually some relevant discussion going on over in #dbus right now, so I'll go paste that in.19:59
CaMasonexcellent. Glad I was able to help somewhat20:00
ronnyLarstiQ: http://www.geeksugar.com/247102620:12
=== kiko__ is now known as kiko
nekohayojust committed and pushed my branch, and bazaar tells me I have conflicting tags20:29
nekohayonow what? I have no indication of what to do with that20:29
bialixbzr tags20:30
bialixbzr tags -d remote-branch20:30
bialixcompare results and decide which tags are right20:31
nekohayobut.. the results are identical20:31
bialixnope20:31
nekohayobialix: http://ecchi.ca:8000/1.png20:32
nekohayounless I should swap "remote-branch" by "lp:specto"20:32
bialixtry with --show-ids flag20:32
nekohayoaah, using lp:specto does show that it's the same tag on rev 10720:32
bialixyep20:33
bialixI guess you just find the bug20:33
nekohayonow the question is what's the next step once I decided that my local branch (tag on 108) is the right one?20:33
bialixremote-branch is not valid path in your tree>20:34
bialix?20:34
bialixwait, the bug first please20:34
nekohayoI had to use lp:specto instead of remote-branch.20:34
bialixbzr should tell you that you provide wrong path20:34
bialixok, back to tags20:35
bialixif your local tags is the right one, you need to push --overwrite20:35
=== bac is now known as bac_afk
nekohayoit worked, thanks! /me notes this somewhere20:39
bialixmay be adding this to faq?20:40
bialixor blog about this ;-)20:41
amanica__conflicting tags scares some people, maybe this should be explained in a topic, and referenced in that message20:45
bialixI think the error message should be more clear itself20:46
bialixthere is help topics on conflicts, but it say nothing about conflicting tags20:46
bialixit's a bug?20:47
bialixBug #21318420:49
ubottuLaunchpad bug 213184 in bzr "'conflicting tags' could be more helpful" [Wishlist,Confirmed] https://launchpad.net/bugs/21318420:49
bialixit's marked as wishlist though20:50
nekohayobialix: I actually saw that bug report before coming to this channel, because nobody had given an answer on that bug report20:52
bialixperhaps because that bug was reported by one of the core dev20:54
bialixI think it should be easy to fix. someone with good english skill just need to write some explanation20:55
bialixor maybe tags v2 should be implemented first20:56
jbalintany idea what this means? bzr: ERROR: A nested progress bar was not 'finished' correctly.20:57
bialixyou're running bzr.dev?20:58
jbalintmy own dev :)20:58
bialixI mean: are you running bzr from sources?20:58
jbalinti'm editing the sources20:58
bialixcheck your .bzr.log then20:59
bialixor try to merge latest changes from bzr.dev20:59
jbalintoh joy, not paying attention here. thanks :)20:59
bialixnext question please20:59
jbalinti have nothing else atm21:00
bialixit's not to you personally21:00
bialixi've tried to joking21:00
jbalintyou can check the questions on launchpad!21:00
* bialix looks21:01
bialixthere are only 3 questions21:03
* bialix has answered one question, others 2 out of his competence21:06
jbalintnice21:08
bialixthx21:09
CardinalFangHi all.  With bzrlib, I want to use "send" or "merge_directive" to create a mergable bundle, bug I don't want to have top be connected to the net.  Assuming that only the last commit is outstanding, how can I construct a bundle without touching the upstream target_branch?21:10
amanica__bialix: stop joking around in IRC, and get cracing on that layout changes!21:10
amanica__:)21:10
bialixI'm not enough sterkte tonight!21:10
bialix:-P21:10
amanica__LOL21:11
amanica__I see your on a roll here, enjoy.21:11
nekohayohmm. I've seen a bunch of slides of talks about bazaar... but are there any videos of such talks, or videos of bazaar tutorials/demos, especially advanced features like cherry-picking ?21:11
bialixthank you, dude!21:11
amanica__CardinalFang: that bothered me once too, but I was told that trafic is quite minimal21:12
bialixCardinalFang: if you sure what revisions should go in the bundle you can use local branch as the base21:13
amanica__an exact local mirror is preferable21:13
bialixyes21:13
amanica__even if it is a little outdated21:13
amanica__(with exact I mean there should not me non-upstream commits present)21:14
bialixit's easy to reconstruct, actually21:14
bialixnekohayo: I guess there are plans to make some screencasts21:15
bialixactually there are 2 of them listed at http://bazaar-vcs.org/Documentation21:16
bialixsee Screencast section21:16
CardinalFangbialix, I think I tried.  I'm writing a post-commit plugin, so I get the revid before and after.  I use os.curdir to say "right here".  My bundle header looks right (I think), but the bundle contents are empty -- aside from the preamble.  I .decode("base64") and then unbz2'sd it, and its not much -- nothing describing the change.21:16
CardinalFangI suspect it's a fencepost problem.  N-1 exclusive to N inclusive = 021:17
bialixno, you need to create bundle against another branch, not against itself21:17
bialixfencepost?21:17
CardinalFangOff by one.21:17
bialixLOL21:17
CardinalFangCounting fenceposts instead of fence-spans.21:17
bialixCardinal: you really should create somewhere on disk base branch21:19
bialixand use it as SUBMIT_BRANCH argument21:19
bialixhmm, you even can try t create base branch as --stacked to your dev branch21:20
bialixit should be very cheap then21:20
CardinalFangbialix, It's not me.  Assume my user branches from off the 'Net, and then gets on an airplane.  Hack hack hack.  Commit.  My post-commit hook runs.21:20
bialixit's *your* post-commit hook. Is not you're master on your hooks?21:21
bialixslightly change the hook? not?21:21
CardinalFangYes, I'm writing it now.  I can design it.21:22
bialixso... os.curdir perhaps is bad idea to using for specifying base branch21:22
CardinalFangYeah.  I can get the base other ways.  I'll get to that, once I see it works.21:23
ignashow do I see the connection debug info? my merge is timing out, but I don't know why...21:24
* bialix shrugs his shoulders21:24
bialixwhat kind of connection?21:24
bialixbzr+ssh, http?21:25
bialixlook at .bzr.log first21:25
bialixor into .bzr.log21:25
ignasbzr+ssh21:26
CardinalFangSo -- to construct a bundle, I assumed I really don't need another branch somewhere, if I know what is outstanding and can include everything that would go into a bundle.21:26
CardinalFangignas,  -Dhpss as parameter.21:26
bialixfor gather debug stat use `bzr -Dhpss <YOUR COMMAND HERE>`21:26
bialixCardinalFang: abentley thinks different21:27
bialixin the good ol days when the grasp was green and te heaven was blue... bundles have worked that way21:29
ignasis there a way to use bzr repositories in launchpad through http?21:29
bialixyes21:29
ignashow do i do that?21:29
bialixgo to branch page21:29
bialixlook at url under source code button21:30
bialixremove files at the end21:30
bialixyou'll have valid url21:30
bialixsomeone told even simpler way21:30
bialixbut I don't remember21:31
ignasbialix: thanks21:31
bialixnext question please21:31
* bialix wants to win jackpot21:31
fullermdWhy is there air?21:32
bialixoh, my hero is here!21:33
* fullermd dons his cape and strikes a pose.21:33
bialixwhat about air actually?21:33
fullermdI dunno.  You just asked for a question, and it came to mind.21:34
bialixah21:34
bialixstupid me21:34
bialixI wanna get my call to a friend!21:35
fullermdThat doesn't mean you can get away with not answering it!   :p21:35
bialixthere -- is where?21:35
bialixif I'm answer it in russian -- does it will counts? :-P21:36
fullermd"is there" ~~ "does exist"21:36
fullermdWell, only if I understand it.  I think my Russian vocabulary runs to 6 words or so...21:36
* ignas can translate21:36
bialixI can try to answer using only your words21:36
fullermdI know da and nyet, so I guess that means you can answer in binary?  :p21:38
bialixfullermd: you cheating! http://en.wikipedia.org/wiki/Why_Is_There_Air%3F21:38
bialixda and nyet == yes and no. what is other21:38
fullermdWait, I'm supposed to not cheat now, too?  If you'd just lay out all these rules ahead of time...21:39
bialixI think it should be good litycs21:40
bialixlyrics21:40
bialixwhat is other 4 words21:40
fullermdOh, that was just a number I pulled off the top of my head.  I know the bits and pieces you can't help but pick up of languages.21:41
fullermdWhich isn't enough to explain much of anything   :p21:41
bialix:-P21:41
bialixmy answer is valid?21:42
fullermdI guess.  I think it's cheating though   :p21:42
bialixI'm learn from the best21:43
ste_hi all21:45
bialixfullermd: but I feel you're win21:45
ste_does anybody know how can I merge two different and unrelated branches into a single new branch ?21:45
bialixbzr merge -r0..-121:46
bialixis not this answer should be in the faq?21:46
CardinalFangste_, With different roots?  Er, that sounds tricky.21:46
ste_like, they were divided, but now I want to put them all under a brand new branch21:46
ste_but replaying the changes21:46
CardinalFangThere were [once the same but are now] divided, .. ?21:46
ste_in svn I did with a svndump21:46
ste_well, sorry, I see it's tricky21:47
ste_i'll explain better21:47
ste_I started developing two programs, and I gave them a bzr init each21:47
ste_each branch so created went in its own direction, with many commits21:47
ste_now I realized that I want these two programs to be part of a single branch21:47
ste_quick and dirty solution: i bzr init a new empty dir21:48
bialixso?21:48
ste_copy the contents of the two old ones21:48
bialixbzr merge -r0..-121:48
ste_and bzr add everything21:48
* bialix can repeat this 3rd time21:48
ste_that's good, I want to be sure ;)21:48
bialixto be sure - what?21:49
ste_that you understood the problem I have, since I reread myself and even I didn't understand what i wanted ;)21:49
bialixit's much easier than questiona bout air21:49
bialixdo you knwo the answer on question about air?21:50
jambialix: because otherwise we'd all be dead21:50
jamor at least, life as we know it would not exist21:50
bialixit's too easy for fullermd21:50
ste_i know the answer to life, universe and everything, does that count ?21:50
jamthough that answer may be a bit self serving21:50
ste_air is part of everthing21:51
ste_therefore21:51
bialixmay be otherwise we don't breath at all?21:51
jam(if there was no air, we wouldn't know about it, because we would not exist, thus for us to be as we are, and aware of air existing, it must exist)21:51
ste_the answer to air is part of the answer to everything21:51
bialixwonderful!21:51
jamEither that or "just because"21:52
ste_mostly depends on what you mean by air...21:52
bialixignas: just because == потому что,21:52
bialix?21:52
ste_you can survive breathing a different atmosphere21:52
ste_but I would not define it "air" in the conventional sense21:53
ste_moreover, fishes don't need air in the conventional sense21:53
ste_so if we were intelligent fishes21:53
ste_you know what I mean21:53
bialixo!21:54
ignasbialix: think so21:54
bialixignas: I guess very close21:54
ste_well, trying this merge21:54
ste_10x for the help21:55
ignasbialix: yeah21:55
bialixfullermd: ?21:56
bialixjam: thanks! lol21:57
fullermdHmm?21:57
bialixI did my call to a friend21:58
bialixsee above ;-P21:58
jamste_: if we were intelligent fishes, we still wouldn't be us as we are today21:59
ste_yep, and we wouldn't know21:59
ste_although, developing metallurgy in water environment would be tricky21:59
fullermdBut think of the money we'd save on towels.22:00
ste_maybe near some vulcano22:00
jamste_: perhaps. you just need a different heat source, since water could carry a lot more heat than air anyway22:00
bialixit's remind me the book of Harry Harrison about dynosaurus22:00
fullermdWe'd certainly all be using water-cooled computers   :p22:00
fullermd(except a few extreme fanatics who'd try for uber-overclocks with air cooling)22:00
ste_:D22:00
bialix:-D22:01
CardinalFangjam, Do you know much about the bundle construction code?  I'm trying to create one containing only the last revision, without touching a target branch.  I hear it's impossible, but this sounds weird.22:02
bialix"winter in the eden", I hope I re-translate the title right22:02
jamCardinalFang: "without touching a target branch" ?22:02
jamAre you trying to do it in bzrlib? or with a bzr command ?22:02
bialixjam knows everything22:03
jamfor some value of everything :)22:03
bialixand this too :-)22:03
CardinalFangbzrlib.  If I branch from somewhere on the net, and then climb on an airplane with no net access, can I commit and then construct a bundle containing that?22:03
jamwell, the easiest way is:22:03
jambzr branch -r -2 . ../old22:04
CardinalFang....without branching up ...  ha.22:04
jambzr send -o out ../old22:04
jamit is possible22:04
jamJust saying what is easiest22:04
CardinalFangYep.  I'm writing a post-commit function.  So, I don't want to do that.  :)22:04
bialix"west of eden" series actually22:05
jamso you want to look at "bzrlib.merge_directive.MergeDirective2.from_objects()"22:05
jamIt, unfortunately, takes a "target_branch" and not a "target_revision"22:05
jamHowever, I think you might be able to create  MergeDirective2() directly22:06
jamwith the right values22:06
jamand use the appropriate value to "MergeDirective2._generate_bundle()"22:07
* CardinalFang looks.22:09
bialixwhat exactly means: "I dunno"?22:10
jamCardinalFang: http://paste.ubuntu.com/114984/22:13
jamAt least, that is my wholely untested but probably close-to-right attempt22:13
jambialix: "I don't know"22:13
bialixhow it pronounced?22:13
jamEspec. in America, the last part of the "don't" merges with the beginning of "know" and you get22:14
jamI dun-no22:14
CardinalFangjam, wow, you're great!  Thank you.22:14
bialixjam: got it22:14
jambialix: Actually, in common pronunciation, there are almost no consonants22:14
jam I -uh -oh22:15
fullermdMan, you yankees...22:15
bialixI'm dizzy22:15
fullermdA perfectly natural reaction to English  ;p22:16
bialixI can teach you russian a bit22:16
ste_cool, it worked22:17
ste_thank you guys22:17
bialixwhat? 42?22:17
fullermdI don't know.  Third base.22:17
CardinalFangHeh.22:17
ste_third base like in xkcd?22:18
CardinalFangYes.  Exactly like that.22:18
ste_passing the virginity maginot like ?22:18
ste_line22:18
fullermdWell, I was thinking more Abbott & Costello, myself, but that would probably be more fun   :p22:18
CardinalFangfullermd, Who?22:19
CardinalFang(First base.)22:19
fullermdWhat?22:19
CardinalFangNo, first.22:19
jamfullermd: http://xkcd.com/540/22:19
fullermdYes.22:19
jamsee you all around next week, I'm off22:20
* CardinalFang commiserates with fullermd, and shakes his fist at the kids on his lawn.22:20
CardinalFangG'night, jam.22:20
KhaZI can't seem tog et bzr st to only show paths from the directory I'm in or below.  i.e, if I have a file versioned as /a/b/c/file.txt, and I'm in 'c', I'd hope bzr st would print 'file.txt'.  Instead it prints '/a/b/c/file.txt'.  Is there a setting I'm missing somewhere?22:26
bialixno22:27
KhaZHrmm.22:28
bialixwhat these binary numbers means?22:29
ste_they mean base 222:30
bialixhmmm22:31
garyvdmHello22:31
bialixI'm definitely don't understand baseball enough22:31
bialixhi Gary22:31
bialixfursuits?22:33
bialixoh, never mind22:34
ste_good, back to code22:35
ste_thanks for the help!22:35
bialixJaneane?22:35
ste_and for bzr, I like it22:35
* ste_ bye22:36

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