/srv/irclogs.ubuntu.com/2010/02/21/#bzr.txt

lifelessmeoblast001: bzr help hooks | less00:01
meoblast001lifeless: do you mean post_change_branch_tip?00:01
lifelessprobably, yess00:01
lifelessmeoblast001: http://wiki.bazaar.canonical.com/BzrPlugins is a reasonable list of plugins - most, not all00:04
lifelessmeoblast001: there is publish-bot which does irc already00:04
meoblast001ok, thanks00:05
maxbmathrick: *shrug*  bzr branch lp:dulwich00:07
lifelessmathrick: I think its reasonable for trunk to have a dependency on trunk of something else00:18
lifelessparticularly when they have a close relationship00:18
mathrickyeah, I know00:19
mathricknow it's reasonable to depend on the trunk, but the trunk isn't 0.5.0 either00:21
mathrickI guess the root problem is that samba.org repos are down00:22
toobaz_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
mathricktoobaz_: just use push00:23
mathrickit's not needed anymore00:23
toobaz_ooh00:23
toobaz_that's nice00:23
toobaz_thanks00:23
mathrickno problem00:23
mathrickokay, so it is 0.5.0, but for whatever reason it's 0.4.1 when I build a deb out of it00:24
lifelessmathrick: perhaps debian/changelog is stale :P00:33
lifelessmathrick: or its been given a pre-0.5.0 version because 0.5.0 isn't released00:34
mathricklifeless: nah, it was eggs installed by bzr-git overriding the system-wide dulwich00:35
mathrickokay, now I've got a crasher00:37
mathrickhttp://www.pastebin.com/f187cd9fd00:39
lifelessmathrick: can you say my name - testing a script00:49
mathricklifeless: test00:49
lifelessgreat thanks00:50
mathrickno problem00:50
mathrickany idea what's wrong in my crash?00:50
lifelessnot offhand00:51
lifelesshave you looked at bzr-gitbugs?00:51
PengThere have been as_dict-related bugs in the past, but I don't remember it being in rio.00:51
mathricklifeless: nope, lemme try that00:53
Pengmathrick: How up-to-date are bzr/bzr-git/dulwich?00:54
mathrickpulled 30 mins ago00:54
mathrickwell, bzr-git and dulwich00:54
mathrickbzr is 2.1.000:54
mathrick2.1.0rc2 to be exact00:54
mathrickhttps://bugs.launchpad.net/bzr-git/+bug/489649 <-- what do you know00:55
ubottuUbuntu bug 489649 in bzr-git "Crash in bzr-git during bzr rm" [Low,Triaged]00:55
mathrickI reported a similar bug already00:55
lifelessmathrick: try again please00:55
mathricksomehow I always hit bugs in jelmer's code, I dunno how that works00:55
lifeless(my nickname)00:55
mathricklifeless: pokety00:55
lifeless\o/00:56
lifelessgui notifications setup00:56
lifelessI might rewrite it in python at some point, but this is good enough for now00:56
mathricklifeless: oh, so it popups a bubble with what's been said?00:58
PengWith me it would usually be an iRPG or spam in #freenode. :-P00:59
mathrickpreferably without being all stupid and doing seventy things in my tray none of which I care about?00:59
lifelessmathrick: yeah00:59
mathricklifeless: can I have it?00:59
mathrickand what's it in, if not python?00:59
lifelessof course00:59
lifelessperl and bash00:59
mathrickaha, lemme check if I have perl here01:00
PengBut do you have bash? :D01:00
mathrickhmm, let's check something first01:00
mathricklifeless: what IRC client? :)01:00
lifelessirssi01:00
mathrickah, right, I sort of assumed it'd be xchat01:00
mathricklifeless: hmm, say something to me01:01
lifelesshttp://www.google.com/reader/shared/robert.collins?hl=en - the first link explains it01:01
lifelessmathrick: yo01:01
mathrickoh nice, it's built into xchat nowadays01:01
mathrickthanks01:01
lifelessxchat has notifications built in01:02
lifeless:)01:02
mathrickyah, I'm just used to it being incredibly retarded01:02
mathrickbut they fixed it it seems01:02
mathrickxchat plugins have a long and proud history of doing everything but the things you want01:02
mathrickand doing things you don't want too01:02
lifelessmathrick: all of xchat fits that description to me :)01:03
mathrickyeah, but irssi is even more brain-damaged01:04
mathrickso really it's the lesser evil01:04
lifelesswell, it has a rather compelling advantage01:04
mathrickhey jelmer01:16
mathrickhttps://bugs.launchpad.net/bzr-git/+bug/48964901:16
ubottuUbuntu bug 489649 in bzr-git "Crash in bzr-git during bzr rm" [Low,Triaged]01:16
jelmerhi mathrick01:16
lifelessjelmer: please don't auto-op :)01:17
mathrickjelmer: I hit that bug again01:17
jelmerlifeless, I'm not doing anything01:17
jelmerlifeless, the network has started doing that to me recently01:17
lifelessjelmer: its a service setting01:17
mathrickjelmer: also, your samba.org repos are down, which I found out trying to get dulwich01:17
jelmermathrick, they seem alright to me01:17
lifelessjelmer: I don't know which mode flag in particular, but its controllable01:17
jelmermathrick, http://people.samba.org/bzr/jelmer/dulwich/trunk/01:18
jelmerlifeless, I wonder why it's suddenly started giving me ops here though01:18
mathrickjelmer: odd, both hang for me01:18
jelmerI haven't talked with nickserv or chanserv in ages01:18
mathrickI wonder if my ISP is doing something funny01:18
lifelesswe expanded the nicks with op access01:18
jelmerahh01:18
lifelessto be most everyone with commit access01:19
mathrickby "both" I mean git and bzr repos01:19
mathrickjelmer: also, the github / gitorious mirrors contain no refs, sez git01:19
lifeless:>01:19
lifelesslater01:19
jelmermathrick: I think there's something wrong on your end then..01:19
jelmermathrick: git has no problems cloning the dulwich git repo here either01:20
mathrickokay, I'll assume it's whatever my ISP is screwing up then01:20
mathrickevery once in a while random pages stop responding it seems01:21
jelmermathrick, if you hit this during pull, it is when pulling from a remote git repo into a git repo using bzr?01:22
mathrickyes01:24
mathrickjelmer: somehow I seem to hit these things in your code all the time01:27
jelmermathrick: bzr-git's working tree support has never really been a focus01:28
mathrickby working tree you mean operating on git checkouts with bzr?01:29
jelmermathrick: yeah01:29
mathrickI see01:29
mathrickit'd be nice to be able to use bzr as a saner UI to git01:29
jelmermathrick: in that case you'd probably want a bzr working tree with a git branch/repo01:29
jelmermathrick: rather than a git working tree, which uses an index - something that doesn't map to bzr's UI very well01:30
mathrickjelmer: sure, and does pushing to git work in this case?01:30
jelmermathrick: yeah01:30
mathrickso I can just push to github and be a happy man?01:30
jelmerWell, ideally01:30
jelmerthat's also a situation that's not heavily tested01:31
mathrickso what is tested then? :)01:31
jelmerbut I'm keen to fix bugs01:31
jelmermathrick: using bzr-git to push from and to pull git repositories01:31
jelmerinto native bzr branches01:31
mathrickjelmer: push from as in cd git-checkout; bzr push lp:some-project ?01:31
mathrickjelmer: I'll give it a go then I guess01:32
jelmermathrick: the other way around generally01:32
mathrickthen I don't understand "push from"01:32
jelmermathrick: bzr branch git://github.com/bla && cd bla && hackhack && bzr dpush git+ssh://github.com/bla01:32
jelmer(or a local git repo rather than a remote one)01:32
jelmermathrick: anyway, that isn't to say we shouldn01:33
jelmer't support working in a git working tree01:33
mathrickjelmer: ah, that's the thing I wanted to do, I understood it was what was poorly tested01:33
jelmerit's just not something that we've focussed on so far01:33
mathrickright01:33
jelmermathrick: that's not what you're doing at the moment01:33
mathrickI know that, but I was asking if I can push from a bzr-git branch into a github repo without problems01:34
jelmerah, sure01:34
mathrickbut speaking of git, any progress on having git-style in-place branches?01:34
jelmerwell, s/push/dpush/01:34
mathrickaha, good to know01:34
jelmermathrick: co-located branches are in progress...01:34
mathrickI must say they're hellishly convenient when debugging01:34
mathrickbecause I don't need to update any paths, I just checkout upstream and restart01:35
mathrickjelmer: where can I track the progress?01:36
jelmermathrick: nowhere really, it's just branches landing that add more support towards it01:36
mathrickI see01:36
mathrickso it's not something that can be easily added with a plugin?01:36
jelmermathrick: well, there is a plugin that adds it (bzr-colo)01:37
jelmerbut I'm working on supporting it in the core01:37
mathrickah01:37
jelmerand for e.g. git repositories01:37
mathrickhow robust is the plugin?01:37
jelmerI have no idea01:38
mathrickjelmer: http://www.pastebin.com/f37cafafb02:12
mathrickI don't think this happened before I updated bzr-git02:12
jelmermathrick: It's because you updated bzr02:12
jelmermathrick: it's fixed in bzr.dev02:12
jelmerand 2.1.002:12
mathrickoh02:13
mathrickis 2.1.0 out?02:13
jelmeryeah02:13
mathricknice02:13
* mathrick updates02:13
mathrickhmm, where am I supposed to get it? PPA stopped updating (policy change as I understand), but karmic doesn't have anything past the rc202:18
jelmerI'm not sure02:20
jelmerlifeless: my ops should be fixed now..02:41
jelmer\o/02:41
MTecknologyWhat does this mean? Fetching revisions:Inserting missing keys:02:44
PengIt's...downloading stuff. Or uploading, as the case may be.02:44
MTecknologyI meant this part "Inserting missing keys"02:45
jelmerin this case it is adding keys for ghosts02:46
jelmerMTecknology: Is the branch you are pulling down perhaps imported from baz originally?02:47
MTecknologylaunchpad02:47
jelmerah02:47
jelmerLaunchpad does indeed have a lot of ghosts in its history02:47
jelmerI'm not sure why adding dummy keys for them requires so much time though02:47
MTecknologywhat's a ghost?02:48
jelmerit's a revision to which references exist in the history, but which is not actually present02:51
jelmerghosts could easily be created in baz02:51
MTecknologyoh02:52
MTecknologyso is bzr the reincarnation of baz?02:52
wgrantPretty much.02:53
Pengbzr is a completely different codebase, but it was created by the same people as baz..02:54
PengWell.02:54
Pengbaz is a fork of tla, but still.02:54
MTecknologyhow do git and bzr compare in features?02:54
mathrickMTecknology: http://doc.bazaar.canonical.com/migration/en/why-switch-to-bazaar.html02:56
mathrickIMHO, git is absolutely insane in terms of UI, which is a deal breaker02:56
mathrickwhereas bzr simply works and does what I want02:57
MTecknologynice reading for me02:57
MTecknologythanks :)03:00
spivIIRC, "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:02
spiv(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:04
MTecknologySo far what I'm seeing is that bzr is simple, easy, flexible and git lets you perform about any task but isn't very friendly03:08
wgrantShould 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
wgrantThe remote side is also sometimes eating the other core.03:34
wgrant(bzr 2.1.0 local, 2.1.0rc2 remote)03:35
spivwgrant: it's a known issue, I forget exactly what the analysis is04:01
spivwgrant: some combination of searching indices, decompressing and parsing records, and recompressing them.04:01
wgrantspiv: I see.04:02
spivwgrant: I'd bet jam knows the details04:02
MTecknologytrying to make this launchpad system run it kicking my butt04:38
wgrantMTecknology: It's still not working?04:38
MTecknologynope04:38
MTecknologymake run only throws out one error and one warning04:38
wgrantpastebin04:39
lifelessspiv: ping07:04
lifelessspiv: I've been pondering command cleanups.07:04
lifelessspiv: 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:05
lifelessspiv: 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 all07:06
lifelessspiv: the calling logic could determine which method to execute, or something like that07:06
spivlifeless: as a way to ease backwards compat for plugins?07:06
spivI 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
lifelessto raise it level on rusty's interface safety sacle07:07
spivYeah.  It does suck that 'run' isn't necessary safe to call right now.07:08
lifelessand the end state is that it will usually /not/ be safe to call07:08
lifelessso I'd like it to look unsafe07:08
spivRight.07:08
spivIf 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
lifelessso I'm proposing that we deprecate run(), add _run() or something more clear07:09
lifelessmigrate commands over as they want cleanups07:10
lifelessor perhaps have07:10
spivHmm.07:10
lifelessadd_cleanup error if you used run()07:10
spivDo we need to add a new method instead of using run_direct?  I'm forgetting details already.07:10
spivI think add_cleanup erroring if you used run would be bad.07:10
spivBecause then you'll fail to cleanup!07:10
lifelessspiv: well, you won't ever ship it to users though :)07:11
lifelessspiv: because it would blow up early. [kindof my point]07:11
spivlifeless: haha, I admire your optimism :)07:11
lifelessspiv: by 'used run' I mean 'the command was defined with run()' not 'a client of the api called run()'07:11
spivI would rather blow up even earlier (by making run fail to, er, run).07:11
lifelessspiv: sure07:12
spivBut 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
lifelessso there are a few questions: should we have an external keyword-function for running a command07:12
lifelessits kindof nice for close testing, but I don't think we use it much that way07:13
spivI think for convenience of writing tests it'd be nice.07:13
lifelessand its hard for decorating07:13
spivBut yeah, check if any of our tests actually need that.07:13
spivbrb, baby07:13
lifelessbecause the signature changes between core and plugin, often.07:13
lifelessspiv: I can mail you ifyou like07:37
lifelessI don't think babies fit into 'right back' :P07:37
MTecknologythe 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 project07:41
MTecknologyI'm guessing that's because of it's decentralized nature07:41
lifelessuhm07:42
lifelessit should work; in what way doesn't it?07:42
lifelessI mean, you need a filesystem that will preserve group access properly; and the default umask on unix won't07:42
MTecknologylifeless: this is what I came up with the last time I tried - http://profarius.com/content/creating-your-own-bazaar-server07:43
lifelesstheres also a helper script in the bzr distribution to do group based access I believe07:44
MTecknologyoh. I'll have to look at that07:44
lifelessdunno what it does ;)07:45
MTecknology:P07:45
MTecknologywhere can I find that at?07:45
lifelessits probably in the package in /usr/li/bzr07:45
lifelessotherwise in contrrib/ in the source07:45
MTecknologyalrighty, I'll try that out07:46
MTecknologyso far that07:46
MTecknology's the only thing about bzr that I'm not enjoying07:46
lamalexwould be nice if bzr init-repo had some flags to set those automatically08:09
lifelessspiv: also if you felt up to reviewing my subunit  test patch in the bzr merge queue, that would <3 brownie points08:14
spivlifeless: mail is good08:32
spivlifeless: 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 in08:33
spivlifeless: I'll take a peek at the subunit patch, see if it looks small enough.08:33
spiv(small enough to fit between baby moments :)08:34
lifelessspiv: its very small08:56
lifelessspiv: is add_cleanup in 2.1 ?08:57
lifeless[for commands]08:57
=== marienz_ is now known as marienz
=== marienz_ is now known as marienz
Benathomehi - can someone help - I think my osx install of bzr is a bit hosed16:34
Benathomewhenever i try and do a bzr init I get:16:34
Benathomebzr: 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
Benathomeanyone got any ideas?16:35
PilkyBenathome: what version of bazaar do you have installed?16:36
BenathomePilky: I just reinstalled the lastest version16:39
Benathomebenrometsch@macbook /tmp/test $ bzr version16:39
BenathomeBazaar (bzr) 2.1.016:39
Pilkyhmm16:39
Pilkyis it just in /private/tmp/test that you can't create or have you tried elsewhere?16:39
Benathomei have tried elsewhere including in my ~ dir16:40
Pilkynot sure, beyond uninstalling and reinstalling16:41
BenathomeI've tried that!16:41
Benathomewasn't sure what the best uninstall method was tho16:41
Pilkythere's an uninstall script16:41
Benathomeah ok16:42
Benathomewhere abouts?16:42
Pilkyhttps://launchpad.net/bazaar-mac-uninstaller16:42
Benathomegreat thanks16:42
PilkyI would maybe try uninstalling16:42
Benathomelol - dont say I need bzr to uninstall it :S?16:42
Pilkythen try installing 2.0.416:43
Benathomeok16:43
Pilkyhttp://bazaar.launchpad.net/%7Ebzr/bazaar-mac-uninstaller/trunk/annotate/head%3A/uninstall-bazaar.py16:43
Benathomeyeah thanks I just downloaded that16:43
Pilkyyou could just copy & paste that into a text file16:44
Benathomebut I get benrometsch@macbook ~/Downloads $ sudo python uninstall-bazaar.py16:44
Benathomels: /Library/Receipts/boms/org.pythonmac.bazaar*: No such file or directory16:44
Benathomeshould it be running python 2.5 or 2.6?16:44
Pilkydid you install via the the disk image?16:44
Benathomeyeah16:44
BenathomeI had installed it via pip and homebrew16:45
Benathomeit was all working fine16:45
Benathomebut suddenly stopped working16:45
Pilkydepends if you are on 10.5 or 10.616:45
BenathomeI tried uninstalling it from pip and homebrew16:45
Benathome10.616:45
PilkyI think on 10.6 bzr runs 64 bit so uses python 2.616:45
Benathomeright ok16:46
Benathomethat uninstaller is looking at 2.516:46
Benathomewell I ran that script, installed 2.0.4 and now I get16:48
Benathometype object 'Merger' has no attribute 'hooks'16:48
BenathomeUnable to load plugin 'news_merge' from '/Library/Python/2.6/site-packages/bzrlib/plugins'16:48
Benathomesomething very not right :(16:48
Pilkycheck in /Library/Python/2.6/site-packages/bzrlib/plugins16:50
Pilkysee if there is a plugin news_merge, and if so moved it to your desktop and try again16:50
Benathomeok I rmd bzrlib16:51
Benathomereinstalled 2.0.416:51
Benathomeand 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:51
Pilkyok, well then I'm stumped as well, might have to ask one of the more experienced users or the devs16:52
Benathomeok thanks for your help16:52
Benathomegoogling it gives me nothing :(16:52
BenathomeOK well, updating the hostname on my machine fixed it!17:01
Benathomevery very odd17:01
jmljelmer, hi17:17
jmljelmer, I'm with the Twisted guys and they're interested in bzr-svn17:17
=== radoe__ is now known as radoe
lifelessmoin19:49
mwhudsonjelmer: 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?19:54
jelmermwhudson, it's fixed in current bzr-svn20:10
jelmermwhudson, that just hasn't been rolled out to lp yet20:10
mwhudsonjelmer: ok20:11
meoblast001lifeless: you around?21:30
lifelessyes21:30
meoblast001ok, 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 doing21:31
meoblast001suppose i have def phook(result):, where is documentation of what would be passed as result21:31
meoblast001and what it contains21:31
meoblast001for example, if this is a post_change_branch_tip hook21:32
lifelessbzr help hooks | less   /branch_top21:32
lifelesssorry21:32
lifeless /branch_tip21:32
lifelessthe docs say what its passed21:32
meoblast001 /branch_tip: No such file or directory21:32
lifelessyou can use pydoc THING to get the docs on a specific type that is mentioned21:33
lifelessthe /branch_tip is a search within the less21:33
meoblast001yes, i'm doing bzr help hooks | less /branch_tip21:33
lifelessdon't put /branch_tip in the command line21:33
lifelesstype it after hitting enter21:33
meoblast001yes, but it doesn't say what information is passed to the hook21:34
lifeless'post_change_branch_tip is called with a21:35
lifelessbzrlib.branch.ChangeBranchTipParams.'21:35
lifelessseems to say so to me21:35
meoblast001ah, that ChangeBranchTipParams is a data structure? or whatever it's called in Python21:35
meoblast001sorry, i'm more of the C/C++ guy21:35
lifelesspydoc bzrlib.branch.ChangeBranchTipParams21:35
meoblast001ok, thanks21:35
meoblast001hm, so there is no information regarding the commit message?21:36
lifelessbranch.repository.get_revision(new_revid).message21:38
meoblast001ah, ok21:38
=== wgrant_ is now known as wgrant
meoblast001lifeless: now that i wrote my bot server, time to write that plugin ;)22:28
james_w"creating new compressed block on-the-fly"22:41
james_wis that useful information for anyone?22:42
PengIt's useful information for...the developers. Maybe. Once.22:46
lifelessjames_w: yes, but not always.22:47
lifelessit should be -D something hidden22:47
james_wI find it rather overwhelms the messages that I normally care about22:48
meoblast001lifeless: is new_revno an integer (i understand typing in Python is not as strict as in C)22:50
lifelessmeoblast001: I think so22:51
meoblast001ok, thanks22:52
meoblast001lifeless: i'm getting the feeling Python is going to mess this all up for me23:13
meoblast001:/23:13
jelmer'evening23:20
mkanatOkay, 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:55
mwhudsonmkanat: 'bzr revert' ?23:56
mwhudsonwith no args23:56
mkanatmwhudson: Which deletes my patch?23:56
mwhudsonoh right durr23:56
mkanatI expected a -r argument on up, but there isn't one.23:57
mwhudsoni think there might be in bzr.dev actually23:57
lifelessmeoblast001: how so?23:57
meoblast001lifeless: i want to send a 4 byte integer over the network23:57
lifelessmkanat: rather than going back with revert; do this:23:57
lifelessmkanat: bzr branch . ../patch23:57
meoblast001after a lovely talk with the people in #python, it looks like it will be painful23:57
lifelesscd ../patch23:57
lifelessbzr uncommit -r <when patch was made>; bzr revert23:58
lifelessapply the patch23:58
lifelessbzr commit --author "Who wrote the patch <Whowrote@thepatch.com>"23:58
lifelessmkanat: then you have a commit that represents the ptch,and can merge it as normal. And bzr knows who wrote it.23:58
mkanatlifeless: Ah, thank you.23:58
lifelessI should make a command to do this for you23:58
lifelessgive it a patch file, a rev spec, and it would import, set author, and pending merge.23:59
mkanatThat'd be nice.23:59

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