/srv/irclogs.ubuntu.com/2010/09/15/#bzr.txt

sendermgz: i have to go, thanks for the help, i'll try again tomorrow00:01
spivlifeless: hmm, yes.  Drat.00:42
lifelessspiv: can I suggest:00:43
lifeless - fix it well in testtools00:43
lifeless - depend on that00:43
lifeless - revert the bzr change00:43
spivWell, it certainly has scenarios with (x,y), but I *think* it may have (x)(y) too.00:43
spivI wouldn't expect the breakage to be silent, though, because the attributes would tend to be missing or None.00:43
lifelessspiv: would depend on the test code I guess00:44
spivYeah.00:45
pooliehi there spiv01:04
spivHi poolie01:05
spivMy fix for ssl.py got accepted into Python 2.7 upstream and python2.6 in Ubuntu.01:05
lifeless\o/01:05
lifelessalthough, now yu don't know if 2.6 works everywhere :P01:06
spivWell, the test failure it causes is intermittent IIRC (hooray threads :/)01:06
pooliegood for you01:07
pooliei think i saw that bug a couple of times yesterday running my own tests01:07
spivI guess I should nag about getting my paramiko IPv6 fix in upstream and maverick too.01:07
pooliecould be good01:11
pooliei got a few pqm failures and review comments yesterday so i'm going to do them first01:11
pooliethen push on detecting stale locks01:11
pooliealso post "what do you do"01:11
poolieyou should do that too spiv, if you didn't already01:11
pooliei'm happy to read it01:11
maxbWhy does bzr selftest say ERROR when a test raises TestSkipped?01:21
maxbIt's most unhelpful :-/01:22
lifelessmaxb: python 2.7?01:23
maxb2.601:23
lifelesshmm01:23
maxbA fairly ordinary lucid installation, in fact01:24
pooliemaxb i've never seen that01:40
maxbhow bizarre. I wonder why my system is broken :-(01:44
poolieyou can dig in to it...01:47
maxbI'm already digging into something that occurred whilst digging into something, my stack is overflowing :-)01:56
pooliemaxb, np, then i'm inclined to write it off02:10
poolieif something weird occurs let me know02:10
pooliemaybe you're using the wrong bzr?02:10
pooliei mean the wrong bzrlib02:14
abadger1999Okay -- stupidity question time04:06
abadger1999I just rm -rf 'd a branch that I had.04:06
abadger1999But the branch was in a shared repository.04:07
abadger1999Is there any way to recover my last commits?04:07
abadger1999I figure I have in the neighborhood of five commits since my last push04:07
fullermdYou can use heads to suss it out.04:07
abadger1999k04:07
* abadger1999 reads the man page on bzr heads04:07
fullermdThen just something like `bzr init foo ; cd foo ; bzr pull -rwhatever .` to pull it up.04:08
abadger1999<nod>04:08
abadger1999fullermd: Thanks!04:09
spivlifeless: https://code.edge.launchpad.net/~spiv/bzr/traceback-accumulation-2.2/+merge/3549404:15
abadger1999fullermd: Thanks, that seems to have worked.04:18
poolielifeless: have you still got a traceback for bug 636946?06:27
ubot5Launchpad bug 636946 in Bazaar "shelve NEWDIR/NEWFILE tries to shelve NEWDIR (affected: 1, heat: 6)" [Undecided,New] https://launchpad.net/bugs/63694606:27
pooliei realize it's probably obvious where it's raised, but just in case06:27
lifelessno, rebooted since sorry06:35
poolienot in .bzr.log?06:36
spivpoolie: rt 41382 filed for news_merge on PQM06:52
pooliethanks06:54
vilahi all07:31
pooliehi vila, bialix07:32
* poolie was just going to see about fixing bug 22046307:33
ubot5Launchpad bug 220463 in libvirt (Ubuntu) "unable to boot linux vm's that are not Debian derived. (affected: 1, heat: 3)" [Undecided,Fix released] https://launchpad.net/bugs/22046307:33
pooliebug 220464 actually07:33
ubot5Launchpad bug 220464 in Bazaar "Bazaar doesn't detect its own stale locks (affected: 0, heat: 2)" [High,In progress] https://launchpad.net/bugs/22046407:33
bialixhi poolie, vila and all-all-all07:34
vilapoolie: oh, on that subject, how are would it be to make bzr-2.[01] accept (and ignored) more data in the lock info files ?07:34
vilas/how are/how *hard*/07:34
poolieprobably easy07:34
pooliethey may already do it?07:34
vilapoolie: that would allow bzr >= 2.3 to put more data there07:35
spivvila: well, the fix to #619872 should have done that, if it wasn't already the case.07:35
pooliehowever if it does need a code change, it may be hard to make sure that everyone using those versions actually gets the code change07:35
spivvila: (well, to be clear, the fix for 619872 should prevent bzr from blowing up if it can't parse the lock info file, I'm not sure whether new fields would affect the parsing or not)07:36
vilapoolie: rats, right, but that would matter only for projects where people use a mix of < 2.0 and >= 2.007:36
vilaspiv: that's where I started thinking about that, I think you made it more resistant to empty or null-filled info files but I'm not sure about additional fields07:37
poolievila i'm pretty sure it will ignore extra fields07:37
vilaok (one off my head :)07:37
spivvila: well, the intent was to cope gracefully with any error from reading and parsing the info file.07:39
poolievila iow if you want to add data, just do it, and then check it with old code07:41
vilaspiv: sure, not throwing stones, I didn't think about it before it landed anyway07:41
pooliebut i'm pretty sure it will work07:41
pooliewhat did you want to add?07:41
vila<cough> can't remember at the moment :) I didn't forget the constraint though...07:42
vilaI'll tell you when I remember :)07:42
vilaThe only thing that comes to mind right now is adding the command at the highest level but I'm pretty sure it was something else07:43
poolieif we know a lockdir holder is a dead process from the same machine, will it be ok to automatically break it?07:46
vilapoolie: with a warning, yes07:48
pooliemeaning we just print a message then do it?07:48
vilapoolie: yup, if you want to be anal you can make it depend on config var for paranoids to set07:48
pooliegood idea07:48
poolievila, that's kind of a case where we could say "there is a ui confirmation, but it's turned off by default"07:54
vilapoolie: yes, but a bit different than deny_action() or confirm_action(default=False) still07:55
vilabreak_lock=yes/no/sometimes/always/ask :)07:56
vila5-values boolean ftw !07:56
vilano. seriously.07:56
vilafailing because a lock has been created by a process we're sure is dead is silly,07:57
vila"I can't lock, someone else did", "someone else is dead, break the lock manually" "are you sure you want to break the lock ?"07:58
spivmutt has the concept of a "quadoption", which can be yes, no, ask-yes or ask-no.07:58
vilavs "I can't lock, someone else did ; it's dead, let's break the lock"07:58
spiv(ask-yes causes a prompt with a default answer of yes)07:59
vilathe warning is there to help people tracking the root cause if it happens too often07:59
poolieso maybe yagni and i'll just give a warning07:59
vilapoolie: yup08:00
spivFewer options is a good thing, when possible.08:00
vilaDon't ask if you're going to accept a single answer too ;)08:00
pooliewell, the answers are really "sure/wtf"08:01
spiv(a)bort/(r)etry/(w)tf?08:01
vila(W) to indicate the default08:01
poolieso i can think of cases where people have multiple machines all called 'ubuntu'08:03
poolieand the same account on each, all getting at the same branch08:04
pooliebut, probably most of the time it's not wortwhile08:04
spivpoolie: in principle you could try some heuristics like "is the UUID of / the same?"08:07
spivOr hardware addresses of network interfaces.08:08
pooliemm08:08
spivhttp://docs.python.org/library/uuid.html#uuid.getnode looks almost-but-not-quite helpful08:11
pooliemy ui-factory branch seems to be failing in test_delta08:15
pooliethat's strange08:15
poolieah i wonder if this could be somehow due to the test multiplication bug?08:33
spivtest_delta doesn't seem to use test multiplication, though?08:34
poolietest_diff is failing and that does ad-hoc multiplication by subclassing08:35
pooliei'm not sure how we would have broken that but i don't see how i would have broken it eithr08:36
pooliethe symptom in all failures seems to be run_bzr(...retcode=1) fails because it seems to observe a return code of 008:36
pooliei don't know if that's every case but it's many of them08:36
pooliehm i wonder if it's trying to read a confirmation in a place it wasn't before, and therefore exiting early08:38
spivHmm, the test multiplication changes seem pretty unrelated to that.08:38
spivIf it's an unexpected confirmation prompt, then hopefully the test log will show that?08:38
pooliethe failure i was getting in test_delta was08:40
poolie  File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/tests/test_delta.py", line 69, in assertReportLines08:40
poolie    self.assertEqualDiff(expected_lines[i], result[i])08:40
poolieand that's possibly because of unexpectedoutput08:40
vilapoolie: teddy-bear for orphan config var ?08:43
vilajam (and I agree with him) wants a hook there, there may be a way to reconcile both but nothing really simple comes to mind, would you be ok to postpone that a bit ?08:44
vilayour request seems tied to junk files which I'd prefer to address by refactoring ignores so we can reuse them for properly implementing junk08:45
spivvila: what's the difficulty in making a hook?  Does the orphaning happen at a fairly generic point in the treetransform code?08:46
vilaspiv: well, there is TreeTransform and TransformPreview that both implement new_orphan08:47
vilathe hook should be for new_orphan and TransformPreview should never be concerned (in theory)08:48
vilabut poolie would like an easy way to preserver the old behavior and a hook is not "easy" to configure08:48
vilawe can't put a callable there :) So this means a registry in addition to the hook. Not trivial.08:49
spivI don't quite follow the last bit there...08:49
vilaspiv: https://code.edge.launchpad.net/~vila/bzr/323111-orphan-non-versioned-files/+merge/3511008:50
spivMaking a hook point and how configuration works are pretty unrelated concerns08:50
vilaorphans unversioned files now08:50
pooliespiv so on at least some of these tests i see multiple tracebacks08:50
pooliebut perhaps that's not really the reason for failures08:50
spivpoolie: the traceback fix is currently only on 2.208:50
vilaspiv: how do you configure a hook ?08:50
spivvila: e.g. see merge_file_content hook08:50
spivvila: it was created to allow features like news_merge08:50
poolieit seems like many tests that expect a non-0 return code are failing08:51
spivvila: but regular merge logic uses it too08:51
poolieperhaps i'll just bisect back to find it08:51
poolievila, i guess it's just that if people really do have precious files08:51
pooliehaving them dumped in a bzr-orphans directory08:51
spivvila: i.e. regular merge registers a hook function for that hook point too08:51
poolieis not really helpful08:51
poolieat least they're not totally lost but they'll need to manually move them back or whatever08:51
pooliewhich might be annoying08:51
poolieif we were sure there were no such people we could just delete the files08:52
vilapoolie: less annoying than resolving a conflict that shouldn't occur otherwise ?08:52
vilapoolie: handling junk files (not precious files) will mean bzr-orphans contains only precious files08:52
vilapoolie: and they will be put there only when the user ask bzr to proceed with an action that render such precious files orphans08:53
spivvila: I guess the thing I don't get is why you are asking "how do you configure a hook ?" at all.  Providing config options for users anad providing hook points in the API (for plugins and/or internal code) are different issues without any real overlap.08:53
vilaspiv: the overlap is poolie asking for a config option when we want to add a hook for which specifying which files are concerned is tricky08:54
spivvila: I mean, perhaps core bzr code might look at a config variable and use that to influence what it registers with a hook08:54
spivBut that's just an implementation detail.08:54
poolievila, the thing is08:54
poolieif people only have junk, they want it just deleted08:54
spiv(e.g. lock debugging)08:54
poolieif they have precious files, i guess they want them left where they are and a conflict08:54
pooliemoving them to bzr-orphans is a bit of a compromise position08:55
vila"them left where they are and a conflict" or "moved out of the way and decide *at that point* how they want to make them versioned"08:55
poolieie i don't know how many people actually want that08:56
pooliewell in the second case you have to move them back08:56
poolieby hand, which seems annoying08:57
vilashudder, so I just reject the mp ?08:57
vilapoolie: now, not back, this occur when the parent directory is *deleted*08:57
vilayou have to decide *where* you want it to live then08:57
vilathe directory hasn't been renamed08:57
spivvila: so, hypothetically, you could provide a config var like "orphaned_files = move_to_bzr_orphans" or "orphaned_files = conflict_parent_dir".08:58
vilathere is a hole there I think between people wanting to have precious files, don't want to version them, yet, ask bzr to move them around08:58
spivvila: and then provide a way for a plugin to register other policies08:59
vilaspiv: exactly, hook + registry + config var08:59
spivvila: e.g. a plugin that provides "orphaned_files = delete"08:59
vilaspiv: and a bzr core implementation with at least two policies to start with09:00
spivBut there's nothing in that that I would describe as "configuring a hook"09:00
vilahence my teddy-bearing about: "Isn't handling junk files right more important ?"09:00
spiv(Or at least, not in the usual ways that I think we use those terms :)09:01
vilapoolie: "i don't know how many people actually want that" I agree, I have no idea on who want what. Only that the actual behavior is a pain.09:02
poolieyes, what spiv said09:02
pooliei guess also, i think the handling here ought to be modularised enough that adding the config should not be too hard09:03
pooliebecause we know people will want to vary it in the future09:03
vilayeah, right, whatever, in terms of implementations, it's still hook + registry + config var09:03
spivYes, that sounds like a good implementation to me.09:04
spivWell, I'm not sure that it is actually literally a HookPoint09:04
spivBut registry-of-policies + config var, yes.09:05
poolieright09:05
pooliei agree if you also have a hook plus a registry the interactions seem complex09:06
pooliedo people want a hook in particular, or just a chance to run their own code?09:06
spiv(ObComplexityIsFun: there's no reason why a specific policy couldn't provide hook points...)09:06
vilapoolie: right, I don't say we shouldn't do that, I'm complaining about doing it as a tweak :)09:06
spiv(aside from reasons of taste ;)09:07
vilapoolie: especially one whose scope could be quite different if junk files were out of the equation (since the most obvious hook otherwise will be a quick-and-dirty let's-just-delete-junk :)09:08
vilaor said in yet another way: isn't it better to have ophans *now* as a good workaround for junk files coming in the way during pull/merges/ etc ?09:10
vilaand knowing we have better solutions in the pipe09:10
spivWell, I've joined late in the discussion...09:11
vilaspiv: most of what you miss is in the mp comments09:11
spivbut I think poolie (or someone?) was asking how hard it would be to a) provide a config option that can provide the old behaviour for users that want that09:12
spivand b) do so in a modular enough way that could allow other policies to be provided too09:12
vilaand the answer is: perfectly doable with hook + registry + config but as a tweak ?09:12
vilab) answer is: all is defined in new_orphan so far09:13
poolieagain i agree with spiv09:13
vilaI know of one case that will require a bit more work by adding a cleanup09:13
pooliegenerally i really don't like asking people to do extra work as patr of a merge09:13
pooliebut i'm concerned that this may seem like a step backwards for some people09:14
poolieso i want there to be an escape route, at least09:14
poolieit's hard to count on immediately going on to the fix you want to do next09:15
poolieinterrupts tend to come up09:15
spivvila: I'm not sure what you mean by "hook" in hook + registry + config.  Do you mean something involving bzrlib.hooks?09:15
pooliebasically what i'm suggesting is: put this policy behind some kind of object interface09:16
vilaspiv: yes, a way to redefine new_orphan, and yes in the same spirit as your merge hook09:16
poolieregister it plus the old one09:16
pooliemake the new one the default09:16
vilapoolie: oh, I perfectly understand :)09:16
poolie:)09:16
spivAs a strawman, why wouldn't it simply be registry-of-new_orphan implementations, and a config var that can be set to a key in that registry.09:16
spivThere's no "hook" in the bzrlib.hooks sense in that.09:17
vilaspiv: haaaaaa, thanks, I knew it should be simpler :)09:18
spivvila: well, I'm a bit baffled about where you thought the hook should have been ;)09:18
poolieindeed (maybe later) the concept of: 'config var chooses from the registry' should be generalizable09:18
spivBut I'm happy to remain ignorant on that point :)09:18
spivpoolie: +109:18
spivpoolie: (we already do a pretty good job of that for command line options)09:19
spivpoolie: (and I miss it when not writing bzrlib code :)09:19
spivSpeaking of not writing bzrlib code... it's time to log off for the night!09:19
vilaspiv: well, you can imagine different policies applying to different files while the config route means a single policy for all files, but it's a matter of better defining what new_ophan can do (it's not allowed to *refuse* to orphan yet even if I made some comments about that in the tests), so I wasn't clear about it. Better now09:20
poolievila, apparently you're the RM, according to the topic :)09:21
pooliegood night spiv09:21
vilapoolie: errr, who did that ?09:21
poolie:) not me i promise09:21
poolieyou can still wriggle out of it09:21
pooliebut if you wanted to do it thursday/friday, that might be nice09:22
bialixas football fans shouting: vila! vila! vila!09:22
vilameh, my topic line is fubared right now :-/09:23
vilabbiab09:23
vilaI don't think changing the RM randomly will help here especially when the said RM just learn it almost by accident.... :-/09:25
poolieit actually wasn't me09:25
poolieperhaps it should go back to being john or me09:25
pooliei thought you must have signed up for it?09:25
poolieah, i think i worked out what my problem with diff is09:26
poolieone of the plugins, maybe bzr-pager, masks the error codes09:27
vilaI mean, I'd be happy to be RM (man, I should have been long ago and have helped on almost everything except building the installers), but I asked to be hand held on several occasions...09:27
vilapoolie: No, I didn't, if it has been asked I may have though09:27
vilapoolie: I'll keep it this way, expect some road bumps :)09:27
pooliewe could do it together on my friday evening?09:28
vilapoolie: perfect09:28
vilabialix: thanks for the support :) Here, take my shirt !09:29
bialix:-)09:30
fullermdAck, no!  Put that back on!09:32
* vila frowns, and thought the tattoo was fun...09:33
fullermdThat's a tattoo?  I figured you were just mauled by a bear or something...09:33
bialixvila: at uds I've tried to to present the idea of multiple push/pull locations. you even listened to me then. I was not sure about the idea, and in many cases bookmarks plugin is already cover many use case. but I have one more.09:38
vilafullermd: Complaining about my tattooer ?09:38
vilabialix: shoot09:38
=== spike_ is now known as spikeWRK
vilafullermd: he *is* a bear, so what ?09:39
* poolie is going to merge up 2.0 -> 2.1 -> 2.209:40
bialixmy use case: automatically remember on push/pull non-defaul location. it could be some temporary location used say for quick testing, or something. usually I don't care enough to create bookmarks entry for it. but it will be nice to have it remembered behind the scene09:40
bialixvila: so I've been trying to present at uds the idea of :push:1 :pull:2 in addition to :push and :pull aliases09:41
bialixonly one question is: user will need the way to get the list of those locations09:41
Glenjamininfo -v perhaps09:41
vilabialix: the later is easy: 'bzr config'09:41
bialixmaybe put them into `bzr info` output09:41
bialixbzr config meant to list the options as well?09:42
bialixmakes sense09:42
vilabialix: yes, showing option origin (bazaar, locations, branch, whatever)09:42
bialixre bzr info: do we have a hhoks for it? ;-)09:42
bialixre bzr info: do we have hooks for it? ;-)09:43
viladunno about that, but a 'see bzr config for more details' when 'bzr config' exists may be appropriate (or not)09:43
bialixvila: I wonder is it possible to extend/override :push aliases logic from plugin09:44
vilabialix: otherwise enhancing bookmarks so we can define aliases at branch level and then be able to say 'bzr pull :bm:test' sounds better than defining ':push:n'09:44
bialixvila: bookmarks can be defined at branch level09:45
vilabialix: this way they could be used for bind/pull/push/merge/ whatever09:45
bialixor do you mean adding post_push|pull hooks there>09:45
bialixor do you mean adding post_push|pull hooks there?09:45
vilano, just using the aliases from the command line09:45
bialixI don't follow09:45
bialixdo you mean adding auto-bookmarks a-la bm:push:109:46
vilano, I mean defining them manually and then using them everywhere09:46
vila'1' doesn't mean anything to me09:47
bialixmy point is that I'm very lazy person to define them manually09:47
bialixI'd like to get them recorded in post_push hook09:47
Glenjaminthe idea was for :push:1 to be the last non-remembered push location?09:47
luksbzr push URL --remember=foo09:47
bialix'1' is just a number09:47
luksbzr push bm:foo09:47
luks?09:47
vilabzr push URL --bookmark=foo09:48
bialixhey luks09:48
lukshi09:48
vilabzr push URL --bookmark=foo ?09:48
lukswell, --remember is already there09:48
luksI think it would make sense to reuse it09:48
vilabzr push URL --remember=bm:foo ?09:48
bialixno, guys, I don't really know when I need to re-use that URL09:48
vilaluks: yeah, thinking out loud09:48
bialixand will I reuse it09:48
bialixjust auto-record in case of09:49
bialixmy situation: I have testing machine09:49
bialixso I'm just pushing to it from time to time09:49
bialixit's easier for me09:49
vilabialix: but why only push ? submit and parent and master can be good candidates09:49
vilatoo09:49
bialixbut the remembered push URL is URL to my central server09:49
bialixvila: right, but push is just the starting point for discussion09:50
bialixI've mentioned :pull:N too09:50
bialix:submit have no sense for me, I dislike it very much09:50
vilahow to know what N means09:50
bialixyou need to look09:51
vilabialix: that's where you merge from generally09:51
bialixvila: not in my workflow09:51
vilabialix: hehe, that's where I wanted to go :)09:51
bialixso, again idea behind :push:N09:51
vilabialix: what if you wanted to pull from the server instead ?09:52
bialixI push to non-default location, this location remembered as push:109:52
bialixnext time I push to another non-default location, this location remembered as push:209:52
vilabialix: or rather, what is your workflow ? pushing then going to the server to do something else ?09:52
bialixsay I have only 3-4 slots for this auto locations09:52
bialixI push to the another computer where I have hardware programmer and debug tools09:53
bialixvila: ^09:53
vilado you make commits there ?09:53
Glenjaminbut that computer doesn't move i assume, what's wrong with a bookmark?09:53
bialixalmost, no09:54
vilaGlenjamin: many branches09:54
vilabialix: so why not *pull* from this server instead ?09:54
bialixGlenjamin: because I have many branches09:54
vila(side note) I often use bzr push URL_prefix`bzr nick` as a good trick to09:55
vilaavoid having to came with new names every time09:55
bialixvila: it's just a matter of habit, I guess. to pull from the server I need to launch the browser, figure out URL and then pull. With push I need one time navigate in FAR to desired location and use it for push09:55
vilabialix: on the serve you should only have to issue 'bzr pull URL' once and then 'bzr pull'09:56
bialixvila: believe me: I have *many* branches and *many* different devices I'm working from time to time09:56
bialixit's not just one project and one trunk09:57
vilabialix: I'm asking all of this because I'm working on a plugin that should help automate a lot of these workflows and I realized that we have different kind of branches, all of them needing to behave a little bit different09:57
bialixok, if you think my use case is weird, I'm okj09:57
bialixI will look into hacking bookmarks, it's indeed good place to put my code in09:57
vilaa mirror only needs to be pulled, no commits, no push, a bug fix needs to be pushed, ends up merged, may require merging from parent, etc09:57
bialixvila: I'm coding on one machine and testing on another; sometimes I made minor changes09:58
vilabialix: not weird at all, I'm trying to find whether you need such auto-recorded bookmarks when there is no automatic way to use them09:58
vilabialix: right, so the target branch is a mirror of your working on one09:58
bialixyep09:59
vilaso you can either pull from it or bind it09:59
bialixno, I can't09:59
vilacan't bind ?09:59
vilaalready bound ?09:59
bialixI'm usually don't push unfinished code to the central servewr09:59
bialixcan't bind because of network configuration10:00
vilabind to test server while working, bind to central server when finished ?10:00
bialixcan't pull either, only push10:00
vilaaw10:00
bialixthere is no test servr10:00
vilagee, poor bialix :(10:00
bialixI don't feel so10:00
bialixI'm pretty happy with push10:00
vilaerr, I thought the discussion was about a missing feature :)10:01
vilabialix: and a push template where the branch nick can be automatically inserted ? (Or using append_path may be)10:03
bialixno, there is no push templates10:04
vilabialix: I know, I'm proposing one :)10:04
bialixI've pushed to central server: this location is already remembered, that's right10:04
vilaso you can say: bzr push bm:test_server and the url will caontains your `bzr nick`10:05
bialixI've pushed to test machine, the URL could be pretty arbitrary, sometimes even from one working branch I'm pushing to 2 or more locations to test different things10:05
Glenjamincan you get access to the branch object in a directory service lookup?10:06
bialixso that non-defautl URLs I want to be remembered somehow, hust in case I will need them later10:06
bialixs/hust/just/10:06
bialixGlenjamin: I can open a branch in current directory if needed10:07
Glenjaminah yes, thats how the AliasDirectory does it10:07
vilalooking briefly at bookmarks, it seems to allow bazaar.conf and locations.conf but not branch.conf10:07
vilathat would be a useful addition in all cases10:08
bialixvila: your proposals rely on the upfront action, that's what I want to avoid10:08
bialixvila: re bookmarks, config = self.branch.get_config()10:08
bialixI think the latter get the branch.conf first10:08
vilabialix: sure, but you won't avoid N nor looking at its meaning before using 'bzr push bm:push:1'10:09
bialixluks may know better10:09
bialixvila: so what? running the command `bzr bookmarks` before push:N is not so hard10:09
bialixand should be fast10:09
vilabialix: it's an upfront action10:10
bialixat least it will be faster than navigate to browser or FAR10:10
bialixvila: can't agree here, it's just info request, by action I mean: configure your bookmarks/push templates somehow before you can use them10:11
bialixin my proposal they will be recorded without any config10:11
bialixif you never know will you re-use them or not10:12
Glenjaminhow about a plugin that records all recent URLs which aren't already remembered normally. and then accessed via recent:N and "bzr recents" lists them10:12
bialixsomething like that will work too10:12
vilacool man, we're just discussing and I'm proposing alternatives. I'm not saying your proposal is useless or bad or anything :)10:13
bialixvila: ack10:13
vilayeah, I like Glenjamin idea10:13
* bialix have been trying to explain the same thing10:13
vilasee ? That's why discussing is good :) I can be very dense :)10:14
vilaand 'bzr recents' can be 'bzr config recent*'10:14
bialixsee, that's good10:14
vilaor something10:14
Glenjaminis bzr config new?10:15
vilaGlenjamin: so new it doesn't exist yet :)10:15
Glenjaminaha10:15
bialixit's imaginary atm10:15
pooliethis is kind of weird, now i've sorted out my bzr-pager thing10:16
bialixbtw, vila, will `bzr config` make the `bzr alias` command useless?10:16
vilathere are several related bugs floating around that can be addressed by a 'bzr config' command that can display/filter/modify config files10:16
vilabialix: probably10:16
pooliei still get a strange scriptrunner failure10:16
vilabialix: note that 'bzr alias' handles deleting a config var...10:16
pooliewhere ... doesn't seem to match10:17
poolieand it doesn't happen locally10:17
bialixI've tought `config` should do it to10:17
vilabialix: indeed10:17
vilapoolie: doctest changes since 2.4 ?10:17
* bialix shakes vila's hand10:17
* vila feels warm10:18
bialixGlenjamin: do you think recent:N should be global for all branches, or local for every branch?10:18
Glenjaminhrm10:18
vilabialix: local10:19
vilabialix: but you raise an interesting point as it means we can't have both. If you use a config var with a list value, it can't be an aggregation of branch.conf + bazaar.conf10:20
bialixhm hm10:20
bialixunless they have different names?10:20
vilaand you will populate all of them ?10:21
vilathe global one will soon become a mess unless you set a maximum size..10:21
bialixif I'll put them in bazaar.conf in the dedicated section then they will be different from branch.conf10:21
poolievila, that's my next guess10:21
bialixmaximum size is mandatory10:21
vilabialix: locations.conf, but yes10:21
vilabialix: that's sounds like experimentation is needed but this could fly very well...10:22
bialixthat's why I'd like to hack quick plugin to test the idea10:22
bialixand recent: prefix is really cool idea10:23
vilapoolie: ellipsis handling being a recent addition ? ISTR that the flag is or'ed with others so if it's not implemented it will fail silently10:23
pooliei can't believe ellipsis is recent but maybe the behaviour changed10:23
bialixwhat's difference between branch format 6 and 7?10:31
bialixah, stacked support10:32
maxblifeless: Do you anticipate being able to do testtools 0.9.6 -> sid soon? If not, I might make the proposed PPA jump ahead of sid, so that testtools and subunit can be considered for proposed PPA promotion at the same time as 2.2.110:33
lifelessmaxb: are you a dd ?10:34
maxbI am not10:34
lifelessah10:34
lifelessshould be able to do it tomorrow10:35
maxbNor an Ubuntu anything, actually. I did read about the MOTU process but never quite got around to producing uploads for sponsorship at a sufficient rate to start on that process10:39
jmlpoolie, hello10:43
pooliehello jml10:43
jmlpoolie, we should talk some time!10:43
pooliemm10:44
poolienow could be good, i was just going to warp up10:44
poolie*wrap10:44
=== Meths_ is now known as Meths
mgz<poolie> now could be good, i was just going to warp up <- poolie lives is a spaceship!15:40
mgz*in15:41
mgzkarma... can't enjoy other people's tyops without making your own15:43
bialixmgz: haha15:56
=== deryck is now known as deryck[lunch]
kpettitWhat is a good text editor or ide that has bzr support built in?16:23
kpettitNormally I use gedit, eric or similar linux ones.16:23
jelmerI think there is (some) support for gedit.16:24
kpettitah, didn't see it before.  I'll check...16:24
kpettitI'm new with bzr and really like it.  So I'm trying to use it more and see if there are any native editor things to help16:25
Glenjaminkomodo ide claims to have bzr support, haven't tried it though16:46
serviliohi all! when having B and C as branches of A, will there be a problem when I merge back changes into A if I had cherrypicked changes between either of the branches (from B to C or the other way)?16:48
Glenjaminservilio: mostly no, but you can sometimes get spurious conflicts16:54
Glenjaminusing remerge --weave or remerge --lca can help16:54
vilaservilio: no, you may encounter warning about criss-cross merges.. whatever Glenjamin is saying :)16:54
=== deryck[lunch] is now known as deryck
=== frakturfreak_ is now known as frakturfreak
=== Ursinha is now known as Ursinha-lunch
vilajml: bzr branch lp:bzr-gardener , feedback highly welcome :)17:37
jmlvila, thanks!17:37
jmlvila, I can't wait to try it.17:37
vilajml: very basic feature-wise so far but the design should scale17:38
Glenjaminvery zen function naming17:40
vilaGlenjamin: pfew, thanks, that was the hardest part, took me... months. Coding was far easier from there ;)17:41
jmlvila, neat.17:41
Glenjaminyou know you call grd.status regardless of the value of cmd?17:42
vilaGlenjamin: good catch ! Doesn't matter yet, but thanks !17:42
vilaGlenjamin: fix pushed17:44
Glenjaminoh i see, it doesn't just call bzr status - it tells you the working tree status17:44
Glenjaminseems pretty tidy17:44
vilaGlenjamin: yup, see in action during the fix above: http://paste.ubuntu.com/494278/17:45
Glenjaminwill pullable be true if a checkout is out of sync with its bound location?17:46
vilaGlenjamin: hehe, tricky question already ?17:47
vilaI already encounter case where not all branch kinds want to behave the same,17:47
Glenjamini almost exclusively work with checkouts, central repo at work :)17:47
vilaGlenjamin: light or heavy ones ?17:49
Glenjaminheavy17:49
vilaanyway, they will be supported but they will require more states17:49
Glenjamini'd imagine the pullable check on bound_url would be correct?17:50
Glenjaminalthough there's more states if local commits are involved17:50
Glenjaminwhich we try and avoid :)17:50
vilaand probably also require a type concept so different checks and different actions will apply to mirrors or feature branches17:50
Glenjaminit might be useful to mention the other_url in the output from "merged" as well17:51
vilaGlenjamin: 'merged' for example doesn't make a lot of sense for a mirror17:51
vilaGlenjamin: could be, with -v, don't hesitate to file bugs17:52
vilaGlenjamin: or even better send patches ;)17:52
Glenjamini may branch and have a play about :)17:52
vilaGlenjamin: enjoy !17:52
vilajml: I started with 'status' so that scripts can use it for... whatever17:54
jmlvila, good plan.17:54
Glenjaminupdate would be pretty cool, not sure what else though17:54
jmlvila, I've already got a stack of ideas17:54
vilajml: but ideally I'd like to do: 'bzr gardener --pull --filter mirror ~/.bazaar/plugins' to update all my plugins with respect to their respective trunk17:55
vilajml: 'mirror' in that case would be somehow defined in a config file17:56
jmlvila, *nod*17:56
Glenjaminwhy not make your plugins checkouts?17:56
vilajml: and would exclude bug fixes or feature branches17:56
Glenjaminlightweight ones even17:56
jmlvila, yeah. I'm thinking now that I want my Launchpad devel, stable etc branches ignored when I do status17:56
jmlor treated differently at least17:57
vilajml: you got the idea17:57
Glenjaminthen the action is just "update all the checkouts", and your dev ones wouldn't be bound17:57
vilajml: I don't think the branch type can be infered from the branch.conf urls, so I plan to rely on an explicit typing (which can be based on path: bzr/experimental, bzr/bugs, bzr/releases, etc)17:58
vilaGlenjamin: yup, that could work17:58
vilaGlenjamin: but I tend to use either plain branches or bound branches or looms17:59
jmlvila, yeah. either types or something more capability-based17:59
vilajml: I haven't thought about looms yet17:59
jmlvila, e.g. "for devel, *do* check pullability, *don't* check merging" etc.17:59
Glenjamini don't think i've ever used looms17:59
vilajml: yeah17:59
vilajml: type and actions are the ones I want to put in config18:00
Glenjamincan you "tag" a branch in some way, then filter by those tags? (not revision tags)18:00
vilaGlenjamin: via configuration, that's the plan18:00
vilaGlenjamin: so most of the time you could use 'bzr gardener' when working from a root (a root in a garden, it all makes sense !!!!111@@) or specify action when needed : 'bzr gardener --update this-branch'18:02
Glenjaminbzr gardener --update this-branch is equivalent to cd this-branch && bzr update ?18:03
vilajml: oh, I tried to use transports everywhere so branches could be scanned remotely too, but I don't know if there is a simple way to scan for lp:~vila/bzr18:04
vilaGlenjamin: yeah, silly example18:04
Glenjaminthe filter stuff seems like a good approach18:04
=== Ursinha-lunch is now known as Ursinha
bfrogwhy is launchpad so slow to clone from?18:39
bfrogit never fails to be like 5kbps18:39
lifelessbfrog: there is a bug open I think; we were looking at firewall issues19:45
lifelesselmo: has that firewall you suspected of being LFP-sensitive been upgraded to lucid yet?19:45
maxbLFP?20:04
lifelesslong fat pipes20:08
marienzhuh, I could've sworn there was a command that printed the path to your plugin dir, so you don't have to look it up in the documentation20:26
james_wit's in bzr version output isn't it?20:26
lifelessbzr --verison20:26
marienzso it is! thanks20:27
james_wok, not exactly, but close enough20:27
marienzI forgot the "2.0"20:27
* marienz is not normally on windows, and it shows20:27
maxbWhere might I discover whether InventoryLink.symlink_target is a bytestring or unicode string, other than by setting up a testcase to investigate?20:30
mgzjam: it appears launchpad still doesn't like you20:49
jammgz: yeah.... no love on the emails20:49
jamI don't know why, vincent looked at my emails and they work on his end20:50
mgzthey seems fine to me too, might just need to file a bug against launchpad20:51
jelmermaxb: just checking - if you're working on that bzr-svn bug, please assign the bug to yourself20:52
maxbjelmer: I was doing preliminary investigation.... which has turned into being about to propose a merge :-)20:53
maxbIs it really a sensible thing to do, to repack every 1000 revisions during a single 'bzr branch' (from svn) operation?20:55
jelmermaxb: it's what happens when you commit a write group20:58
maxbyes, but is it *sensible*21:04
lifelessmaxb: yes21:04
lifelessmaxb: each pack adds linear probing21:04
lifelessmaxb: within a pack is log(200) or so21:04
jelmermaxb: any luck?21:22
jamvila: if you are still around, is PQM basically deadlocked without your fix? I've been trying to land some patches and I'm getting failures21:24
mgzthe random failure jam? if you keep trying you may have luck, but it's certainly been easier to hit recently.21:25
jammgz: Well, it takes a long time  for t-bird to successfully finish reading the 7MB email, and then to pipe it through subprocess, etc21:26
jamfaster to chat here :)21:26
jambut I'll check21:26
mgz...I really think that's what needs fixing. PQM should be sending a nice, short, summary, not a machine readable dump.21:26
mgzIs that something I can poke, or is the code somewhere obscure?21:27
jammgz: well if my patch is extended to also strip the logs from successful runs, I think we'll have it21:28
mgzdid you see my last comment/21:29
mgzit looks like there's a line that tries to do that already, but in a different way to yours.21:29
jammgz: I saw a comment, I'm pretty sure that line doesn't work :)21:29
jamIt may be a 'race' thing.21:29
mgzI can well believe it, the log code has been seriously changed several times.21:29
jamoh, and the failing test was something else. The submitter used "\t" in his code, rather than just " "21:30
mgzgah! :)21:30
mgz...I hope it wasn't me.21:30
jammgz: no, knittl probably just had his editor configured to use tabs when possible21:31
mgzphew. I juggle my editor, and don't always have the right project style either.21:32
knittluh21:32
knittlmaybe a tab slipped in when writing the test21:33
knittli even made vim highlight mixed spaces and tabs21:33
mgzknittl: you can also use `./bzr selftest -s bt.test_source`21:34
maxbjelmer: Yes, I've convinced myself I do need to convert unicode to bytestring, and pushed a followup21:34
knittlmgz: ok, i know the next time21:35
jelmermaxb: That still can't be right though, you need a "link " prefix21:35
jelmermaxb: argh, nevermind21:35
maxbyes, it's in there21:35
maxbI gloried in the fact that it wants an iterable :-)21:36
jelmermaxb: hehe21:36
jelmermaxb: could I persuade you to add a test that shows this fixes the bug?21:37
* maxb goes hunting for suitable test fixtures to crib from21:39
jelmerthere should be some in tests/test_fetch.py21:40
mgz...I've been looking at bzrlib.tests for too long, can't keep in mind which bits need explaining21:46
maxbjelmer: Now I'm confused. test_fetch_special_unbecomes_symlink ought to cover this case :-/21:48
jamknittl: :set et<enter> :retab<enter>21:49
jamet == expandtab21:50
jelmermaxb: nope, it doesn't remove the svn:special bit21:50
knittljam: for future commits?21:50
jelmermaxb: although that shouldn't really matter in this case I guess21:50
jamknittl: that is just the easy way to clean up your current file. ":set et" is a good way to configure vim to always expand tabs into spaces21:50
jamThis is my default setting, in ~/.vimrc:21:51
jamset tw=79 sw=4 sts=4 ts=4 et ai si21:51
jelmermaxb: it's probably the text cache that's saving us there21:51
knittljam: well, i usually prefer using tabs21:51
jamdefaults to wrapping at 79 chars, soft stops at 4 chars, but using spaces rather than tabs21:51
jamts=8 is probably better21:51
jamknittl: sure. I think you can also put something in ~/.vim/filetype.vim21:51
maxbjelmer: hmmm. right. I shall attempt to figure out how to defeat the cache, then21:51
jamwhich uses a regex to match things under "*/bzr*21:52
jami know I have this there:21:52
jamau BufNewFile,BufRead *.py match Error /\s\+$/21:52
jamto watch out for trailing whitespace21:52
knittljam: i also match trailing space. and space before tabs.21:54
knittlwhich doesn't match tabs only and vim used tabs when copying those two lines (the pydoc string uses spaces …)21:54
jamknittl: sure, so you see *mixed* content, but not one-or-the-other21:55
jamI thought there was a python 'mode' that checked if you used mixed-within-the-file21:55
jamThe problem I had with the "mixed-within-a-line" was wrapped lines21:56
jamsince I might indent them to a non-tab-multiple21:56
jamThough I've since switched to all spaces21:56
maxbjelmer: It is acceptable to just copypaste test_fetch_special_unbecomes_symlink, and replace the single call to self.copy_content(source, target) with two, the first with an additional revision id parameter to only copy the first revision?22:02
knittljam: can i amend the old revision?22:05
knittli've only seen the mail now22:05
jamknittl: you can, 'bzr uncommit; fix; bzr commit"22:05
knittland then push without problems?22:05
jambut you might as well just do a new commit, and then push22:05
jamknittl: you would have to 'bzr push --overwrite'22:05
knittlcan i reuse the commmit message?22:05
knittljam: what is the recommended approach here?22:06
jamknittl: *I* would just create a new revision with "fixup whitespace issues" and push that22:06
jamsome people like to collapse history, I'm not really one of those22:06
jam(collapsing happens by having a 'mainline' where the tests always pass, etc. Individual branches don't have to be clean)22:06
knittlok, it's pushed22:07
jelmermaxb: sure22:11
jamknittl: submitted again22:12
knittlk, thanks22:12
jelmermaxb: These tests need some more rigurous refactoring at some point. Right now they're all basically blackbox tests (they set up some svn situation and run fetch). I'd like to do more testing of the individual classes.22:12
maxbpushed22:16
jelmermaxb: I don't see anything...22:30
maxbjelmer: erm, yes, that would be my fault. I also pushed 82000 revisions of kdebase and have cause "some" delay in branch scanning22:32
jelmerhehe22:32
jelmerThose revisions should already be in the revision table on launchpad though22:32
jelmerah, kdebase.. sorry22:32
maxbQuestion for you, though - why do various layout methods take an optional project parameter - and why is it sometimes defaulted to None and sometimes to "" ?22:32
jelmermaxb: Depends on the methods implementation.22:39
maxbAs in, it's None if someone was prepared to assert the parameter was genuinely unused?22:39
maxbbtw, is https://code.launchpad.net/~maxb/bzr-svn/unused/+merge/32822 on your radar to look at at some point (it's just unused code removal) ?22:42
jelmermaxb: Sorry, I saw it earlier and had a brief look but not enough time to look at it in more detail.22:45
jelmermaxb: IIRC it removes get_rhs_ancestors(), which I'd like to keep around because I'd like to use it for optimization in the future.22:46
maxbah, ok. I killed it because it was unused, and only had a fileprops-based implementation22:47
jelmermaxb: wrt project in the layout methods; some methods don't actually care about what project is specified for example, or their project value is a prefix22:48
jelmermaxb: it really should only have a fileprops-based implementation, but would allow us to see what revisions are present in a svn branch.22:49
maxbok, I'll rewrite history of that branch to keep get_rhs_ancestors22:58
=== Ursinha is now known as Ursinha-afk
pooliehi jam, maxb, jelmer23:06
maxbhello23:06
jelmer'morning poolie23:06
dleeIf I check out with Bzr from one svn branch, then check out separately from another svn branch of the same project, assuming the two svn branches share a lot of common revisions, will I profit by putting my two Bzr checkouts in a shared repo, or will Bzr connect the common svn revisions that way?23:13
dleeI read a lot about this problem a long time ago, but I'm not sure of current behavior.23:14
maxbYes you will save time and diskspace by doing both within a shared repository23:14
dleeCool!  I wasn't sure if the bzr revids would map repeatably to the same svn revisions.23:15

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