[00:01] meoblast001: bzr help hooks | less [00:01] lifeless: do you mean post_change_branch_tip? [00:01] probably, yess [00:04] meoblast001: http://wiki.bazaar.canonical.com/BzrPlugins is a reasonable list of plugins - most, not all [00:04] meoblast001: there is publish-bot which does irc already [00:05] ok, thanks [00:07] mathrick: *shrug* bzr branch lp:dulwich [00:18] mathrick: I think its reasonable for trunk to have a dependency on trunk of something else [00:18] particularly when they have a close relationship [00:19] yeah, I know [00:21] now it's reasonable to depend on the trunk, but the trunk isn't 0.5.0 either [00:22] I guess the root problem is that samba.org repos are down [00:23] Hello... has the "svn-push" command, which is referred in several (old) pages, disappeared? I installed bzr-svn, but I get 'bzr: ERROR: unknown command "svn-push"'... [00:23] toobaz_: just use push [00:23] it's not needed anymore [00:23] ooh [00:23] that's nice [00:23] thanks [00:23] no problem [00:24] okay, so it is 0.5.0, but for whatever reason it's 0.4.1 when I build a deb out of it [00:33] mathrick: perhaps debian/changelog is stale :P [00:34] mathrick: or its been given a pre-0.5.0 version because 0.5.0 isn't released [00:35] lifeless: nah, it was eggs installed by bzr-git overriding the system-wide dulwich [00:37] okay, now I've got a crasher [00:39] http://www.pastebin.com/f187cd9fd [00:49] mathrick: can you say my name - testing a script [00:49] lifeless: test [00:50] great thanks [00:50] no problem [00:50] any idea what's wrong in my crash? [00:51] not offhand [00:51] have you looked at bzr-gitbugs? [00:51] There have been as_dict-related bugs in the past, but I don't remember it being in rio. [00:53] lifeless: nope, lemme try that [00:54] mathrick: How up-to-date are bzr/bzr-git/dulwich? [00:54] pulled 30 mins ago [00:54] well, bzr-git and dulwich [00:54] bzr is 2.1.0 [00:54] 2.1.0rc2 to be exact [00:55] https://bugs.launchpad.net/bzr-git/+bug/489649 <-- what do you know [00:55] Ubuntu bug 489649 in bzr-git "Crash in bzr-git during bzr rm" [Low,Triaged] [00:55] I reported a similar bug already [00:55] mathrick: try again please [00:55] somehow I always hit bugs in jelmer's code, I dunno how that works [00:55] (my nickname) [00:55] lifeless: pokety [00:56] \o/ [00:56] gui notifications setup [00:56] I might rewrite it in python at some point, but this is good enough for now [00:58] lifeless: oh, so it popups a bubble with what's been said? [00:59] With me it would usually be an iRPG or spam in #freenode. :-P [00:59] preferably without being all stupid and doing seventy things in my tray none of which I care about? [00:59] mathrick: yeah [00:59] lifeless: can I have it? [00:59] and what's it in, if not python? [00:59] of course [00:59] perl and bash [01:00] aha, lemme check if I have perl here [01:00] But do you have bash? :D [01:00] hmm, let's check something first [01:00] lifeless: what IRC client? :) [01:00] irssi [01:00] ah, right, I sort of assumed it'd be xchat [01:01] lifeless: hmm, say something to me [01:01] http://www.google.com/reader/shared/robert.collins?hl=en - the first link explains it [01:01] mathrick: yo [01:01] oh nice, it's built into xchat nowadays [01:01] thanks [01:02] xchat has notifications built in [01:02] :) [01:02] yah, I'm just used to it being incredibly retarded [01:02] but they fixed it it seems [01:02] xchat plugins have a long and proud history of doing everything but the things you want [01:02] and doing things you don't want too [01:03] mathrick: all of xchat fits that description to me :) [01:04] yeah, but irssi is even more brain-damaged [01:04] so really it's the lesser evil [01:04] well, it has a rather compelling advantage [01:16] hey jelmer [01:16] https://bugs.launchpad.net/bzr-git/+bug/489649 [01:16] Ubuntu bug 489649 in bzr-git "Crash in bzr-git during bzr rm" [Low,Triaged] [01:16] hi mathrick [01:17] jelmer: please don't auto-op :) [01:17] jelmer: I hit that bug again [01:17] lifeless, I'm not doing anything [01:17] lifeless, the network has started doing that to me recently [01:17] jelmer: its a service setting [01:17] jelmer: also, your samba.org repos are down, which I found out trying to get dulwich [01:17] mathrick, they seem alright to me [01:17] jelmer: I don't know which mode flag in particular, but its controllable [01:18] mathrick, http://people.samba.org/bzr/jelmer/dulwich/trunk/ [01:18] lifeless, I wonder why it's suddenly started giving me ops here though [01:18] jelmer: odd, both hang for me [01:18] I haven't talked with nickserv or chanserv in ages [01:18] I wonder if my ISP is doing something funny [01:18] we expanded the nicks with op access [01:18] ahh [01:19] to be most everyone with commit access [01:19] by "both" I mean git and bzr repos [01:19] jelmer: also, the github / gitorious mirrors contain no refs, sez git [01:19] :> [01:19] later [01:19] mathrick: I think there's something wrong on your end then.. [01:20] mathrick: git has no problems cloning the dulwich git repo here either [01:20] okay, I'll assume it's whatever my ISP is screwing up then [01:21] every once in a while random pages stop responding it seems [01:22] mathrick, if you hit this during pull, it is when pulling from a remote git repo into a git repo using bzr? [01:24] yes [01:27] jelmer: somehow I seem to hit these things in your code all the time [01:28] mathrick: bzr-git's working tree support has never really been a focus [01:29] by working tree you mean operating on git checkouts with bzr? [01:29] mathrick: yeah [01:29] I see [01:29] it'd be nice to be able to use bzr as a saner UI to git [01:29] mathrick: in that case you'd probably want a bzr working tree with a git branch/repo [01:30] mathrick: rather than a git working tree, which uses an index - something that doesn't map to bzr's UI very well [01:30] jelmer: sure, and does pushing to git work in this case? [01:30] mathrick: yeah [01:30] so I can just push to github and be a happy man? [01:30] Well, ideally [01:31] that's also a situation that's not heavily tested [01:31] so what is tested then? :) [01:31] but I'm keen to fix bugs [01:31] mathrick: using bzr-git to push from and to pull git repositories [01:31] into native bzr branches [01:31] jelmer: push from as in cd git-checkout; bzr push lp:some-project ? [01:32] jelmer: I'll give it a go then I guess [01:32] mathrick: the other way around generally [01:32] then I don't understand "push from" [01:32] mathrick: bzr branch git://github.com/bla && cd bla && hackhack && bzr dpush git+ssh://github.com/bla [01:32] (or a local git repo rather than a remote one) [01:33] mathrick: anyway, that isn't to say we shouldn [01:33] 't support working in a git working tree [01:33] jelmer: ah, that's the thing I wanted to do, I understood it was what was poorly tested [01:33] it's just not something that we've focussed on so far [01:33] right [01:33] mathrick: that's not what you're doing at the moment [01:34] I know that, but I was asking if I can push from a bzr-git branch into a github repo without problems [01:34] ah, sure [01:34] but speaking of git, any progress on having git-style in-place branches? [01:34] well, s/push/dpush/ [01:34] aha, good to know [01:34] mathrick: co-located branches are in progress... [01:34] I must say they're hellishly convenient when debugging [01:35] because I don't need to update any paths, I just checkout upstream and restart [01:36] jelmer: where can I track the progress? [01:36] mathrick: nowhere really, it's just branches landing that add more support towards it [01:36] I see [01:36] so it's not something that can be easily added with a plugin? [01:37] mathrick: well, there is a plugin that adds it (bzr-colo) [01:37] but I'm working on supporting it in the core [01:37] ah [01:37] and for e.g. git repositories [01:37] how robust is the plugin? [01:38] I have no idea [02:12] jelmer: http://www.pastebin.com/f37cafafb [02:12] I don't think this happened before I updated bzr-git [02:12] mathrick: It's because you updated bzr [02:12] mathrick: it's fixed in bzr.dev [02:12] and 2.1.0 [02:13] oh [02:13] is 2.1.0 out? [02:13] yeah [02:13] nice [02:13] * mathrick updates [02:18] hmm, where am I supposed to get it? PPA stopped updating (policy change as I understand), but karmic doesn't have anything past the rc2 [02:20] I'm not sure [02:41] lifeless: my ops should be fixed now.. [02:41] \o/ [02:44] What does this mean? Fetching revisions:Inserting missing keys: [02:44] It's...downloading stuff. Or uploading, as the case may be. [02:45] I meant this part "Inserting missing keys" [02:46] in this case it is adding keys for ghosts [02:47] MTecknology: Is the branch you are pulling down perhaps imported from baz originally? [02:47] launchpad [02:47] ah [02:47] Launchpad does indeed have a lot of ghosts in its history [02:47] I'm not sure why adding dummy keys for them requires so much time though [02:48] what's a ghost? [02:51] it's a revision to which references exist in the history, but which is not actually present [02:51] ghosts could easily be created in baz [02:52] oh [02:52] so is bzr the reincarnation of baz? [02:53] Pretty much. [02:54] bzr is a completely different codebase, but it was created by the same people as baz.. [02:54] Well. [02:54] baz is a fork of tla, but still. [02:54] how do git and bzr compare in features? [02:56] MTecknology: http://doc.bazaar.canonical.com/migration/en/why-switch-to-bazaar.html [02:56] IMHO, git is absolutely insane in terms of UI, which is a deal breaker [02:57] whereas bzr simply works and does what I want [02:57] nice reading for me [03:00] thanks :) [03:02] IIRC, "missing keys" refers to the way bzr does fetches: in the first pass it optimistically grabs what is probably most if not all of the data for the revisions being transferred, and then checks if any records (e.g. file versions, parent inventories, etc) that are required for the new revisions are still missing; if there are, it does a second pass small fetch to grab those items the first pass missed. [03:04] (It's hard to calculate the full set of data up front because that requires inspecting the direct records for the new revisions, but the client can't do that until it has received them, and the server can't do it precisely because it doesn't know exactly what records the client already has) [03:08] So far what I'm seeing is that bzr is simple, easy, flexible and git lets you perform about any task but isn't very friendly [03:34] Should a push really be CPU bound? I'm just pushing a Launchpad branch to a local Launchpad instance, and the bzr process doing the push is eating an entire core. [03:34] The remote side is also sometimes eating the other core. [03:35] (bzr 2.1.0 local, 2.1.0rc2 remote) [04:01] wgrant: it's a known issue, I forget exactly what the analysis is [04:01] wgrant: some combination of searching indices, decompressing and parsing records, and recompressing them. [04:02] spiv: I see. [04:02] wgrant: I'd bet jam knows the details [04:38] trying to make this launchpad system run it kicking my butt [04:38] MTecknology: It's still not working? [04:38] nope [04:38] make run only throws out one error and one warning [04:39] pastebin [07:04] spiv: ping [07:04] spiv: I've been pondering command cleanups. [07:05] spiv: I think there are a few things that can be improved in the current implementation; mainly that a public method (run) is no longer safe to call. [07:06] spiv: so I'm wondering if, instead, we should say 'define _run_with_cleanups' for methods that use cleanups, and not support them on 'run' at all [07:06] spiv: the calling logic could determine which method to execute, or something like that [07:06] lifeless: as a way to ease backwards compat for plugins? [07:07] I think eventually most command implementations will want to use add_cleanup, so it would be good to make sure that end state will be reasonably clean. [07:07] to raise it level on rusty's interface safety sacle [07:08] Yeah. It does suck that 'run' isn't necessary safe to call right now. [07:08] and the end state is that it will usually /not/ be safe to call [07:08] so I'd like it to look unsafe [07:08] Right. [07:09] If you feel that raising some sort of error that says deprecated/not-implemented/please-use-other-method-instead will be nicer than the status quo, then let's do that. [07:09] so I'm proposing that we deprecate run(), add _run() or something more clear [07:10] migrate commands over as they want cleanups [07:10] or perhaps have [07:10] Hmm. [07:10] add_cleanup error if you used run() [07:10] Do we need to add a new method instead of using run_direct? I'm forgetting details already. [07:10] I think add_cleanup erroring if you used run would be bad. [07:10] Because then you'll fail to cleanup! [07:11] spiv: well, you won't ever ship it to users though :) [07:11] spiv: because it would blow up early. [kindof my point] [07:11] lifeless: haha, I admire your optimism :) [07:11] spiv: by 'used run' I mean 'the command was defined with run()' not 'a client of the api called run()' [07:11] I would rather blow up even earlier (by making run fail to, er, run). [07:12] spiv: sure [07:12] But if you get to the point of the code trying to execute add_cleanup, then it's too late to behave gracefully, because there must be something to cleanup at that point :) [07:12] so there are a few questions: should we have an external keyword-function for running a command [07:13] its kindof nice for close testing, but I don't think we use it much that way [07:13] I think for convenience of writing tests it'd be nice. [07:13] and its hard for decorating [07:13] But yeah, check if any of our tests actually need that. [07:13] brb, baby [07:13] because the signature changes between core and plugin, often. [07:37] spiv: I can mail you ifyou like [07:37] I don't think babies fit into 'right back' :P [07:41] the only thing that really annoys me about bzr is that you can't just have a branch on a server and add users to a group so they can access it, you pretty much have to create a new user and add peoples ssh keys to that user account to let multiple people work on a project [07:41] I'm guessing that's because of it's decentralized nature [07:42] uhm [07:42] it should work; in what way doesn't it? [07:42] I mean, you need a filesystem that will preserve group access properly; and the default umask on unix won't [07:43] lifeless: this is what I came up with the last time I tried - http://profarius.com/content/creating-your-own-bazaar-server [07:44] theres also a helper script in the bzr distribution to do group based access I believe [07:44] oh. I'll have to look at that [07:45] dunno what it does ;) [07:45] :P [07:45] where can I find that at? [07:45] its probably in the package in /usr/li/bzr [07:45] otherwise in contrrib/ in the source [07:46] alrighty, I'll try that out [07:46] so far that [07:46] 's the only thing about bzr that I'm not enjoying [08:09] would be nice if bzr init-repo had some flags to set those automatically [08:14] spiv: also if you felt up to reviewing my subunit test patch in the bzr merge queue, that would <3 brownie points [08:32] lifeless: mail is good [08:33] lifeless: also, I don't really look after any significant plugins myself, so perhaps I don't have the best perspective on what the requirements are... someone on the mailing list may want to chip in [08:33] lifeless: I'll take a peek at the subunit patch, see if it looks small enough. [08:34] (small enough to fit between baby moments :) [08:56] spiv: its very small [08:57] spiv: is add_cleanup in 2.1 ? [08:57] [for commands] === marienz_ is now known as marienz === marienz_ is now known as marienz [16:34] hi - can someone help - I think my osx install of bzr is a bit hosed [16:34] whenever i try and do a bzr init I get: [16:35] bzr: ERROR: No such file: u'/private/tmp/test/.bzr/README': [Errno 2] No such file or directory: '/private/tmp/test/.bzr/README.477.macbook/.gft5rmx1uy.tmp' [16:35] anyone got any ideas? [16:36] Benathome: what version of bazaar do you have installed? [16:39] Pilky: I just reinstalled the lastest version [16:39] benrometsch@macbook /tmp/test $ bzr version [16:39] Bazaar (bzr) 2.1.0 [16:39] hmm [16:39] is it just in /private/tmp/test that you can't create or have you tried elsewhere? [16:40] i have tried elsewhere including in my ~ dir [16:41] not sure, beyond uninstalling and reinstalling [16:41] I've tried that! [16:41] wasn't sure what the best uninstall method was tho [16:41] there's an uninstall script [16:42] ah ok [16:42] where abouts? [16:42] https://launchpad.net/bazaar-mac-uninstaller [16:42] great thanks [16:42] I would maybe try uninstalling [16:42] lol - dont say I need bzr to uninstall it :S? [16:43] then try installing 2.0.4 [16:43] ok [16:43] http://bazaar.launchpad.net/%7Ebzr/bazaar-mac-uninstaller/trunk/annotate/head%3A/uninstall-bazaar.py [16:43] yeah thanks I just downloaded that [16:44] you could just copy & paste that into a text file [16:44] but I get benrometsch@macbook ~/Downloads $ sudo python uninstall-bazaar.py [16:44] ls: /Library/Receipts/boms/org.pythonmac.bazaar*: No such file or directory [16:44] should it be running python 2.5 or 2.6? [16:44] did you install via the the disk image? [16:44] yeah [16:45] I had installed it via pip and homebrew [16:45] it was all working fine [16:45] but suddenly stopped working [16:45] depends if you are on 10.5 or 10.6 [16:45] I tried uninstalling it from pip and homebrew [16:45] 10.6 [16:45] I think on 10.6 bzr runs 64 bit so uses python 2.6 [16:46] right ok [16:46] that uninstaller is looking at 2.5 [16:48] well I ran that script, installed 2.0.4 and now I get [16:48] type object 'Merger' has no attribute 'hooks' [16:48] Unable to load plugin 'news_merge' from '/Library/Python/2.6/site-packages/bzrlib/plugins' [16:48] something very not right :( [16:50] check in /Library/Python/2.6/site-packages/bzrlib/plugins [16:50] see if there is a plugin news_merge, and if so moved it to your desktop and try again [16:51] ok I rmd bzrlib [16:51] reinstalled 2.0.4 [16:51] and doing an init still gives mebzr: ERROR: No such file: u'/Users/benrometsch/.bzr/README': [Errno 2] No such file or directory: '/Users/benrometsch/.bzr/README.644.macbook/.wkx6ei3uci.tmp' [16:52] ok, well then I'm stumped as well, might have to ask one of the more experienced users or the devs [16:52] ok thanks for your help [16:52] googling it gives me nothing :( [17:01] OK well, updating the hostname on my machine fixed it! [17:01] very very odd [17:17] jelmer, hi [17:17] jelmer, I'm with the Twisted guys and they're interested in bzr-svn === radoe__ is now known as radoe [19:49] moin [19:54] jelmer: would https://code.edge.launchpad.net/~vcs-imports/distcc/trunk perhaps be fixed by having the git code imports not bother creating the bzr working tree? [20:10] mwhudson, it's fixed in current bzr-svn [20:10] mwhudson, that just hasn't been rolled out to lp yet [20:11] jelmer: ok [21:30] lifeless: you around? [21:30] yes [21:31] ok, i was talking to you the other day about plugins, and felt it would be best to ask my question to you as you already know what i'm doing [21:31] suppose i have def phook(result):, where is documentation of what would be passed as result [21:31] and what it contains [21:32] for example, if this is a post_change_branch_tip hook [21:32] bzr help hooks | less /branch_top [21:32] sorry [21:32] /branch_tip [21:32] the docs say what its passed [21:32] /branch_tip: No such file or directory [21:33] you can use pydoc THING to get the docs on a specific type that is mentioned [21:33] the /branch_tip is a search within the less [21:33] yes, i'm doing bzr help hooks | less /branch_tip [21:33] don't put /branch_tip in the command line [21:33] type it after hitting enter [21:34] yes, but it doesn't say what information is passed to the hook [21:35] 'post_change_branch_tip is called with a [21:35] bzrlib.branch.ChangeBranchTipParams.' [21:35] seems to say so to me [21:35] ah, that ChangeBranchTipParams is a data structure? or whatever it's called in Python [21:35] sorry, i'm more of the C/C++ guy [21:35] pydoc bzrlib.branch.ChangeBranchTipParams [21:35] ok, thanks [21:36] hm, so there is no information regarding the commit message? [21:38] branch.repository.get_revision(new_revid).message [21:38] ah, ok === wgrant_ is now known as wgrant [22:28] lifeless: now that i wrote my bot server, time to write that plugin ;) [22:41] "creating new compressed block on-the-fly" [22:42] is that useful information for anyone? [22:46] It's useful information for...the developers. Maybe. Once. [22:47] james_w: yes, but not always. [22:47] it should be -D something hidden [22:48] I find it rather overwhelms the messages that I normally care about [22:50] lifeless: is new_revno an integer (i understand typing in Python is not as strict as in C) [22:51] meoblast001: I think so [22:52] ok, thanks [23:13] lifeless: i'm getting the feeling Python is going to mess this all up for me [23:13] :/ [23:20] 'evening [23:55] Okay, so I go back to an old version using "bzr revert" to apply a patch. Now how do I tell bzr to update to HEAD with my patch applied, so that I can see bzr's conflicts instead of "patch"'s conflicts? [23:56] mkanat: 'bzr revert' ? [23:56] with no args [23:56] mwhudson: Which deletes my patch? [23:56] oh right durr [23:57] I expected a -r argument on up, but there isn't one. [23:57] i think there might be in bzr.dev actually [23:57] meoblast001: how so? [23:57] lifeless: i want to send a 4 byte integer over the network [23:57] mkanat: rather than going back with revert; do this: [23:57] mkanat: bzr branch . ../patch [23:57] after a lovely talk with the people in #python, it looks like it will be painful [23:57] cd ../patch [23:58] bzr uncommit -r ; bzr revert [23:58] apply the patch [23:58] bzr commit --author "Who wrote the patch " [23:58] mkanat: then you have a commit that represents the ptch,and can merge it as normal. And bzr knows who wrote it. [23:58] lifeless: Ah, thank you. [23:58] I should make a command to do this for you [23:59] give it a patch file, a rev spec, and it would import, set author, and pending merge. [23:59] That'd be nice.