[01:11] <igc1> morning all
[01:13] <poolie> hello igc1
[01:14] <poolie> igc1, maybe we could do a blog post together about news in explorer some time?
[01:15] <igc> hi poolie
[01:16] <igc> poolie: that would be good. I'm pretty close to calling it 1.0beta fwiw
[01:18] <poolie> igc: re the 'evaluation' thread, how about if i make init warn you when it's making a standalone repository?
[01:18] <poolie> or maybe even fail, would that be too harsh?
[01:18] <poolie> i guess init and branch would need to do this
[01:19] <lifeless> I believe init-repo reports the format of what it made today.
[01:19] <lifeless> making init do the same wouldn't be horrible; and you could fold that in reasonably tastefully I suspect
[01:20] <igc> poolie: I'm yet to see that email sorry. Ask me again later today :-)
[01:42] <poolie> np
[02:04] <lifeless> poolie: another example of the project-priority != dev priority mismatch: for doc folk, sorting some doc bugs to high and low may be very useful, even if for the project all doc bugs are low.
[02:04] <lifeless> poolie: I'm starting to think personal[inc teams]-annotation of bugs would be a really useful feature.
[02:04] <poolie> mm
[02:04] <poolie> yes
[02:05] <lifeless> e.g. the launchpad-bazaar folk could annotate the bugs they care about as critical etc; bzr devs could choose to see that, or ignore it.
[02:05] <poolie> yes i see
[02:06] <lifeless> it would give you the 'I care about this bug' thing you like to do too. mmm could perhaps trial by having the doc team tag with doc-high, doc-low etc
[02:57]  * igc lunch
[03:14] <lifeless> time to pickup my passport
[03:15] <Kamping_Kaiser> :)
[03:50] <distatica> Is the diff utility that is called by qdiff specific to bzr? It's an excellent tool, and I'd love to use it elsewhere besides bzr repos.
[03:52] <spiv> distatica: to be precise, it's part of the qbzr plugin for bzr.
[03:52] <distatica> Yeah, that's what I'm thinking.. is there any way to run it on it's own?
[03:53] <spiv> distatica: I haven't looked closely at the source, but it's probably not too hard to take that part and make a standalone program of it.
[03:53] <distatica> What language is that stuff written in? do you know?
[03:53] <spiv> distatica: although for non-bzr diffing I'd probably use an existing graphical diff tool like meld.
[03:53] <distatica> The part i would probably be working with.
[03:53] <spiv> distatica: Python
[03:53] <distatica> oh, then I have a hope in hell. :)
[03:54] <distatica> never tried meld, will check it out. So far the best tool I have used is the qbzr one.
[03:54] <spiv> distatica: basically all of bzr and its plugins are Python.  (There are some optional C and Pyrex extensions for speed, but you wouldn't need to touch those for this.)
[03:55] <distatica> I had heard that it was python, but wasn't sure. I'm glad for that, Python is a good language.
[03:55] <distatica> meld looks pretty good too, thanks
[03:58] <spm> spiv: Ooo. Ta! meld is *nice*. been using kompare myself, meld looks that little bit better. ta x 2.
[03:59] <spiv> spm: heh :)
[04:00] <spm> the big win was the in each line highlight of the differences. some of our changes in configs can have (not pointing fingers at PQM, much) horrible regexs. and picking up the diff can be... hard. :-)
[04:00] <distatica> Pretty decent, I don't know if it's quite up to the qbzr version, but it's good anyways.
[04:29] <shakaran> Hi, how I can count the added/removed lines between 2 commits?
[04:30] <RAOF> “bzr diff -r$OLD..$NEW | diffstat” would work.
[04:33] <shakaran> RAOF: thanks, works perfect!
[05:16] <poolie> spiv, igc, lifeless, hi
[05:16] <poolie> (and anyone else) can you please test installation of bzr from karmic-proposed
[05:16] <poolie> if it works ok, please comment on https://bugs.edge.launchpad.net/ubuntu/+source/bzr/+bug/437626
[05:28] <spiv> poolie: done
[05:36] <poolie> thanks
[05:58] <poolie> spiv, excuse my bad memory, but did you do something generic about hiding exceptions during cleanup
[05:58] <poolie> and if so what?
[05:58] <poolie> i'd like to use it in bug 423015
[05:58] <spiv> poolie: see the bzrlib.cleanup module
[05:59] <poolie> thanks
[05:59] <spiv> poolie: also either one of my unreviewed merge proposals ;)
[05:59] <poolie> :)
[05:59]  * spiv -> afk for 10 minutes
[06:46] <ChrisMorgan> I created my branches in a shared repository, but now I'm into another problem; I have branches for [company].[module] and [company].clients.[whatever], but I really need a basic one for just [company] so I can put my __init__.py file in there - can I do that without causing trouble determining which branch things belong to?
[06:51] <lifeless> ChrisMorgan: sure
[06:52] <ChrisMorgan> How about if I create a new file in one of the subdirectories which has its own branch - will it show up as 'unknown' in the parent branch?
[06:53] <ChrisMorgan> It's saying 'unknown' for the sub-branches... ignore?
[07:03] <lifeless> igc: I really wish you could explain how heavyweight checkouts != bound branches - it confuses the hell out of me when you say that
[07:03] <lifeless> ChrisMorgan: up to you
[07:03] <ChrisMorgan> Or can I do something with join/split stuff?
[07:04] <ChrisMorgan> I'm confused :-)
[07:04] <lifeless> ChrisMorgan: what are you trying to do
[07:05] <ChrisMorgan> I have a parent directory squiggle.  There is a repository in it.  There are lots of branches in subdirectories, squiggle/foo, squiggle/bar, etc.  There would be no need to have a branch in squiggle, except for the fact that Python requires a file __init__.py... so I need another branch in squiggle.
[07:05] <ChrisMorgan> However, bzr status squiggle then goes not knowning about foo and bar
[07:06] <ChrisMorgan> Upps, got to go now, I'll stay in the room though if you can help me? :-)
[07:06] <lifeless> if foo and bar are branches bzr st shouldn't mention them.
[07:06] <lifeless> are you sure they are branches?
[07:06] <lifeless> you might try pastebinnning the command + output.
[07:08] <igc> lifeless: well I did try to explain the differences in https://lists.ubuntu.com/archives/bazaar/2010q1/065891.html
[07:12] <poolie> spiv: big one approved
[07:12] <spiv> poolie: thanks!
[07:13] <igc> poolie, lifeless, vila: wrt my disable plugin patch, should I remove support for an explicit path and just support 'disable' (or '') for disabling them?
[07:13] <lifeless> igc: I would be happiest if you just did disable for now
[07:14] <lifeless> vila and I can try to get what poolie is concerned about in strasbourg
[07:14] <poolie> (phone)
[07:15] <igc> lifeless: so the feature you and vila are working on will miss 2.1?
[07:15] <lifeless> igc: I'm a) sick, and b) working on dx-team stuff, and then lca and then strassbourg
[07:16] <igc> lifeless: I really don't need the path stuff but my patch might be a stop gap until your stuff lands?
[07:16] <igc> lifeless: but I personally only care about disabled vs otherwise
[07:16] <lifeless> igc: I know that your path stuff won't help any of the use cases I've seen for automated stuff in this area
[07:16] <lifeless> igc: so I'm not sure who it would be stop-gapping for
[07:17] <igc> lifeless: only someone with a plugin both system installed and locally installed - picking the former over the latter
[07:20]  * vila needs to bring his car to the garage and will be afk for ~1 hour
[07:22] <vila> igc: but regarding plugin stuff, as said in my mail, 1) using config vars is not a good idea, 2) using PZR_PLUGIN_PATH to disable is not trivial and I'm not working on it right now
[07:26] <poolie> igc, i don't have any strong objection to being able to set the path there
[07:26] <poolie> i'll look at the patch again
[07:27] <poolie> spiv, how about just always logging cleanup failures?
[07:27] <poolie> oh
[07:27] <poolie> nm, i misread it
[07:28] <lifeless> poolie: vila and I have concerns though. Can we land igcs disable-only version of the patch ?
[07:30] <poolie> does that exist now?
[07:30] <poolie> i think vila's final comments in https://code.edge.launchpad.net/~ian-clatworthy/bzr/411413-plugin-disable/+merge/16719 are reasonable
[07:30] <poolie> however incremental improvements are also good
[07:30] <lifeless> igc has implied that it did in the past or is at least trivial to get to.
[07:32] <igc> poolie, lifeless: I don't have a version yet that does disable only. It's a one line code change I suspect.
[07:33] <igc> poolie, lifeless: tweaks the doc changes in my patch is the larger part if that's the direction to go
[07:33] <igc> tweaking
[07:34] <lifeless> poolie: quick call?
[07:34] <igc> poolie, lifeless: the broader Q was a conceptual one: should I 'remove' functionality from the patch given there's no alternative likely soon?
[07:35] <igc> wrt specifying an explicit plugin when multiple are installed
[07:35] <ChrisMorgan> lifeless: yep, they're branches alright, but with no commits yet - should I commit to them?
[07:37] <poolie> lifeless: sure
[07:38] <ChrisMorgan> lifeless: bzr init-repo foo, bzr init foo/bar, bzr init foo, bzr st foo: unknown: bar/
[07:39] <ChrisMorgan> Commit an unchanged revision to foo/bar and st foo still shows unknown bar
[07:44] <ChrisMorgan> I also tried the split / join --reference stuff as at http://wiki.bazaar.canonical.com/NestedTreesDesign#creating-a-nested-tree and I'm still getting the unknown status on bar
[07:45] <lifeless> ChrisMorgan: don't touch split/join
[07:45] <lifeless> ChrisMorgan: its not production ready
[07:45] <ChrisMorgan> OK, I was just testing it as that was what was detailed in the page.
[07:45] <ChrisMorgan> I figured it wasn't ready seeing as it didn't work :P
[07:47] <lifeless> ChrisMorgan: you probably want to do bzr ignore ./bar
[07:48] <ChrisMorgan> OK then.  Or I could resort my structure... thinking about it more I don't need the clients stuff in the main branch... I'm not going to want to be able to `import myproj.clients.whatever`...
[07:48] <ChrisMorgan> So I think I'll actually separate it one level more in the repository.
[07:48] <ChrisMorgan> Thanks.
[07:49] <ChrisMorgan> Uh... can I "uninit"?
[07:49] <igc> poolie, vila, lifeless: I've replied to vila's comment on my patch now
[07:50] <ChrisMorgan> I've run init-repo and init in the same directory, can I go back to just the repo rather than the branch as well, or should I just scrap all my .bzr directories and start clean again?
[08:09] <lifeless> ChrisMorgan: if you delete .bzr/branch and .bzr/checkout then you'll have what bzr init-repo created
[08:19]  * vila back
[08:26]  * igc dinner
[08:28] <bialix> hello all
[08:28] <bialix> igc is here?
[08:32] <lifeless> 19:26  * igc dinner
[08:32] <lifeless> 19:28 -!- bialix [n=chatzill@163-106-113-92.pool.ukrtel.net] has joined #bzr
[08:32] <bialix> thanks lifeless, and hi
[08:34] <lifeless> hi :)
[09:40] <mathrick> hiya, I have a repo (my thesis) where I started some work (library bindings) which I now want to split out into a standalone branch. But I don't want the intial commits to the thesis files to show up in the bindings' history
[09:40] <mathrick> the commits look like that: 1..3 thesis, 4.. bindings
[09:41] <mathrick> so in essence I want to remove commits 1..3 from the history
[09:41] <mathrick> what's the best way to do that?
[09:41] <mathrick> the changes are textually independent, and all bindings work happened in a subdir I bzr split out
[09:55] <bialix> fast-import-filter
[10:08] <mathrick> bialix: thanks, lemme try that
[10:15] <ChrisMorgan> lifeless: thanks, I got my repository and branches all set up properly again... I think I'm happy with it this time and think it'll do all that I want :-) (Though if I could version the contents of a SQLite, MySQL or PostgreSQL database with Bazaar I'd be even happier...)
[10:15] <mathrick> bialix: that worked fine, cheers
[10:31] <lifeless> ChrisMorgan: bzr can do it; doesn't make it a good idea :)
[10:31] <ChrisMorgan> How can it do it?
[10:31] <lifeless> bzr add foo.db; bzr commit.
[10:31] <ChrisMorgan> The /contents/ of the database... not the database!
[10:32] <lifeless> sqlite foo.db dump > foo.dump; bzr add foo.dump; bzr commit
[10:33] <ChrisMorgan> Still not automatic :-)
[10:33] <ChrisMorgan> I suppose SQLite can have hooks... I wonder what that would really do to performance.
[10:33] <ChrisMorgan> Ghastly idea, isn't it :D
[10:37] <mathrick> ChrisMorgan: that's why people invented backups
[10:37] <mathrick> do a periodic snapshot and version that
[10:37] <ChrisMorgan> I know... it really would simplify my task though if I could use Bazaar to version the contents of a database...
[10:37] <ChrisMorgan> Ah well, I'll sort it out somehow :-)
[10:48] <mathrick> ChrisMorgan: you could make a hook that took a snapshot before commits, but it'd presumably make commits slow
[10:50] <ChrisMorgan> Problem is it's the other way round I want it - someone does something on the website (something that matters, i.e. in the admin section) and it goes and exports that and commits to bzr, and a way then to do the converse with pulling, take a diff and apply it somehow to the database.
[10:50] <ChrisMorgan> I think I'm dreaming a rather far-fetched dream.  I think I'll have to be satisfied with django-reversion at the moment.
[10:50] <mathrick> ChrisMorgan: in this case, what you really want is a full-fledged plugin
[10:50] <ChrisMorgan> Something like that.
[10:51] <ChrisMorgan> A way to version the contents of a database.
[10:51] <ChrisMorgan> Clearly every table being versioned would need to have a primary key.
[10:53] <ChrisMorgan> How hard do you think it'd be?
[10:54] <ChrisMorgan> Do you think it'd be reasonable and possible?
[10:54] <ChrisMorgan> I imagine I'd need to learn a lot about Bazaar first.  For the moment I think I'll get on with other facets of my product.
[11:02] <ChrisMorgan> I'm sure it would be fascinating to do.  I'll see if I ever get to it :-)
[11:02] <ChrisMorgan> Goodnight now.
[13:16] <rubbs> ok, I know this is easy, but I can't seem to find it. I branched from a machine on my LAN, but now I want it to pull from lp:bzr. How do I change the parent branch?
[13:17] <maxb> pull --remember
[13:18] <rubbs> cool, thanks. I knew it was something rediculously easy
[15:11] <squeeky> Hi kids. Using the 2.01 Mac package from the website, fresh install, I try to bzr branch or init and score "bzr: ERROR: '/Volumes/Data' is not a working copy
[15:11] <squeeky> So what went wrong?
[15:11] <Peng> Ick, the most recent revision of bzr.dev caused conflicts with 2.0.
[15:12] <squeeky> It was labelled as "stable".
[15:12] <vila> fullermd: ping
[15:14] <vila> squeeky: Pend refers to the dev version, not related to your problem, can you pastebin your $HOME/.bzr.log ?
[15:14] <squeeky> any pastebin of choice?
[15:14] <vila> !paste
[15:16] <squeeky> http://ubuntu.pastebin.com/m5a8c668e
[15:18] <Peng> What the hell, pastebin.com? Why not paste.ubuntu.com?
[15:18] <squeeky> I should empasise that /Volumes/Data is the working parent directory to the one I was trying to bzr init/branch
[15:19] <Peng> squeeky: I suspect you have an .svn directory sitting somewhere.
[15:19] <Peng> squeeky: ls /Volumes/Data/.svn and /Volumes/data/whatever/.svn
[15:19] <squeeky> What does this have to do with the price of tea in china?
[15:20] <Peng> squeeky: bzr-svn
[15:20] <squeeky> ummm, okay, wasn't using that. Can't bzr just not pay attention to .svn folders in a parent?
[15:20] <LeoNerd> How else would it know you were in a svn checkout, though?
[15:20] <Peng> squeeky: You are using bzr-svn.
[15:21] <LeoNerd> bzr implements a prettymuch-complete frontend to working on svn checkouts/WCs/etc...
[15:21] <squeeky> what
[15:21] <squeeky> so... it's a piggyback scm?
[15:21] <LeoNerd> No...
[15:21] <LeoNerd> bzr has its own native formats of course.
[15:21] <LeoNerd> It -can- use svn -as well-
[15:21] <LeoNerd> You can use the bzr command as a frontend to a number of different repository/wc formats, including svn, git,...
[15:22] <LeoNerd> Since you have the bzr-svn plugin loaded, it's looking for .svn directories, in case you're trying to use it on a svn checkout
[15:22] <squeeky> ugh.
[15:22] <LeoNerd> I find it very useful... Being able to  bzr log10  in a svn checkout, or  bzr shelve  it
[15:22] <LeoNerd> It actually makes svn almost useable
[15:23] <squeeky> I generally don't mix scm's. But whatever, it's fixed now, thanks Peng.
[15:23] <LeoNerd> If you're not wanting to use the bzr-svn stuff.. then.. uh.. just don't load the bzr-svn plugin :)
[15:23] <LeoNerd> Heh.. we have a bizarre mix of cvs/svn/bzr at work.. I like not needing to remember which command is which. I just type "bzr whatever".. and it all works out
[15:24] <squeeky> meh, it's fossil for internals, git for stuff that tentatively gets public OS release, svn/cvs/bzr for patching other people's stuff.
[15:45] <maxb> I find it pretty annoying when bzr-svn kicks in when I'm not actually in a svn wc
[15:46] <maxb> It would be better if it didn't search up for .svn, since .svn doesn't require that
[17:38] <fullermd> vila: Hmmwhat?  I didn't do it, I swear.
[17:49] <jam> abentley: are you around?
[17:49] <jam> I'm trying to sort out bug #494269
[17:49] <jam> And trying to understand what TT should be doing
[17:50] <jam> I *think* it should be allowing the tree root to be added, but at apply time it should verify that there is only one
[17:51] <jam> (the delta I'm looking at shows the new root added at the beginning, then all paths are renamed into that new location, then the old one is removed.)
[18:36] <kiko> hey there
[18:36] <kiko> say I have a tree that contains as a subdirectory a copy of bzr
[18:36] <kiko> is there a way of updating that subdirectory to a more recent version of bzr and retaining some commit history information?
[18:37] <kiko> a copy of the bzr source IYSWIM
[18:37] <luks> that question doesn't make sense to me
[18:37] <jam> kiko: so you have a tree, such that in one subdir you also have a version of the bzr source
[18:37] <luks> how it updating bzr in conflict with retaining history?
[18:37] <maxb> Could you elucidate "retaining some commit history information" ?
[18:37] <jam> is that correct?
[18:37] <kiko> luks, let me trivialize it
[18:38] <jam> if you used stuff like "bzr merge-into"
[18:38] <jam> to create it
[18:38] <kiko> launchpad contains a subdirectory called lp-buildd
[18:38] <jam> then in the future you should be able to "bzr merge $BZR"
[18:38] <jam> and it should mostly JustWork
[18:38] <kiko> lp-buildd is actually managed as a separate branch
[18:38] <kiko> by lamont
[18:38] <jam> (lp:bzr-merge-into, btw)
[18:39] <kiko> can I merge the changes in lp-buildd into the launchpad tree
[18:39] <kiko> with bzr-merge-into?
[18:39] <jam> kiko: I assume you want to bring the lp-buildd code into the launchpad codebase in a subdir
[18:39] <fullermd> I think you're asking the other way around from what merge-info is for.
[18:39] <jam> bzr-merge-into should do a decent job of that, IIRC
[18:39] <maxb> IIUC, yes if they already share ancestry. Otherwise, an initial delete and re-merge would be required.
[18:39] <jam> If you are trying to split it out
[18:40] <kiko> jam: they don't share any history
[18:40] <jam> then you can split it out and play tricks with 'bzr add --file-ids-from"
[18:40] <jam> kiko: unfortunately, *today*, without the same file ids, we can't link up the changes
[18:40] <kiko> gotcha
[18:42] <abentley> jam: I believe that was one of the things my proposed changes to nested trees fixed.
[18:43] <abentley> jam: I agree that TreeTransform should delay tree shape sanity checking until the transform has been completely specified.
[18:44] <C-S> I get the following bug: bzr: ERROR: exceptions.AttributeError: 'tuple' object has no attribute 'encode'
[18:44] <C-S> any idea?
[18:44] <abentley> jam: I would do that in find_conflicts
[18:44] <jam> C-S: any backtrace?
[18:44] <jam> C-S: Something is getting a tuple that is expecting a string
[18:44] <C-S> yes there is quite some backtrace, can I post it somewhere?
[18:44] <jam> !paste
[18:46] <C-S> jam: http://ubuntu.pastebin.com/d7752a537
[18:46] <C-S> ubottu: thank you
[18:47] <abentley> jam: see fixup_new_roots in transform.py in http://bazaar.launchpad.net/~abentley/bzr/nested-trees
[18:48] <jam> abentley: thanks for the pointer
[18:56] <C-S> jam: any ideas?
[18:58] <jam> C-S: can you paste "bzr status" before the commit?
[18:59] <jam> I'm wondering if it might have something to do with a symlink, et
[18:59] <jam> etc
[19:00] <C-S> jam: http://ubuntu.pastebin.com/d125d8417
[19:00] <C-S> jam: or with Umlauts in file names?
[19:12] <C-S> jam: I now deleted all .bzr directories and restarted.
[19:12] <C-S> jam: Even after adding one .tex file it crashes
[19:27] <jam> C-S: what does "bzr plugins" list?
[19:29] <C-S> jam: http://ubuntu.pastebin.com/d5abcf59f
[19:32] <jam> C-S: you could try "bzr commit --no-plugins" but that doesn't seem to be it
[19:32] <jam> certainly this doesn't seem to happen to me, since I've been committing without probs for a long time
[19:34] <C-S> jam: that gives a different error:
[19:35] <C-S> jam: bzr: ERROR: No repository present: "file:///..."
[19:35] <jam> C-S: so are you in a subdirectory of a git repo?
[19:36] <C-S> jam: hmm let me check
[19:36] <jam> (I don't know that bzr-git implements proper commit
[19:36] <jam> commit-to-git support)
[19:38] <C-S> jam: this was it! It works again after deleting the .git folder in the main directory.
[19:38] <C-S> jam: it would be could to give a nice bug report
[19:39] <jam> C-S: so I think this is a bug in bzr-git, you can mention something about 'commit in git working dir fails', and include the traceback
[19:40] <jam> I'm guessing that the GitCommitBuilder.record_iter_changes is working differently than we think it should
[19:40] <jam> either that or GitTree.iter_changes() is working differently
[19:41] <jam> what is weird is that it seems to be a mix of WorkingTree4 (which is a bzr regular tree)
[19:41] <jam> so I don't really understand why it was confused
[19:41] <jam> C-S: steps to reproduce would also be appreciated
[19:47] <C-S> jam: I'll file the bug. Thanks again.
[19:57] <maxb> Is there any way to hook bzr to discover all branch modifications? Such as might be needed to implement an automatic backup system?
[19:58] <maxb> In particular, I want to know about operations that don't change the tip of a branch - e.g. tags
[20:13] <mathrick> abentley: are pipelines meant to provide a similar functionality to git rebase's patch reshaping, or is that different?
[20:14] <abentley> mathrick: No, they're meant to be an alternative to rebasing.  For similar functionality, see bzr-rewrite.
[20:14] <kiko> jam, btw, you could provide the licensing information for bzr-merge-into.. ;-)
[20:15] <mathrick> abentley: oh, I didn't see rewrite on the plugins page
[20:16] <jam> kiko: __init__.py clearly states GPLv2, but I can add a COPYING.txt if it makes you feel better
[20:16] <mathrick> abentley: but pipes can still result in retroactive history changes, right?
[20:16] <kiko> jam, no, I meant on launchpad :)
[20:16] <jam> ah
[20:16] <mathrick> how does that play together with published branches?
[20:16] <abentley> mathrick: bzr-rewrite was formerly called rebase, and that name is still used on the plugin page.
[20:17] <abentley> mathrick: pipes cannot result in retroactive history changes.
[20:17] <jam> kiko: done
[20:17] <jam> not entirely sure why it matters
[20:18] <mathrick> abentley: so what's the result of adding a patch to an earlier pipe and pumping it?
[20:18] <abentley> mathrick: It's as though you did a merge and commit in the later pipe.
[20:18] <mathrick> oh
[20:19] <mathrick> so it'll be visible to someone reading patches?
[20:20] <jam> abentley: the tests I can find in transform are about moving a root directory, I'm trying to test adding a new one and removing the old one completely
[20:21] <jam> abentley: does this look valid: http://paste.ubuntu.com/355157/
[20:21] <jam> (It currently fails trying to rename the cwd, but I want to know that I'm on the right track first)
[20:22] <abentley> jam: That looks like a reasonable change.  You're probably right that we haven't tried to handle that directly in the TT before.  I'm pair programming at the moment.
[20:23] <jam> abentley: sure, I don't mean to bother you too much, but I don't really know how the TT code is supposed to hang together everywhere
[20:24] <mathrick> abentley: I'm very interested in a tool that'd let me reshape changes logically for reviewers, but I sort of can't see how pipelines help with that if they're basically merges
[20:25] <mathrick> (also, take your time if you're busy right now, it's not urgent)
[20:31] <jam> mathrick: you may want to look at http://jam-bazaar.blogspot.com/2009/10/refactoring-work-for-review-and-keep.html
[20:31] <jam> which doesn't explicitly use pipelines
[20:32] <jam> though you could do something like that for the individual branches
[20:33] <mathrick> jam: yeah, I don't want to lose the history if possible, but I'd like to be able to submit a logical view of the end result. Lemme just read through that
[20:33] <jam> mathrick: it is how I did it, at least
[20:33] <jam> basically, you could use threads/pipelines for each of the new branches created
[20:34] <jam> however in *my* case, I wanted a DAG of branches, not a simple stack
[20:34] <mathrick> loom was unusable for that scenario
[20:34] <jam> though probably not critical
[20:34] <mathrick> since the threads stack in the wrong direction
[20:34] <jam> both pipelines and loom think in terms of a stack
[20:34] <jam> though you can "up-thread; bzr revert"
[20:34] <jam> or use "bzr switch" to change threads without merging
[20:35] <jam> mathrick: wrong direction?
[20:35] <mathrick> hmm, I might be mixing up two different scenarios
[20:36] <mathrick> jam: I know I hit that at least once, when I wanted to keep a change that wouldn't get pushed upstream when merging, but which'd sit on top of other changes (ie. editing config files to match your local dev setup without touching the deployed config)
[20:37] <mathrick> that doesn't work, because of how changes flow through the loom
[20:37] <mathrick> IIRC, there were also similar issues when you tried to use looms for reshaping, but I'd have to rethink that from first princinples again, I'll read your post first
[20:48] <otto_sange> help question: when I run the command $ bzr branch lp:valo-cd
[20:49] <otto_sange> I get the error:Server does not understand Bazaar network protocol 3, reconnecting.  (Upgrade the server to avoid this.)
[20:49] <otto_sange> Server does not understand Bazaar network protocol 2, reconnecting.  (Upgrade the server to avoid this.)
[20:49] <otto_sange> bzr: ERROR: Generic bzr smart protocol error: Server is not a Bazaar server: Received bad protocol version marker: "error\x01Generic bzr smart protocol error: bad request u'bzr request 2'\n"
[20:49] <jelmer> otto_sange, hi
[20:49] <otto_sange> one guy at #launchpad suggested I'd ask here. Maybe it is a locale problem.
[20:50] <maxb> What is your local bzr version?
[20:50] <otto_sange> My system: plain Ubuntu 9.10, fresh bzr installation from main, clean conf, python 2.6
[20:50] <otto_sange> Bzr version 2.0.0
[20:50] <otto_sange> system locale Finnish
[20:51] <jelmer> otto_sange: I can't reproduce the problem here - what is your locale set to?
[20:51] <otto_sange> LANG=fi_FI.UTF-8 to be specific
[20:52] <jelmer> otto_sange: It seems to work fine with that locale as well
[20:52] <otto_sange> although the locale thing is just a guess. I'd expect there would be more about this on Google if all Finnish users suffered from it..
[20:53] <otto_sange> Any other ideas?
[20:53] <otto_sange> running -v does not give any extra info
[20:53] <jelmer> otto_sange: I'm out of ideas at the moment, but spiv might have more ideas - I think he should be around soon.
[20:53] <jelmer> spiv: ^
[20:55] <maxb> jelmer: About those bzr-svn "inconsistent details in skipped record" warnings - I had a look at what the code was actually comparing and it seems to be complaining about one side of the comparison being a tuple, the other a list. Does that mean anything to you?
[20:57] <jelmer> maxb: We've had problems with that in the past as well
[20:57] <jelmer> maxb: I guess bzr is a bit more strict now in various places
[20:57] <jelmer> maxb: I'm happy to see bzr-svn adjusted to use whatever bzr uses
[20:58] <maxb> I should stick a "raise" in there and see where it explodes, I guess
[20:59] <maxb> On another matter, I don't suppose you have any magical debugging tips for figuring out why bzr-svn would go into an infinite loop trying to detect svn tags on a particular repo?
[20:59] <maxb> private, unfortunately
[21:01] <otto_sange> jelmer: I need to get some sleep now. If anybody comes up with ideas, drop me a line at otto (a) sange.fi so that I could start contributing to a Launchpad project some day... Thanks!
[21:02] <poolie> jam, hi, shall we chat?
[21:02] <jam> sure poolie
[21:02] <jelmer> otto_sange: Will do
[21:02] <jelmer> maxb: -Dtransport is usually quite helpful
[21:03] <maxb> I'll give it a go
[21:03] <jelmer> maxb: Also, SIGQUIT is your friend.
[21:03] <maxb> ah
[21:03] <jam> jelmer: I think the check needs to be less strict. We can hit that internally as well
[21:03] <jam> some apis return [] for parent_ids, some return ()
[21:03] <jam> both should be allowed
[21:03] <jam> I don't know how I've triggered it before, but I most certainly have, without bzr-svn
[21:04] <jelmer> jam: Most things seem to rely on tuples, e.g. knits will bail out if you try to add the same text twice with the parents as a list
[21:04] <maxb> ooi, what are the strings containing four numbers? -->     ('21277 252 0 333', ((),)) ('76755 252 0 333', ([],))
[21:05] <maxb> Indeed, it looks like the tuples are the "existing" and the lists the "new" in my case
[21:14] <spiv> Drat, missed otto_sange.
[21:15] <thumper> spiv: do you know?
[21:15] <thumper> spiv: I was talking to him on #launchpad
[21:15] <thumper> spiv: he did leave an email address :)
[21:18] <spiv> thumper: yeah, just sending mail now
[21:18] <spiv> thumper: but no, it's a mystery to me.
[21:18] <thumper> :(
[21:21] <maxb> Is there a document with a typical/recommended layout for working with a shared repository, multiple branches, and a lightweight checkout?
[21:22] <rubbs> maxb: I don't think there is a document for that, but I'd say you could do this:
[21:22] <rubbs> ./shared_repo/
[21:23] <rubbs>             /branches/
[21:23] <rubbs>                        /branch_a/
[21:23] <rubbs>                       /branch_b/
[21:23] <rubbs>             /lw_co/
[21:23] <rubbs> just an idea
[21:27] <maxb> I'll practice a bit :-)
[21:49] <spiv> rubbs, maxb: probably more common is ./repo/branch_{a,b,...} for the branches, and ./work (outside the repo) for the checkout.
[21:49] <lifeless> I do
[21:49] <spiv> rubbs, maxb: that said, it'll just as well either way.
[21:49] <rubbs> ah, that's a good point
[21:49] <lifeless> ./project/branches
[21:49] <spiv> s/it'll/it'll work/
[21:49] <lifeless> ./project/working
[21:49] <maxb> ah... a good point, it had not occurred to me that it could be outside.
[21:50] <lifeless> e.g. bzr/trunk, bzr/foo bzr/bar bzr/working
[21:50] <lifeless> and working is a lw checkout of e.g. trunk
[22:03] <mathrick> okay, so empirically, it seems that pipelines work sorta backwards if you want to use them to reshape changes: earlier pipes in the pipeline will have the logical view, whereas the last one will have the original changes
[22:15] <jam> abentley: the way the code is written, if you add a new root but do *not* delete the old root, things still work (fixup_new_roots always removes the old root if there are any new ones.)
[22:15] <jam> should I add a check that self._new_root in self._removed_content ?
[22:18]  * mkanat is working on the final touches of the CVS->bzr migration for upstream Bugzilla, for the next few days.
[22:19] <mathrick> jam: hmm, interesting post that, but what does submit: really mean in those branches?
[22:19] <mathrick> more generally, how can I find out what branch is submit: for the given tree?
[22:19] <jam> mathrick: Are you talking about the blog post?
[22:19] <mathrick> yep
[22:20] <jam> At *this* point, I would make submit: be the dev branch, and use launchpad's "this change depends on this other branch"
[22:20] <jam> at the time I did that code
[22:20] <jam> that feature was not present
[22:20] <mkanat> mwhudson: Going to start on the loggerhead stuff today! :-)
[22:20] <mathrick> jam: æh, I don't understand what you're talking about :)
[22:20] <jam> mathrick: the submit branch is always 'trunk'
[22:20] <jam> IMO
[22:20] <mwhudson> mkanat: woo
[22:21] <jam> it just happens that one branch depends on another landing to get a nice diff of the changes
[22:21] <mathrick> jam: and if I don't set it up specially, what becomes submit? And how can I check what is submit at any given point?
[22:21] <jam> mathrick: bzr info submit: ?
[22:21] <mathrick> ahh
[22:22] <mathrick> right
[22:22] <jam> I set up a default submit in locations.conf
[22:26] <lifeless> moin
[22:27] <jam> morning lifeless, I hope you're feeling better
[22:28] <lifeless> over the worst I think; coughed up lots of plugins w/some blood and can now breath properly ;)
[22:28] <lifeless> no fever today
[22:29] <lifeless> s/in//
[22:29] <lifeless> jam: you might like testrepository
[22:29] <lifeless> jam: it should be windows friendly
[22:29] <jam> lifeless: I saw your post, looked interesting
[22:30] <ChrisMorgan> bzr co http://code.djangoproject.com/svn/django/trunk/ django-trunk is failing (yes, I've installed bzr-svn, and got it working on another repository) :-(
[22:31] <ChrisMorgan> It asks for username and password, which I leave blank, and then says 'bzr: ERROR: Not a branch: "http://code.djangoproject.com/svn/django/trunk/".'
[22:31] <ChrisMorgan> replacing bzr with svn makes it work fine
[22:44] <mkanat> Is there a way to enforce, on the repo/branch side, that nobody can check in without setting whoami?
[22:50] <lifeless> use bzr+ssh:, and write a plugin that hooks branch pre_tip_change that checks for e.g. localhost in the host part of the author of new tips
[22:52] <mkanat> lifeless: Awesome, thanks.
[22:52] <mkanat> http://bzr.mozilla.org/
[22:52] <mkanat> Nothing really in there yet, though.
[22:53] <mkanat> lifeless: For something better than that, is there a way to make sure that committer is actually the person committing?
[22:53] <mkanat> lifeless: The SSH accounts are email addresses, if that helps....
[22:54] <lifeless> mkanat: sure, ssh sets an env variable or whatever
[22:54] <lifeless> cross check that
[22:54] <mkanat> lifeless: Right, great idea. Thanks. :-)
[22:55] <lifeless> you can raise TipChangeRejected (or anything if you want) to signal the error - TCR gets tunnelled nicely though.
[22:55] <mkanat> Cool.
[22:55]  * mkanat has never written a plugin, so this will be new territory.
[23:01] <abentley> jam: That sounds reasonable.
[23:53] <poolie> hi abentley
[23:53] <poolie> hi spiv?
[23:53] <abentley> poolie: hi
[23:53] <poolie> ChrisMorgan: please open a bug and paste the number here
[23:54] <ChrisMorgan> In bzr-svn?