[00:00] <wgz> BlindWolf8: thanks
[00:00] <BlindWolf8> of course
[00:00] <Noldorin_> wgz, then again it would be nice if Canonical gave me a VPS server for testing purposes ;-) ;-)
[00:01] <BlindWolf8> looks to be in... bzrlib\commands.pyo?
[00:01] <wgz> okay, one more bet for the filesystem watcher...
[00:01] <wgz> BlindWolf8: does using the bzr on the commandline also give him the same error?
[00:02] <wgz> or does it only happen when explorer is running?
[00:02] <BlindWolf8> he has never used the command line
[00:04] <BlindWolf8> would he just test his commit with -- bzr commit -m "test commit" -- ?
[00:06] <wgz> just `bzr add` should do
[00:07] <BlindWolf8> ok, looks like he solved it...he was getting the error when he was pulling updates
[00:08] <BlindWolf8> and his repo was in a Dropbox folder and his Dropbox client was on
[00:08] <wgz> okay, so two operations at once?
[00:08] <wgz> ah, right, dropbox and bzr don't play nicely together
[00:09] <BlindWolf8> any gotchas I should know about that kind of config besides...don't use it? ;-)
[00:10] <wgz> it's the same story as av software that grovels around keeping files open when bzr doesn't expect it
[00:10] <wgz> try and keep it out of .bzr folders
[00:10] <wgz> he has an impressive selection of other bugs in that log as well though
[00:11] <BlindWolf8> oh really?
[00:11] <BlindWolf8> lol
[00:12] <BlindWolf8> thanks for your help though
[00:13] <wgz> I see bug 820805 and and bug 901104 too
[00:13] <wgz> ...and bug 557603
[00:14] <BlindWolf8> Yup, I posted about his issue in bug 820805 :-P
[00:14] <BlindWolf8> putty 0.62 fixes it
[00:15] <wgz> that's good, no one had actually confirmed that in the bug
[00:16] <BlindWolf8> it was odd since on his machine...0.61 never worked, but on MY machine and a clean VM 0.61 worked fine
[00:16] <BlindWolf8> so it must have been something on his machine besides putty
[00:16] <wgz> yeah, there are a few variables involved that made it tricky
[00:17] <wgz> anyway, please do keep complaining when things break :)
[00:18] <BlindWolf8> of course! :-)
[00:18] <BlindWolf8> you guys rock though
[00:18] <BlindWolf8> I remember when I was using Bazaar with a team in a game jam and we had issues
[00:19] <BlindWolf8> you guys were here :-)
[00:20] <BlindWolf8> I am gonna go. Thanks again!
[01:14] <wgz> commit, propose, and sleep time
[01:21] <wgz> as fun as arguing with python developers about whether nix or python is more at fault
[01:22] <wgz> can't we just agree that we all suck?
[01:29] <jelmer> wgz: oh, the filesystem thing?
[01:29] <wgz> the bug is full of excitement :)
[01:30] <jelmer> :)
[01:35] <wgz> okay, I'll be around a bit tomorrow but not doing normal hours
[01:35] <wgz> night all!
[01:36] <jelmer> 'night wgz, don't dream in unicode!
[01:37] <wgz> ☁
[01:38] <jelmer> wgz: nevermind
[01:38]  * jelmer gets some sleep as well
[02:13] <kroq-gar78> Hello all. It seems my bzr repo got corrupted and I can't do anything. I always get this error message: bzr: ERROR: Config file file:///home/kroq-gar78/prog/python/primes/trunk/.bzr/branch/branch.conf is not UTF-8 encoded. Can anyone help please?
[02:13] <poolie> hi kroq-gar78
[02:13] <poolie> i don't think it's corrupt, you just have something weird in that config file
[02:13] <poolie> open it in an editor and have a look
[02:16] <kroq-gar78> poolie: ok
[02:16] <kroq-gar78> put it in pastebin?
[02:20] <poolie> sure
[02:20] <poolie> is there anything obviously not ascii in there?
[02:24] <kroq-gar78> yup
[02:25] <kroq-gar78> http://paste.ubuntu.com/777015/
[02:31] <kroq-gar78> *bump* sorry, being a little impatient
[02:33] <kroq-gar78> Just a little background, I'm not too sure what happened either, but the entire directory became binaries or something. Only about 3 of the files are still regular...
[03:44] <poolie> kroq-gar78, sorry was having lunch
[03:44] <poolie> that looks familiar
[03:44] <kroq-gar78> yay!
[03:44] <poolie> it is a windows executable
[03:44] <kroq-gar78> hope you weren't being sarcastic
[03:44] <poolie> no the mv\90\00 bit did
[03:45] <kroq-gar78> oh
[03:45] <kroq-gar78> :(
[03:45] <poolie>    i have no idea what it is but it's not a bzr configuration file :)
[03:45] <poolie> maybe you copied it in there somehow?
[03:45] <kroq-gar78> that's what I thought
[03:45] <poolie> what i suggest is
[03:45] <poolie> 1- make a backup; 2- reboot and check the disk; 3- delete the bad config file; then you should be ok again
[03:45] <kroq-gar78> my whole directory got overridden by something, and some files even became directories :(
[03:46] <kroq-gar78> poolie: It was on a windows partition. How do I do that?
[03:46] <poolie> are you running linux or windows?
[03:46] <kroq-gar78> linux
[03:46] <kroq-gar78> ubuntu
[03:46] <poolie> i think you can run fsck on an ntfs partition
[03:46] <kroq-gar78> k I'll try it
[03:47] <kroq-gar78> making sure - it's "sudo fsck /dev/sd{whatever}" right?
[03:47] <poolie> unmount it first
[03:47] <poolie> yes
[03:48] <kroq-gar78> ah got it ty
[03:48] <kroq-gar78> fsck: fsck.ntfs-3g: not found
[03:49] <poolie> try sudo ntfsck DEV
[03:50] <kroq-gar78> Unsupported cases found.
[03:50] <kroq-gar78> That doesn't sound good...
[03:50] <poolie> if this is a dual boot machine perhaps you should boot into windows and check it there
[03:50] <kroq-gar78> ok
[03:52] <kroq-gar78> I really don't want to ;( I hate it. Is there a way where I can fix it on ubuntu? I'm just working on a copy that I pushed to Launchpad a little while back, and I probably didn't push a few commits. Can I the branch.config from there perhaps?
[04:12] <poolie> kroq-gar78, it's just configuration
[04:12] <poolie> you can probably just delete it
[04:12] <poolie> i'm just a bit concerned that if the filesystem is corrupt there might be other damage
[04:12] <poolie> so try just deleting that file
[04:18] <kroq-gar78> ok
[04:21] <kroq-gar78> bzr: ERROR: pack-names is not an index of type <class 'bzrlib.btree_index.BTreeGraphIndex'>.
[04:21] <kroq-gar78> I think something seriously bad happened to that directory...
[04:21] <poolie> yeah i think so
[04:22] <poolie> sorry to hear it
[04:22] <kroq-gar78> meh
[04:22] <poolie> it's probably a lower level problem, not bzr
[04:22] <kroq-gar78> oh well
[04:22] <kroq-gar78> ok
[04:22] <kroq-gar78> good to know ;) blame windows! lol
[04:22] <kroq-gar78> jk
[04:22] <kroq-gar78> thanks anyway!
[04:23] <kroq-gar78> bye all!
[05:58] <fullermd_> poolie: ping
[06:34] <fullermd_> poolie: (nm, I'll try and catch you tomorrow)
[06:56] <poolie> fullermd_, hi
[07:02] <fullermd_> poolie: Was gonna see if you wanted to chat about checkout stuff.  But I'm at the 23 hour mark and racing contra-conscious now.  Tomorrow maybe, if you'll be around.
[07:02] <poolie> i will
[07:02] <poolie> i think you have a point there
[07:03] <fullermd_> Chilled legumes.  I'll catch you after a solid 12 hours of sleep and 2 pots of coffee   :>
[08:09] <vila> 'hi all'.joyful()
[09:01] <caravel> Hi mgz wgz May I confirm, I got overlays working off my XP guest's vbox share. Was really easy (and documented indeed, I should have found it alone in here !!  %ProgramFiles%/Bazaar/doc/tbzr/preferences.html)
[09:02] <caravel> So I just added "remote = True" to [queried_drives] section in tbzr.conf. Session restart seemed required (I guess I could have just restarted tortoise cache process)
[09:04] <caravel> fyi such shared drive appears in XP guest as remote drive, but with a "VBoxSharedFolderFS" filesystem. Maybe that would allow tortoise to auto-enable that
[09:04] <caravel> Anyway, thanks again for your help yesterday, I was "3 feets under" with so many other things, much appreciated ^^
[09:05] <vila> caravel: mgz was up really late last night, thanks for the feedback (I'll try to point him at the log later) and happy to see you're out of trouble !
[09:05] <caravel> vila: :) I could have lived without that of course, it's just my way to contribute, too ^^
[09:05] <vila> s/really late last night/& and won't probably be there before some more hours ;)/
[09:05] <caravel> good day all
[09:06] <vila> caravel: feedback is a very valuable form of contribution
[09:07] <caravel> by the way... if I manipulate shared repos alternatively from fedora host and xp guest... and using two different versions of bzr, am I running into trouble ?
[09:07]  * caravel guesses answer is YES, of course
[09:08] <vila> caravel: you should be safe,
[09:09] <caravel> vila: fantastic, thank you -- will take the risk to try, then :D
[09:09] <vila> caravel: if you use the same working tree via mounts... you may run into weird issues though
[09:09] <vila> but the branches and the repositories are fully compatible as long as they use the same format (which is probably '2a' in your case, 'bzr info' will tell you)
[09:11] <caravel> vila: yes, same format of course. But what do you mean by wierd issues ? As I explained, fedora hosts the files, these repos are located in a folder it manages, and that is mounted in XP guest as a vbox share
[09:11] <vila> we;;, the working trees are compatible too, but the way the OSes present the file systems is... less than ideal for us
[09:12] <vila> ha, in that case you *may* see executable bits spuriously changing
[09:12] <vila> or locks failing
[09:12] <caravel> hmmm ^^ I'll be careful then! cheers
[09:13] <caravel> (systematical backups and diffs to start with)
[09:13] <vila> well, 'commit' is the best backup there :)
[09:14] <caravel> yeah right.... to yet another repo ^^
[09:14] <vila> exactly
[09:14] <vila> caravel: bound branches are perfect for that
[09:14] <caravel> makes sense
[09:15] <caravel> ok, leaving the space - thanks again
[10:04] <hrw> hi
[10:05] <hrw> 'bzr help builder' says about {debupstream} but how to get full version from debian/changelog?
[10:05] <hrw> I want to get 4.6.2-9ubuntu1 not just 4.6.2
[10:11] <hrw> ok, found {debversion}
[10:52] <awilkins> jelmer, I have formed the opinion that git-svn would work better if it was more like bzr-svn and stored metadata in SVN properties, instead of storing metdata in the commit logs (and thus by definition rewriting your local history every time you dcommit). Do you have an opinion?
[10:59] <jelmer> hrw: yep
[10:59] <jelmer> hrw: that might not work on launchpad yet though, it's a fairly recent addition, and launchpad is a bit behind on its bzr-builder
[10:59] <hrw> jelmer: would be nice to have those tags documented in 'bzr help builder'
[10:59] <hrw> launchpad is behind on many things
[10:59] <jelmer> hrw: it is actually, are you on precise?
[11:00] <hrw> jelmer: precise
[11:00] <jelmer> hrw: hmm, I guess the latest versio might not be packaged yet then
[11:00] <jelmer> it's documented in trunk in "bzr help builder"
[11:00] <hrw> jelmer: http://pastebin.com/sP6bSHSp
[11:01] <hrw> indeed
[11:01] <jelmer> hrw: it's in the bzr-builder package (not bzr itself)
[11:01] <hrw> btw - https://code.launchpad.net/~hrw/+recipe/gcc-4.6-armel-cross-daily is using branch which is at r51 but  *** 0.7.2-0ubuntu1 0
[11:01] <hrw> ops
[11:01] <hrw>  *** 0.7.2-0ubuntu1 0
[11:01] <hrw> this is installed one
[11:06] <jelmer> awilkins: I'm not sure if I care about git-svn :) What's wrong with bzr-svn?
[11:07] <awilkins> jelmer, It's not what's wrong with bzr-svn... I suspect it's "what's wrong with SVN that Git copes with better than Bazaar"
[11:07] <awilkins> jelmer, I have different reasons I like them both ; bzr-svn is much easier to work with and has fewer annoyances and caveats
[11:08] <awilkins> On the other hand, Git copes much better with things like, for example, people creating "branches" by branching the code, then deleting it all and replacing it with their patched copy
[11:08] <awilkins> Which breaks the history in SVN and thus also in Bazaar, but Git just takes this in it's stride because a tree, is a tree
[11:09] <hrw> awilkins: I never used bzr-svn but used git-svn for years
[11:10] <awilkins> Also it copes better with some of the quirks of SVN merges which don't always just patch the files in situ - if the merge is entirely from the remote side, it will just copy the file iNode from the remote branch, which results in a copy in SVN and also breaks the history in Bazaar which has no concept of this
[11:11] <awilkins> So the first case is annoying and stems mostly from stupid SVN users not understanding how their own VCS works, but the latter case is entirely legitimate
[11:12] <jelmer> yeah, I think we have a long open bug about copy tracking :(
[11:13] <jelmer> awilkins: so I'm not entirely sure. I don't see a particular reason why it couldn't be done
[11:14] <awilkins> jelmer, My contention is that the current way that git-svn stores metadata - by putting a git-svn ID in the commit log, which doesn't get pushed up to the SVN repository - is the reason that it can be a little inadequate in terms of 2-way interoperation with SVN via Git
[11:15] <awilkins> And that it would do better by taking a leaf out of your book and storing metadata in the SVN repository as bzr-svn does
[11:16] <jelmer> awilkins: how would pushing that metadata help though?
[11:17] <awilkins> jelmer, You can pull multiple Bazaar branches from the same SVN branch and they all end up interoperable with very little effort
[11:17] <awilkins> I don't think the same is true of git-svn or articles like this wouldn't occur : http://blog.tfnico.com/2011/03/dream-of-bi-directional-git-svn-mirror.html
[11:19] <awilkins> I did have some problems with ghosts on other developers machines when merging feature branches into my SVN tracking trunk branch using Bazaar but I think they have been fixed
[11:19] <awilkins> Whereas AFAICT the recommended stance with git-svn is to always rebase or cherry-pick your changes into your SVN tracking branch
[11:20] <jelmer> awilkins: yeah, the ghost issues should all be resolved now
[11:21] <jelmer> awilkins: you'll need ghost support in git, or push up all merged revisions into svn as well
[11:24] <awilkins> CollabNet have just announced some kind of git / SVN bridge and hopefully we might get to see what that does in time
[11:26] <awilkins> My employer uses their offering for hosting some projects, so it would be nice to be less ad-hoc about it
[11:44] <jelmer> Yeah, it'd be interesting to see what CollabNet have done
[11:46] <jelmer> vila: if you have a chance, a review of https://code.launchpad.net/~jelmer/bzr/merge-hooks/+merge/86395 would be great
[11:46] <jelmer> (I'm working on some bzr-builddeb patches that use it)
[11:47] <vila> ha crap, reviewed it in my bed but my brain isn't wired to lp
[12:08] <vila> jelmer: reviewed, small tweaks
[12:11] <vila> jelmer: by the way, about your CC reviews, I always get what is posted on lp, so your CC is always a dupe. If you still want to do that, please use vila+bzr instead vila in the email so at least the duplicates are filtered in the same mailbox ;)
[12:11] <vila> they cause matrix glitches otherwise ;)
[12:12] <vila> s/instead/instead of just/
[12:23] <jelmer> vila: ah, sorry
[12:24] <vila> jelmer: no worries
[12:26] <vila> jelmer: it's slightly annoying because I read one mailbox at a time and getting dupes in different places is... I prefer dupe reviews than no reviews, but no dupes is even better :-)
[12:40] <jelmer> vila: the only argument in MergeHookParams that seems relevant for pre_merge / post_merge is _Merger
[12:41] <jelmer> vila: the others are all specific to the individual file
[12:41] <vila> yeah, I'm not sure it's worth adding a level of indirection around it...
[12:42] <vila> the only risk I can think of is if we add an attribute that a hook introduces
[12:42] <jelmer> I guess we could add a separate Params class for merge-wide hooks ?
[12:43] <vila> that may seem a bit useless today but Merger is already so complicated :-/
[12:46] <vila> jelmer: forget about that part for now, we'll see how it comes out when a couple of such hooks have been written
[12:47] <vila> jelmer: I don't think too many people will rush to write them so fixing them will still be an option if needed
[12:49] <vila> hmm, on the other hand, actual file merge hooks handles the first call as a special case... perfect candidates for your new hook
[12:49] <vila> which in turn raises a question though: what about ordering ?
[12:50] <vila> po_merger for example will clearly benefits by establishing once and for all which '.pot' files exist
[12:50] <vila> but if running your quilt hook modify the existing .pot files... boom
[12:51] <vila> jelmer: just food for thought, out of scope for your proposal
[12:54]  * wgz bugs someone to review https://code.launchpad.net/~gz/bzr/fix_win32utils_deprecations/+merge/86213
[12:55] <jelmer> vila: ordering is a really hard problem, because we don't know what the other hooks are that are installed
[12:56] <jelmer> vila: but it's an interesting point
[12:56] <jelmer> wgz: I have to head into town, will have a look after I get back
[12:56] <jelmer> if vila doesn't beat me to it :)
[12:56]  * vila lunch ;)
[12:56] <jelmer> wgz: btw, what's the status on the post_connect hook branch?
[12:56] <vila> wgz: you're back ?
[12:57] <vila> oh !
[12:57] <vila> wgz: welcome back, the log said you had a busy night, you should read it though, caravel wanted to thank you ;)
[12:59] <wgz> I see, thanks!
[12:59] <vila> wgz: approved, you could have landed it without review I'd say
[12:59] <wgz> I like rubber stamps :)
[13:00] <wgz> jelmer: status of post_commit is change the name, document that smart clients don't really behave the same way, and add some tests
[13:01] <wgz> I'm meant to be reading some books, but will try and do that before I leave today as well
[13:03] <jelmer> wgz: thanks!
[14:24] <jelmer> woot, my wireshark dissector for the bzr protocol just landed \o/
[14:28] <GRiD> jelmer, nice
[14:33] <vila> wgz: books ? Come on, our proposals are not *that* long ;-p
[14:33] <vila> jelmer: woot
[14:33] <vila> jelmer: in other news, care to have a look at get_transport_from_url which is the main user of possible_transports and reconsider your belief that possible_transports is read-only ?
[14:34] <vila> jelmer: I'm trying to reply to the relevant review but lp... is in limbo
[14:35] <jelmer> vila: ah, you're right
[14:36] <vila> jelmer: the whole idea behind possible_transports is to transparently collect all transport used making sure no duplicates are kept (handwave but see the assertionError above the .append)
[14:36] <jelmer> vila: I guess the fact that we do sometimes manually add things to possible_transports was confusing me
[14:36] <vila> yup, for seeding
[14:36] <jelmer> vila: I'll fix it up, thanks
[14:37] <vila> np, thanks for using it ;)
[15:24] <vila> jelmer: thanks for approving https://code.launchpad.net/~vila/bzr/907268-bazaar-DEFAULT/+merge/86536 , how about its pre-requisite ? :-D
[15:24] <vila> https://code.launchpad.net/~vila/bzr/906897-quoting-stores/+merge/86526
[15:26] <jelmer> vila: that branch scares me a bit, but I'll have a look
[15:26] <jelmer> vila: I just reviewed your memory-stack branch, fwiw
[15:26] <vila> oh, cool
[15:28] <vila> jelmer: nothing to be afraid of, everything is covered by tests :) And quite some were missing. You could try to read configobj.Config._quote but... the points I made in the proposal are not that obvious from reading the code
[15:29] <vila> jelmer: and sorry about the apparent deletion of a bunch of tests, there was a massive duplication with the same classes duplicated
[15:29] <jelmer> vila: ah, ok
[15:31] <jelmer> vila: these complexities are one of the reasons why I think ini files aren't appropriate for use in format files
[15:31] <jelmer> vila: for configuration files (where we want users to be able to edit them directly) I think they make a lot more sense
[15:36] <vila> jelmer: ha, was just thinking about reviewing again to summarize, let's discuss here
[15:37] <vila> what I care about is that we use a format that allow us to backport only once
[15:37] <vila> and that we define a limited API on top of it for what we need in older bzr releases
[15:38] <vila> from the standup, this means: is there at least a required feature, if yes, the object cannot be open
[15:38] <jelmer> vila: I think the current format gives us that - we can add more optional lines in the future (followed by something different than the word "feature") later if we need to
[15:38] <vila> any format will do as long as it can represent a required feature today
[15:38] <vila> *but*
[15:39] <jelmer> I tweaked the code a bit yesterday to actually allow ignoring *anything* after "optional ", not just optional features
[15:39] <vila> we already have several available formats and I see no point in introducing a new one that has yet to demonstrate it can cope with semi-arbitrary additions
[15:40] <vila> rio, bencode or the ini-like are all capable of that and I prefer to use them over a new one
[15:40] <jelmer> vila: that just means layering this format on top of an existing one
[15:40] <vila> the ini-like one is easier to read for debugging purposes or even for users
[15:41] <vila> layering the features we need on top of an existing one you mean ?
[15:41] <vila> gha
[15:41] <jelmer> vila: it requires a complex parser though, and means extra overhead we open a branch/tree/repository/dir
[15:41] <vila> the functionalities (features is ambiguous here)
[15:42] <vila> lost in the noise and better than backporting
[15:42] <vila> a handful of lines won't make a difference
[15:42] <vila> whatever we use to parse them
[15:43] <vila> we currently parse a whole config file each time we access an option and it never came up in profiles
[15:44] <jelmer> vila: it's the overhead of the objects involved in the ini parser
[15:44] <jelmer> vila: and generating / parsing ini files there are lots of quirks that are unnecessary, like the stuff you're hitting just now
[15:45] <vila> irrelevant, the stuff I'm hitting is only when quoting is required
[15:45] <jelmer> vila: I'm saying we're layering one format on another, because we don't use ini/rio/bencode as a format
[15:45] <jelmer> vila: but we still have the overhead of considering whether we need to quote, etc
[15:45] <jelmer> vila: we create *a lot* of formats in the testsuite for example
[15:45] <vila> none of the options already migrated (except for the infamous stacked_on_location) needs quoting
[15:45] <jelmer> vila: each make_branch_and_tree call reads 4 format files
[15:46] <jelmer> vila: when we use bencode/rio/ini we just create another format that's layered on top of bencode/rio/ini
[15:46] <vila> and all of them being empty are parsed instantly
[15:46] <jelmer> vila: we're just reading from something that's richer than plain text
[15:46] <vila> wait,
[15:47] <jelmer> vila: and we have to make sure that only e.g. the 'features' section is used, that all entries in the features section have a valid necessity set, etc
[15:47] <vila> hold on
[15:47] <vila> the user will never edit that, he never edit it for now
[15:48] <jelmer> vila: when we write that file we would write it through configobj, right?
[15:48] <vila> we generate the content and our needs are pretty simple
[15:48] <vila> yes
[15:48] <vila> the point is that it's easy to add more stuff that will be ignored by previous bzr releases without having to backport
[15:49] <vila> and separate the API (is_a_feature_required) from the format itself
[15:50] <jelmer> vila: if we use configobj to write the files, then it will do things like arbitrarily quote
[15:50] <vila> only if required
[15:50] <vila> since I fail to see while you would want to use values that needs quoting, it's irrelevant
[15:50] <jelmer> vila: but the overhead of all that stuff is still there
[15:51] <vila> overhead  << IO
[15:51] <jelmer> vila: and we can end up accidentally quoting stuff that doesn't need quoting, or reading back quotes where they weren't there
[15:51] <vila> only if quoting is required, that's why it took me so long to encounter the issue
[15:51] <jelmer> vila: what's the advantage of that compared to the current format though?
[15:51] <jelmer> vila: I'm sorry, I still don't see it.
[15:51] <vila> single backport
[15:51] <jelmer> vila: We have single backport now too.
[15:52] <vila> only for the format you have already defined and tested
[15:52] <jelmer> vila: and we will need to backport more in either case, when we add more required stuff in the future.
[15:52] <vila> if you need more, you'll need to backport more
[15:52] <jelmer> vila: the format I have defined allows arbitrary optional stuff.
[15:52] <jelmer> vila: we need to backport more with an ini-based file format too
[15:52] <vila> what do you mean by 'more required stuff' ?
[15:53] <vila> no we won't need to backport anything if we decide that a feature can create its own section for its own needs for example
[15:53] <jelmer> vila: if we want to add more data to the format file in the future (that is not features), but required
[15:53] <vila> can you give an example ?
[15:53] <jelmer> vila: features wouldn't be allowed to add sections in the format file, bzr would have to error out if there are unknown sections
[15:54] <vila> why ?
[15:54] <jelmer> vila: because we can't just ignore unknown stuff - it makes it impossible to extend the format file in the future
[15:55] <jelmer> vila: and I don't see what sort of sections features would have to add
[15:56] <vila> that was just an example of an alternative to allow features to add parameters
[15:56] <vila> s/was/is/
[15:57] <vila> the point is that is_a_feature_required() can be implemented and still works if the underlying format receives additions
[15:58] <jelmer> vila: but those additions can only be optional
[15:58] <vila> did you turn the tables ?
[15:58] <vila> :)
[15:58] <jelmer> vila: and the current format allows for that as well - it just requires optional stuff that is added to be prefixed by "optional ", and leaves the possibility open to add mandatory stuff
[15:58] <vila> not without backporting
[15:59] <jelmer> vila: without backporting
[15:59] <vila> then I return your previous objection: <jelmer> vila: because we can't just ignore unknown stuff - it makes it impossible to extend the format file in the future
[16:00] <jelmer> vila: what about it? The current format still allows adding mandatory stuff
[16:00] <vila> then where do you draw the line about what can be added ?
[16:01] <vila> without requiring a backport
[16:02] <jelmer> vila: mandatory stuff will always require a backport, that's inherit in the fact that it's mandatory
[16:02] <jelmer> vila: *inherent
[16:02] <vila> huh ?
[16:03] <vila> I thought mandatory features will block opening the objects unless a plugin provides the feature
[16:03] <vila> no backport involved here after the initial one
[16:03] <vila> you don't intend to add nested tree support via backport right ?
[16:03] <jelmer> vila: Ah, sorry, I think I was being quite vague
[16:04] <jelmer> vila: To support features at all, we will only need a single backport in both cases
[16:05] <vila> I fail to see how your parser will extract more stuff than what it currently supports
[16:05] <jelmer> vila: what else does it need to support features?
[16:05] <jelmer> vila: in the future, I mean
[16:05] <jelmer> vila: and how would an ini format be better?
[16:06] <vila> I don't know what else it needs, but I know that the ini format provides a bunch of ways to add stuff while still being able to extract what the old bzr releases will care about: is at least one feature required
[16:07] <vila> that's the point,
[16:07] <jelmer> vila: in what way does the current format *not* support that?
[16:07] <vila> additional parameters as you mention ?
[16:08] <vila> something we haven't think about yet because we haven't implemented features ?
[16:08] <jelmer> vila: if there are additional paramters they will still recognize there is a mnadatory feature they don't support
[16:08] <vila> but would it be able to provide the additional stuff  to the features ?
[16:09] <jelmer> vila: no, but neither would the ini format
[16:10] <jelmer> vila: we need a change to the feature API to allow that sort of thing, and that's fine
[16:10] <vila> come on, of course the ini format can, it just has to pass the underlying configobj
[16:10] <jelmer> vila: exposing the internals as part of the API??
[16:11] <vila> that's private to the feature, who cares
[16:11] <vila> or rather, what's the problem ?
[16:12] <jelmer> vila: each plugin would have to know about the internals of the branch-format file
[16:13] <jelmer> vila: it makes e.g. an Repository.update_features({"foo": "required"}) API impossible
[16:13] <vila> impossible ? That seems a bit strong no ?
[16:14] <jelmer> vila: no - the only API we could provide is direct access to the configobj, if we want the kind of extensibility you suggest
[16:15] <vila> and how does your format address that without backport ?
[16:15] <vila> hmm
[16:15] <vila> it seems we're not making progress here and we still don't know what this format should support and provide
[16:16] <jelmer> vila: I don't really care about plugins being able to register features with new fancy stuff in older bzr versions
[16:16] <jelmer> vila: I mostly care about making it possible for older bzr versions to ignore optional stuff
[16:16] <vila> so far, the only thing that seem to be required is a (possibly empty) list of optional features and a (possibly empty) list of required features
[16:17] <vila> anything else can be added by the plugins *outside* the format file no ?
[16:17] <jelmer> vila: right - and even the list of names allows for some flexibility (like versioning)
[16:18] <vila> yup, we said the version shouldn't be part of that (or tricked with names)
[16:18] <jelmer> vila: the settings thing is something I wondered about, but e.g. mercurial seems to have gotten away with a plain list of features without settings (see .hg/requires)
[16:18] <vila> I saw
[16:19] <vila> I 100% agree about older bzr ignoring optional features
[16:19] <jelmer> I don't really want us to paint ourselves into a corner by making it impossible to add new stuff to the format file, but I also don't think we'll be doing more of it soon.
[16:19] <vila> I very hesitant about required features, but since that won't happen today, I won't block on detecting them either
[16:19] <vila> right,
[16:20] <vila> so how about we clearly document that we just won't add new stuff for '2a' ?
[16:20] <jelmer> vila: I think it's more likely we'll extend the set of necessities in the future
[16:20] <vila> what's a necessity ?
[16:20] <jelmer> vila: how necessary it is to have a feature present
[16:20] <jelmer> vila: "required" and "optional" are the current possible values
[16:21] <vila> what else do you have in mind ?
[16:21] <jelmer> vila: the spec talks about another necessity "read-optional"
[16:21] <jelmer> vila: IOW, you can read this repository but if you want to write to it you have to have the plugin present
[16:21] <vila> justasec
[16:21] <vila> ha
[16:21] <vila> example ?
[16:21] <jelmer> vila: that's very useful for stuff like bzr-git, which wants to make sure that a cache is up to date - and not spend 20 seconds each time it accesses a repository verifying that every bzr revision is in the bzr-git cache
[16:22] <vila> ha, excellent
[16:22] <vila> right, make that 3 lists then
[16:22] <vila> write-only sounds a bit silly and probably impossible ;)
[16:23] <jelmer> vila: there are probably more necessity values - like e.g. only being necessary for the direct writer of a repository, not a client that writes to it over HPSS
[16:23] <jelmer> vila: optional and required are the extremes, the other necessities are somewhere in between them
[16:24] <vila> but unkown...
[16:24] <jelmer> vila: right - so we fall back to "required" if we find a necessity we don't know about
[16:25] <vila> one sec
[16:26] <vila> right,
[16:27] <vila> nobody said features can't be provided by bzr-core and in this case, it doesn't matter if it's required as upgrading bzr itself is enough
[16:27] <vila> so, falling back to required sounds good
[16:28] <vila> optional, read-optional, required seems well defined enough and only require a name, additional stuff is plugin business
[16:28] <vila> overhead now
[16:29] <vila> your implementation already requires at least a set() and a dict() which will contains the strings, so if the parser throws away the parsed lines, the format overhead is peanuts
[16:30] <vila> if we stick to three lines of python identifiers separated by commas, the parser is also trivial and as such, robust
[16:31] <jelmer> the set is global, the dict is the only thing that is created for each format
[16:31] <vila> (lines can start with optional, required, read-optional for debug, I won't mind ;)
[16:32] <vila> ha, same set for all formats ?
[16:32] <jelmer> vila: actually, that's a good point
[16:32] <vila> why ?
[16:32] <jelmer> vila: I wonder if we should have one namespace for features, or if it should be one namespace for branches, one namespace for repositories, etc.
[16:32] <vila> (I don't have an opinion so far, thinking ;)
[16:33] <vila> yeah, that's what I'm wondering about
[16:34] <vila> on one hand, I'll tend to name the feature as the plugin, on the other... bzr uses different formats (with some concerns about presenting a consolidated name...)
[16:34] <jelmer> yeah
[16:34] <jelmer> I think usually you want the plugin name, but there are likely going to be some exceptions.
[16:34] <vila> we can prefix branch:, wt:, repo: too...
[16:35] <vila> meh
[16:35] <jelmer> vila: hmm, yeah
[16:35] <vila> jelmer: do we agree about three list of simple names ? (no spaces, no fancy stuff, python ids recommended, things like that ?)
[16:36] <jelmer> vila: X lists of simple names (as we can add more necessities in the future), starting with just optional and required
[16:37] <vila> as in : older bzr releases will never support read-optional ?
[16:37] <jelmer> vila: yeah, not unless we explicitly backport it
[16:37] <jelmer> vila: supporting read-optional means hooking into lock_write for example, so it's a more intrusive patch
[16:38] <vila> I won't be mad at you if we need to backport *something* in 6 months, but I would be far more comfortable if we could backport once and be done with it
[16:38] <vila> hmm, lock-write
[16:38] <vila> you know what ?
[16:39] <vila> You mention a lot of stuff that you should document in doc/dev/plans.txt  or features-flags in a blue sky section ;)
[16:41] <vila> hmpf, vila+bzr !!
[16:41] <jelmer> sorry :-/
[16:43] <vila> hehe, np
[16:43] <vila> for suggest parent, I meant to *display* the existing parent, of course we should recommend using :parent, :submit, :push, I always do :)
[16:44] <vila> jelmer: hehe, glad you like MemoryStack, the existing uses are nice too
[16:50] <jelmer> vila: I'll update the feature-flags spec with some more plans
[16:51] <vila> jelmer: great, I'll review tomorrow again if nobody beats to it
[16:55] <jelmer> vila: thanks
[16:55] <vila> s/to/me to/
[16:55] <vila> tomato...
[17:15] <vila> oh, http://docs.python.org/howto/doanddont.html says: don't from module import name1, name2 ...
[17:16] <vila> and mentions my main issue with that: "The reason it is usually a bad idea is because you suddenly have an object which lives in two separate namespaces. "
[17:35] <wgz> gra, I fail at launchpad
[17:45] <tbnorth> hi call - can anyone explain http://pastebin.com/vmpBbKYm ?  I've been pushing to that repo. for years without trouble.  Haven't changed ssh key or anything.
[17:46] <wgz> tbnorth: they moved trunk
[17:47] <wgz> do `bzr pull --remember lp:leo-editor`
[17:47] <wgz> then move your changes onto that branch
[17:48] <vila> wgz: not sure about that, did you notice the 'branchlock' part again ?
[17:48] <wgz> oh, and the owner of the new branch is different too, which may cause issues
[17:49] <tbnorth> wgz might be right, the branch lp:leo-editor points to was changed recently, although I thought I'd pushed successfully since then.
[17:49] <wgz> this is basically all fallout from the repo that needed one accidental giant revision removed from it
[17:50] <vila> tiplog saved my day after a wrong pull --overwrite, who should I hug again ?
[17:50] <wgz> though, the way they tried to hack it is probably worse than if I'd done what I was going to and risk breaking stacking
[17:50] <tbnorth> wgz - so you know about that :)  That still doesn't seem to be resolved though.
[17:50] <wgz> tbnorth: indeed, I think this is generally a big mess that needs sorting out properly
[17:50] <wgz> I just don't have any access or ability to do anything on the codehosting side
[17:51] <tbnorth> wgz - what scope are we talking here, that one project, or a general LP thing?
[17:51] <wgz> and without someone from leo-editor saying "please fix our branch" on launchpad-users there's not much I can do
[17:52] <tbnorth> wgz - I can get the admin to ask that easily.  Didn't realize this was a known issue :-}
[17:52] <wgz> there have been some bug reports against bzr because of this launchpad problem with the branch
[17:53] <tbnorth> so when it's fixed, will existing branches still be compatible, and will branch over http on windows not run out of memory, which is the only issue we're having, apart from my push issue?
[17:53] <wgz> that's the goal.
[17:53] <wgz> I think breaking old stacked branches is less bad than the current status.
[17:54] <tbnorth> and, sorry to be so verbose, but when you say " the way they tried to hack it is probably worse than if I'd done..." who's they?  The leo-editor team didn't do anything much except try creating a new branch as the 'focus of development'.
[17:55] <wgz> right, that move is probably the cause of your problem now
[17:55] <tbnorth> my push problem, which can probably be resolved on my end, but not the http/windows issue?
[17:55] <wgz> is it now possible to branch that new line of development over http without the memory problem?
[17:55] <wgz> or did moving to a new branch not help?
[17:56] <tbnorth> wgz - no, moving to a new branch did not help
[17:56] <wgz> okay, thanks for confirming that.
[17:56] <wgz> we need to fix the underlying repo.
[17:56] <tbnorth> which would make sense if LP uses shared repo, I don't know if it does or not
[17:56] <wgz> it uses stacking, which is... even more funky
[17:57] <tbnorth> but we can branch over http in windows from a branch not stacked on lp:leo-editor - so if there was a way to just delete the whole branch *completely* on lp:leo-editor and push from scratch, that would presumably fix it
[17:58] <wgz> that's close to what I think needs doing, but we need someone from the launchpad/l-osa side to do it
[17:58] <tbnorth> and having the owner of leo-editor request that in launchpad-users would be the way to make that happen?
[17:59] <wgz> yup, that would be the best first step, then I'll try and do whatever further bothering is needed
[18:00] <tbnorth> ok, thanks, I'll go and pass this on now.
[18:01] <wgz> tbnorth: for your immediate problem, double check both the branch you're pushing to is the right one of the two, and that you have your ssh config correct for the branch
[18:01] <tbnorth> ok, thanks.
[18:34] <wgz> this is daft... I'm subscribed to ubuntu-devel but can't post to it?
[18:35] <jelmer> wgz: Yeah, I think it's moderated
[21:24] <vila> wonderful tyop: compunity (instead of community ;)
[21:25] <jelmer> hehe
[21:26] <vila> ..that it occurred in an article about unity makes it even more valuable of course ;)
[21:47] <chromaticwt> is there a github equivalent for bzr?
[21:56] <poolie> hi all
[22:02] <jelmer> hi poolie
[22:02] <jelmer> chromaticwt: there is launchpad of course. Perhaps bzr.bz ?
[22:02] <MrSmile> hi people!
[22:02] <poolie> jelmer, i saw that thing about readmes
[22:02] <MrSmile> I have a problem programming with bzr on windows.
[22:02] <poolie> it's so close to being in touch
[22:03] <jelmer> hi MrSmile
[22:03] <poolie> in reach
[22:03] <poolie> to add it
[22:03] <MrSmile> Hi jelmer
[22:03] <jelmer> poolie: in the bitlbee charm you mean?
[22:03] <MrSmile> on linux it works fine opening a branch, but on windows I receive always a NotBranchError Exception... what could it be?!
[22:03] <MrSmile> has any of you an idea?
[22:03] <jelmer> MrSmile: can you paste the code that's problematic?
[22:03] <poolie> jelmer, no, i mean showing a branch's readme on its lp page
[22:04] <MrSmile> no problem
[22:04] <jelmer> poolie: Oh, I didn't see that. That would be very neat though.
[22:06] <MrSmile> http://pastebin.com/raw.php?i=zSNP67iU
[22:07] <MrSmile> I guess it has something todo with: control = controldir.ControlDir.open(path, _unsupported)
[22:09] <MrSmile> what could it mean?!
[22:09] <jelmer> MrSmile: and there's a .bzr directory in that location ?
[22:10] <MrSmile> yes
[22:11] <MrSmile> 21.12.2011  22:21    <DIR>          .bzr
[22:11] <MrSmile> C:\Users\tamer\PyProjects\versionierung\remote>dir
[22:12] <MrSmile> try it out yourself on windows....
[22:12] <MrSmile> there you see the result.
[22:12] <jelmer> MrSmile: I don't have windows
[22:12] <jelmer> MrSmile: and WorkingTree.open does work fine on Windows generally, so there must be something odd happening here
[22:12] <jelmer> MrSmile: do you have the same bzr version on windows and linux?
[22:13] <MrSmile> yes
[22:13] <MrSmile> the latest version of bzr on windows7
[22:13] <MrSmile> 64 bit
[22:13] <jelmer> MrSmile: can you try adding "import bzrlib.bzrdir" ?
[22:13] <MrSmile> installed with easy_install
[22:14] <MrSmile> he did it!
[22:14] <MrSmile> perfect thank you.
[22:15] <jelmer> np
[22:16] <MrSmile> does it now without any complaints.
[22:16] <MrSmile> perfect
[22:16] <MrSmile> thank you