[00:01] <GRiD> poolie, is there a specific test (or test type) you recommend i look at as a pattern for creating the large-file-add test? is the shell-like interface appropriate?
[00:02] <poolie> hi grid, i think that would be a reasonable way to do it
[00:06] <GRiD> ok, i suppose it makes sense to add it to blackbox/test_add.py even
[00:13] <poolie> so, pros and cons
[00:14] <poolie> using shell-like tests:
[00:14] <poolie>  - tests most of the stack integrated together
[00:14] <poolie>  - therefore catches integration bugs
[00:14] <poolie>  - and also is slower
[00:15] <poolie>  - is a somewhat less precise mechanism for setting things up and evaluating them
[00:16] <poolie>  - requires less prior knowledge
[00:16] <poolie> so... for a first patch overall it's pretty good
[00:16] <poolie> if you wanted to cover dozens of different cases probably using api tests would be better
[00:58] <GRiD> ok thanks. tomorrow (fri) is the first chance i'll get to write some code so i'll see how it goes, maybe have some questions.
[01:17] <poolie> cool
[01:17] <poolie> i hope you enjoy it, ask here on the list if you want
[04:00] <thomi> Hi
[04:30] <TiffanyAngel87> Suppose I have some revision X and it's ruining my life, how do I revert just those changes?
[04:40] <AfC> TiffanyAngel87: and X is not the latest revision?
[04:40] <TiffanyAngel87> AfC: correct
[04:41] <AfC> TiffanyAngel87: you have to commit the "reverse" of what that revision introduced.
[04:41] <AfC> TiffanyAngel87: you do that by using merge, backwards:
[04:41] <AfC> if X is 47
[04:41] <AfC> say
[04:41] <AfC> then
[04:41] <AfC> $ bzr diff -r 46..47
[04:42] <AfC> shows you the change set introduced by (resulting in) that revision (state)
[04:42] <AfC> TiffanyAngel87: right?
[04:42] <TiffanyAngel87> with you so far
[04:43] <AfC> so, to get rid of it, you merge the inverse. You can first see that with
[04:43] <Noldorin> jelmer, hi?
[04:43] <AfC> $ bzr diff -r 47..46
[04:43] <AfC> (note the + and - inverted)
[04:43] <TiffanyAngel87> ohhhh
[04:43] <AfC> but to do it, use merge
[04:43] <TiffanyAngel87> then patch -p0?
[04:43] <AfC> no merge:
[04:43] <AfC> $ bzr merge -r 47..46
[04:43] <AfC> [that's implicitly "from this branch"]
[04:43] <AfC> $ bzr merge -r 47..46 /path/to/branch
[04:44] <TiffanyAngel87> I'll give it a try. Thanks!
[04:44] <AfC> would have pulled that delta from somewhere else
[04:44] <TiffanyAngel87> the reverse merge is effectively the same as the diff and patch, right?
[04:44] <AfC> I'll let someone else answer that; my belief is that there's more to it than that
[04:45] <AfC> ie, merge can be (dramatically) smarter about base revisions, ancestors, etc
[04:45] <AfC> There's a reason we don't throw history away in Bazaar land
[04:45] <TiffanyAngel87> cherrypicks don't carry their history though, right?
[04:45] <TiffanyAngel87> well, I'll try it :)
[04:46] <AfC> Don't forget to `bzr commit` the merge once you've reviewed its impact;
[04:46] <AfC> and `bzr revert --no-backup` if you screwed up and need to retry.
[04:47] <AfC> TiffanyAngel87: no, cherypicks don't, but they merge logic can still be [much] smart about what to do and how to apply the delta [especially normal forward cherry picks]
[04:47] <TiffanyAngel87> makes sense
[04:48] <TiffanyAngel87> AfC: I think that worked. And no conflicts thank god. thanks
[05:53] <poolie> vila, hello?
[05:53] <poolie> thomi: hello?
[05:53] <thomi> Hello
[05:53] <vila> hi all !
[06:03] <vila> thomi: hi, thanks for your work on the system config file, can we talk about it here or is it too late for you (what TZ are you in by the way ?) ?
[06:03] <thomi> I'm in New Zealand, so +1200 I think (or maybe +13? +11?)
[06:03] <thomi> by all means...
[06:03] <thumper> +12
[06:04] <thumper> +13 in summer
[06:04]  * thumper leaves
[06:05] <thomi> Thank you thumper.
[06:05] <vila> thomi: I haven't look in details so far, but roughly the missing parts are:
[06:06] <vila> 1) I suspect the tests are not isolated yet and use the real /etc/bazaar.conf if it exists (instead of one specific to tests)
[06:07] <vila> 2) the 'bzr config' command needs to taught about this new file (which means some heavy lifting)
[06:07] <vila> 3) I'd strongly prefer if this new config file were implementing the planned features  (path matching mainly) rather than duplicating the actual bazaar.conf
[06:08] <vila> (3) could be simplified as a first step by duplicating branch.conf instead and forget about path matching as a first step
[06:12] <thomi> okay...
[06:12]  * thomi thinks
[06:14] <vila> thomi: roughly, it means, the new file can be used for any options without any section
[06:14] <vila> thomi: will that match your intended use ?
[06:15] <thomi> sure, I'm just hacking this for fun, we don't need this for sloecode...
[06:16] <vila> ha, cool :)
[06:16] <thomi> so the plan regarding "bzr config" is to make the confi command use the new file, and then at some point in the future port the config command to use the new Stack API?
[06:17] <thomi> ...or do we port bzr config to the Stack-based API now?
[06:18] <vila> that would be a different merge proposal, but yes, the plan is to move to the stack-based API asap
[06:18] <vila> I haven't considered doing it so far because I wanted to migrate all the existing options first
[06:19] <vila> but your proposal triggered a new way to think about the whole issue and may be we can use the system wide config to drive the introduction of the new features
[06:20] <thomi> ...but won't moving to the stack-based API give you access to the new system config file? I'm not sure what needs to be done for (2) in that case...
[06:20] <vila> right
[06:21] <vila> bzr config has a few needs that are not covered yet
[06:22] <vila> from the top of my head: iterating all options returning (config-id, section, name, value)
[06:27] <thomi> okay, that makes sense.
[06:28] <thomi> just to make sure I'm not missing something, PathMatcher does not currently exist, right?
[06:29] <vila> indeed
[06:30] <vila> there are various candidates PathMatcher, URLMatcher, AbsolutePathMatcher, RelativePathMatcher
[06:30] <vila> I don't think we need all of them ;)
[06:31] <vila> but from a user point of view they address different needs
[06:32] <thomi> okay - I think I need to read the devnotes a couple more times :) I'll start by refining the unit tests and seeing how I can modify bzr config
[06:33] <thomi> Should be able to make some progress this weekend.
[06:34] <vila> cool, I'll try to define a clearer roadmap for the missing bits and work on migrating more options myself
[06:35]  * vila hunts coffee
[06:35] <thomi> hah
[06:36] <thomi> On an unrelated note, is there an example someone can point me at of calling loggerhead to render *part* of an HTML page? I.e.- calling it from within another WSGI app?
[06:36] <thomi> It must be do-able because LP does it for merge proposals, but launchpad code makes my head hurt.
[06:37] <poolie> thomi: so lp is doing not in-process in a wsgi app, but from the client
[06:37] <poolie> proxied through the app server
[06:37] <poolie> it requests a diff url
[06:38] <thomi> ahh, that'd be why it looked odd. So is it something that's not currently easy to do in loggerhead?
[06:39] <poolie> from what i know of the structure i'd think it should be pretty possible
[06:39] <poolie> hm
[06:39] <poolie> depending on just what part it is that you want to get out
[06:39] <poolie> if it currently only serves one monolithic page for, say, annotate, and you want to get just part of it , you might need to refactor it
[06:39] <thomi> well, I'd like everything, but rendered within a sloecode page...
[06:40] <poolie> so, with sloecode navigation stuff inserted into the loggerhead page?
[06:41] <thomi> yeah, or rather loggerhead inserted into a sloecode page ;)
[06:46] <thomi> so how does LP do it for the diffs on merge proposals... I assume those diffs are created by loggerhead.
[06:56] <maxb> I don't think they are
[06:57] <thomi> oh, ok, cheers.
[07:04] <poolie> hi vila
[07:04] <poolie> do you want to chat?
[07:05] <vila> yup, if my network agrees with that reasonable task ;)
[07:14] <poolie> jelmer: hi?
[07:37] <poolie> vila, so re http://doc.bazaar.canonical.com/devnotes/configuration.html compatibility
[07:37] <poolie> i agree we want to change section names
[07:37] <vila> and delete some
[07:38] <poolie> right, more precisely we want to use sections to describe when the value applies, not what the key is
[07:38] <poolie> however, it seems pretty feasible to migrate while using the current files
[07:38] <poolie> i'd really rather not put users through a flag day
[07:38] <vila> me neither
[07:38] <vila> but we can support haveing both files defined
[07:39] <vila> and even create one from the other
[07:39] <vila> and even update the old one in parrallel (that one is probably overkill ?)
[07:40] <poolie> so istm the common case will be that people just simply have a bazaar.conf
[07:40] <poolie> with a default section, without bookmarks or aliases
[07:41] <vila> trying to address all issues while keeping the same file gave me headaches and I never came to a satisfying solution either
[07:41] <poolie> and the simplest thing in that case is to just leave it alone
[07:42] <vila> leave it alone and handles the new one or leave it alone and change its semantic ?
[07:42] <poolie> don't create a new file, just keep reading and writing the current location
[07:43] <poolie> support having this kind of section marker as a backward compatibility feature or something
[07:44] <vila> :-/
[07:44] <poolie> too hard?
[07:44] <vila> my gut feeling is that it will make the code more complex with no guarantee that the end result will work correctly
[07:45] <vila> roughly, we make assumptions about the file content and semantics that allow us to be lazy
[07:46] <vila> as soon as you require looking at the file content to define the semantic, you lose the lazyness
[07:46] <poolie> what do you mean?
[07:46] <vila> it matters less if we guarantee that we will read the file only once but we're not there yet
[07:47] <vila> I mean: using [DEFAULT] as a backward compatibility marker means the file needs to be read first before deciding how we want to interpret it (not mentioning that it forbids using 'DEFAULT' as a valid path)
[07:48] <poolie> ok, so what i had in mind was
[07:48] <poolie> the per-user file is called bazaar.conf
[07:48] <poolie> we match sections by path in there
[07:49] <poolie> or, perhaps [path ...]
[07:49] <poolie> there's an api that will let the bookmarks and aliases plugins find other things
[07:49] <poolie> find values from other sections
[07:50] <vila> right, but it's far easier to let the old file implements the old semantics and the new file provides the new ones
[07:51] <vila> then people can decide when they want to switch
[07:51] <vila> and we can deprecate bazaar.conf in 2.6 or 2.7
[07:51] <poolie> i don't think that's a thing people want to make a decision about
[07:52] <vila> using new features is a decision
[07:52] <lifeless> deprecate bazaar.conf?
[07:53] <poolie> that's vincent's proposal
[07:53] <poolie> what do you think?
[07:55] <lifeless> seems like a lot of people will need to change their config
[07:58] <poolie> vila, so, i'm kind of -1 unless it's really necessary, and i'm not convinced yet that it is really necessary
[07:58] <poolie> please don't land it until i am convinced
[07:58] <poolie> i think there are other things we can do towards this that don't require that migration
[07:59] <poolie> like, getting rid of config-variable-specific apis, and updating callers to use stacks?
[07:59] <vila> yes, that's what I refer to as 'migrating existing options'
[08:01] <poolie> ok
[08:02] <poolie> once we do that, we should be pretty much set to read them from a global file, the command line, or environment variables?
[08:03] <vila> last time I looked at env variables the use cases seem to be that *multiple* env variables for *one* config option is the rule rather than the exception, but nothing blocking
[08:03] <vila> command line will be ok
[08:04] <vila> adding a global file (as in system-wide ?) without addressing the compatibility sounds like a waste of time
[08:05] <poolie> why?
[08:05] <vila> ensuring single read/write of a given config file can also be done first (if only to free our minds about the related issues)
[08:06] <vila> because it means we'll have to do the work twice
[08:06] <vila> and the users too
[08:07] <poolie> uh
[08:07] <vila> now, the migration to new files can probably be automated for the most common cases if not all
[08:07] <poolie> if you're suggesting adding a global file with a structure we later have to deprecate, that does seem like a waste, but i don't see why that would be needed
[08:07] <vila> ha
[08:09] <vila> I thought *you* were suggesting a system-wide file with the same semantics as bazaar.conf :)
[08:10] <poolie> i don't think we would need to handle the corner cases of bazaar.conf in the global one
[08:11] <vila> right, that's why I suggested to make the system-wide conf file more like branch.conf: a single no-name section
[08:11] <vila> to start with
[08:12] <vila> but an obvious use case would be define aliases there...
[08:12] <poolie> cool
[08:12] <poolie> so then i think we'd have to update the alias code to look in both places
[08:12] <poolie> or, maybe add an api with a backwards-compatibility thing
[08:13] <vila> or even better, let the config file define this kind of semantic so the backwards-compatibility tricks are easier to define and manage overall and clearer for users that could be pointed at the doc associated to the config file itself :)
[08:14] <vila> but let's discuss about that later when things are clearer
[08:17] <vila> just keep in mind that I'm fully aware that introducing new files and deprecating old ones is not easy/use-friendly, should be done with care and the costs/benefits balanced against keeping the same files
[08:17] <poolie> so step 0 is to send a roadmap and then step 1 is to migrate the existing callers
[08:17] <poolie> ok :)
[08:17] <vila> poolie: in short: I damn well know the issues and I'm eager to convince you :)
[08:17] <poolie> ok :)
[08:18] <poolie> the other thing that would be really helpful now is your attention to http://package-import.ubuntu.com/status/
[08:19] <poolie> config stuff is a good feature, and good for enabling other stuff, but not top of the list
[08:20] <vila> jam: hello !
[08:21] <jam> morning vila
[08:23] <poolie> hi jam, welcome back
[08:23] <jam> hi poolie
[08:24]  * vila biab
[08:25] <cheater> hi!
[08:26] <cheater> i've done multiple changes to a file which i'd like to put into separate commits. how can i do that?
[08:27] <AuroraBorealis> remove one set of changes, commit, add the second changes back , commit
[08:27] <cheater> is there no way to edit the diff i'm committing?
[08:27] <AuroraBorealis> probably not.
[08:28] <AuroraBorealis> and i dont think there is a way to do that in any versioning system
[08:28] <AuroraBorealis> you can select what files that have changes get commited but not certain changes in a file.
[08:29] <cheater> that sucks :(
[08:29] <AuroraBorealis> commit more often i guess!
[08:30] <AuroraBorealis> also, is there a way to make the mac version of bzr explorer have a dock icon?
[08:30] <AuroraBorealis> its a one liner, but i have no idea where the program starts
[08:32] <poolie> cheater, use bzr shelve
[08:32] <poolie> or install bzr-interactive and i think it adds a commit -i
[08:32] <cheater> oh let me try that!
[08:32] <jelmer> hi jam, welcome back :)
[08:33] <AuroraBorealis> because its annoying to have the default python icon in the dock =/
[08:35] <jelmer> poolie: pong
[08:35] <poolie> hi jelmer
[08:35] <poolie> i think i was just saying hi
[08:35] <cheater> so what would i do? bzr shelve file, edit changes to just leave in the ones i need.. and then bzr ci.. and then how do i get my changes back?
[08:36] <poolie> bzr unshelve
[08:36] <cheater> ah
[08:36] <cheater> great - let me try that
[08:39] <cheater> wow bzr shelve is really great
[08:39] <cheater> thanks a lot for the tip!
[08:40] <cheater> AuroraBorealis: look, bzr is better than any other VCS :)
[08:40] <AuroraBorealis> i didn't know it allowed you to choose what changes
[08:40] <cheater> yep! pretty cool! :)
[08:44] <cheater> btw, i wrote a lightweight text editor for use with bzr commits
[08:45] <cheater> i just do bzr ci, enter my message, then press Ctrl-D (or Ctrl-C) to abort). It doesn't do anything else and doesn't display any user interface, etc.
[08:45] <cheater> i find it better than nano and vim for this purpose, and you don't have to use -m (using -m means that you can't just press up and enter to commit new changes)
[09:02] <vila> so, wanting to file a bug for making tags fetching optional for 2.4.0, I see we have 3 critical bugs ?
[09:08] <vila> jelmer: bug #771184 sounds like the one I'm after
[09:09] <jelmer> vila: ah, yep
[09:09] <vila> jelmer: do you know the fetch code enough to fix it ?
[09:10] <vila> jam: or may be you do ?
[09:12] <jml> mgz: Would really appreciate you looking over https://code.launchpad.net/~jml/testtools/unprintable-assertThat-804127/+merge/70530
[09:13] <jam> vila: enough to make fetching tags optional, or enough to fix the underlying bug?
[09:13] <vila> anyway, I've marked #771184 as critical and targeted to 2.4.0 so we don't release without fixing it
[09:13] <vila> jam: enough to make fetching tags optional
[09:14] <vila> jam: so we can fix the underlying issue for 2.4.1 or trunk
[09:15] <vila> jam: I don't understand the details but the underlying issue seemed to be tricky enough to require more time. I don't want to block the release for that
[09:19] <Noldorin> hi jelmer
[09:19] <jelmer> vila: Yeah, I think I know the fetch code well enough, though I'm also trying to finish off my current WIP
[09:19] <jelmer> hi Noldorin
[09:20] <Noldorin> hey
[09:20] <Noldorin> jelmer, haven't had any time to investigate that bzr-git issue yet really..... have you?
[09:21] <jelmer> Noldorin, no
[09:21] <Noldorin> jelmer, might have some time tomorrow. was going to ask...
[09:21] <Noldorin> jelmer, you said to test "part" of the r47 commit. how do i do this?
[09:24] <jelmer> Noldorin, creating a new revision with some of the changes present in r47 and seeing if that gives the same problem
[09:24] <jelmer> then doing that until you can narrow down which combination of changes triggers the bug
[09:27] <Noldorin> jelmer, i would have to create a whole new branch, no?
[09:29] <Noldorin> jelmer, because just adding a new revision still leaves the old r47 and this gets pushed...
[09:29] <Noldorin> afaik
[09:29] <Noldorin> well, i tried indeed.
[09:30] <jelmer> Noldorin: yeah, you would have to have these changes instead of your current r47
[09:31] <Noldorin> jelmer, ok, thanks for confirming :-)
[09:31] <Noldorin> jelmer, bit mor time tomorrow, so we'll see! good night for now
[09:40] <jelmer> Noldorin: g'night
[09:40] <spiv> jml: don't be shy, just call the branch f---ing-assertThat ;)
[09:50] <jml> spiv: :)
[09:51]  * mwhudson wishes for hunk splitting in shelve
[09:53] <LeoNerd> If shelve can't cope I usually revert and vimdiff
[09:53] <cheater> will anything bad happen if i edit a file that is shelved?
[09:57] <jml> spiv: What I'd like to say about supporting unicode across Python 2 & 3 is unprintable.
[09:58] <james_w> mwhudson, you know you can set it up to allow you to edit hunks to achieve that?
[09:59] <mwhudson> james_w: no!
[09:59]  * james_w searches
[09:59] <james_w> bug 708716
[10:00] <james_w> bug 781871
[10:01] <james_w> mwhudson, id:4D417FEE.3070409@ukr.net
[10:02] <mwhudson> oo
[10:02] <mwhudson> thanks
[10:03] <james_w> mwhudson, I think you edit the whole file to look like what you want after shelve completes, and it ignores any previous decisions you made in that file
[10:03] <james_w> I may be wrong though
[10:11] <cheater> is it possible to have one editor in bzr for commit messages, and another "general" editor?
[10:57] <LeoNerd> Seriously people...
[10:57] <LeoNerd> bzr co $URL; edit stuff; bzr ci --local because I'm on the train.. bzr push => "ERROR: No push location known or specified"
[10:57] <LeoNerd> Would it be -that- much work to have this specialcase default to "Oh I'll just push up to the branch" since bzr info knows full well what it is
[10:58] <LeoNerd> I don't think in $N years I have -ever- bzr checkout'ed anything that I ever wanted to push anywhere else other than back to its branch.
[10:59] <jelmer> LeoNerd: please file a bug
[10:59]  * fullermd cues round 73 of bound-age.
[10:59] <LeoNerd> Where do bugs go these days?
[10:59] <jelmer> LeoNerd, http://bugs.launchpad.net/bzr/+filebug
[11:00] <LeoNerd> Hrmmm... needs login..
[11:00] <jelmer> fullermd, I'm also not sure how useful bound branches are anymore these days
[11:00] <jelmer> they seem to cause a lot of confusion for new users
[11:00] <LeoNerd> I use them almost exclusively
[11:01] <fullermd> They sound very useful, as that's what LeoNerd is wanting.
[11:01] <LeoNerd> I want to work against my centralised repo server; the same workflow model as CVS or SVN
[11:01] <fullermd> Me, I'm quite the opposite.  I can't remember the last time I wanted a bound branch, but I use checkouts all the time.
[11:01] <LeoNerd> To be honest, I mostly treat bzr as a "better svn", which has real branches/tags/renames/...
[11:02] <LeoNerd> Ah, turns out to have been filed already.
[11:03] <LeoNerd> https://bugs.launchpad.net/bzr/+bug/539996
[11:03] <LeoNerd> over a year ago
[11:06] <spiv> LeoNerd: "patches welcome" :)
[11:06] <LeoNerd> Bah
[11:06] <LeoNerd> I find that rarely to be the case.
[11:06] <LeoNerd> I usually ask for a feature and then do nothing until someone official upstream says "please send a patch"
[11:06] <LeoNerd> as in the past I've wasted lots of time and effort building patches that don't get accepted
[11:07] <jelmer> LeoNerd, that's a different issue
[11:07] <LeoNerd> Sure
[11:07] <jelmer> LeoNerd, bug 539996 is a different issue from what you were describing I mean
[11:07] <LeoNerd> But to the outsider it's never clear if a feature is missing intentionally, or simply because nobody happens to have got around to it yet
[11:07] <LeoNerd> That looks the same, no?
[11:07] <jelmer> LeoNerd: That's also another issue :)
[11:08] <spiv> LeoNerd: at least I didn't say "patches accepted" :P
[11:08] <jelmer> LeoNerd: you want "bzr push" to default to the *master* branch, which is different from the parent branch (which is the location a branch was "forked" from)
[11:08] <LeoNerd> .. oh.
[11:08] <LeoNerd> OK. I'll write another one
[11:09] <jelmer> LeoNerd, I'd be interested in talking about patches and discussion around them
[11:09] <spiv> LeoNerd: obviously it can be a good thing to discuss what you're doing with the people that will need to approve before sinking too much effort into it, to make sure you're not doing something that will never be taken
[11:10] <LeoNerd> spiv: Yes. I usually try
[11:10] <LeoNerd> Quite often nobody replies ever
[11:10] <spiv> LeoNerd: "patches welcome" was just meant to be a shorthand for that.  If you like, "feature suggestions and discussion about proposed patches also welcome."
[11:10] <LeoNerd> Nono..
[11:10] <spiv> Yeah, that's a tough problem.
[11:10] <LeoNerd> those are -massively- different
[11:10] <jelmer> LeoNerd, I've had similar issues in the past, but I think the process has improved significantly since
[11:10] <LeoNerd> I am quite happy to talk, discuss, rant, foam-at-the-mouth about the feature(s) I happen to want or the bugs or whatever..
[11:11] <spiv> If you invent a way to solve the finite amount of time developers have, well, we wouldn't need to ask for help with fixing bugs ;)
[11:11] <LeoNerd> But I pointblank-refuse to write a single line of code unless someone semiofficial at least vaguely hints at "we will consider a fix if you supply one"
[11:11] <spiv> Sure
[11:11] <spiv> I agree that's wise
[11:12] <spiv> And if at first you get silence, make more noise (if you want, giving up is also fine!).  Sometimes the right person is just really busy that week.
[11:12] <LeoNerd> Sometimes..
[11:13] <LeoNerd> Depends on the project.. I have features/bugs/etc.. outstanding in some places for -years- unreplied
[11:13] <spiv> I think bzr is increasingly defaulting to "well none of the core devs care strongly either way, so if you want to write that patch go ahead and we'll accept it (if it meets the quality requirements etc)"
[11:13] <spiv> Oh yes, me too.
[11:13] <spiv> It depends very much on the project.
[11:15] <spiv> Whether your bugs/posts languish or get responses is a fairly good indicator for how pleasant it will be for you to work with that community, I think.
[11:15] <LeoNerd> Heh...
[11:15] <LeoNerd> Doesn't fill me with confidence then.. :/
[11:16] <LeoNerd> But then some aren't quite my problem. I have a bug open on FreeBSD that's basically in a state of "I really don't care, but I can't support your platform until this is fixed"
[11:16] <fullermd> Things vary a lot there.
[11:17] <fullermd> I submit port updates a lot, and they rarely take more than a couple days.  And occasionally single-digit hours.
[11:17] <LeoNerd> This isn't a simple ports issue
[11:17] <fullermd> Meanwhile, I've got a 3-line manpage patch that's coming up on its 3rd birthday, without evidence of a glance.
[11:17] <LeoNerd> This is a "er.. your kernel API is lacking a feature"...
[11:17] <LeoNerd> I wrote a unit test and documentation and everything.. Just no -actual- implementation
[11:17] <LeoNerd> But I handwaved in vague terms how it should be doable
[11:19] <fullermd> Yes, but my point is that when the only things required is "patch ; cvs ci", the response time varies enormously (even before counting the random factors).
[11:19] <fullermd> Getting somebody interested enough to write the code is an even larger can  ;)
[11:21] <spiv> LeoNerd: that is a shame.  Not that long ago I had a perfectly good (and complete) patch sit around for months and months in a project bug tracker, despite promises it would be looked at "soon" or "in a couple of weeks" and it was deeply frustrating.
[11:22] <LeoNerd> Oh, I don't usually expect people to write code
[11:22] <LeoNerd> I'm quite happy to write it _after_ I have the vague commitment that they might acutally consider it
[11:23] <LeoNerd> I just dno't like that large upfront investment on such risky odds of return
[11:23] <LeoNerd> Its' basic economics :)
[11:23] <spiv> Yes, very sensible! :)
[11:24] <fullermd> I usually figure I might as well go for it.  If it just gets taken, I look smart.  If it languishes for years, eventually someone else will hit the problem, and I can point at the long-waiting solution and be all smug.
[11:24] <fullermd> Kinda win-win   :)
[11:24] <spiv> FWIW, the bzr team does try to be aware of these problems and fix them.  We've spent a bunch of effort making sure the patch review queue never grows too long, and that bugs aren't left as "new" indefinitely, etc.
[11:25] <spiv> LeoNerd: hmm, and although it's not explicitly written down, I think it's part of the Patch Pilot role (which rotates weekly) to be someone you can talk to get a "yes we'd be interested in that patch / no we wouldn't" indication for something you might want to write.
[11:26] <spiv> LeoNerd: it might be a good idea to make that fact explicit and visible :)
[11:26] <LeoNerd> fullermd: That only really works if the cost of writing the patch is small. I have a ~50line change to make to the core of the BSD kernel's kqueue handling. Kernel dev. requires a very large initial investment in setting up the dev. environment, virtual machnie, etc...
[11:26] <LeoNerd> Again economically, it's a large outlay of capital on a risky venture
[11:26] <spiv> LeoNerd: I'll ping poolie about that, thanks for prompting the idea.
[11:27] <LeoNerd> spiv: Hehe.. Oh; I'm not complaining about bzr specifically here; just open source in general. :) But if you guys can manage to be above-average, then great.
[11:27] <cheater> i'm still fairly annoyed at bzr not really working well when my internet access is faulty
[11:28] <cheater> i'll even get corruption
[11:28] <spiv> LeoNerd: yes, we'd like to be :)
[11:28] <cheater> or rather, the checkout goes into an unworkable state that's probably non-trivial to fix
[12:57] <cheater> is there a way to convert my checkout done with sftp:// to bzr+ssh:// ?
[12:57] <cheater> i really don't want to re-download half a gigabyte of stuff
[12:59] <exarkun> cheater: Do you have a shared repository?
[13:01] <LeoNerd> ?
[13:01] <LeoNerd> vim
[13:01] <LeoNerd> The checkout -data- is the same
[13:01] <LeoNerd> The URL used to access it is transient
[13:01] <LeoNerd> vim .bzr/branch/branch.conf  :%g/sftp/bzr+ssh/
[13:01] <LeoNerd> er..  :%s/
[13:02] <cheater> LeoNerd, is that really all?
[13:03] <cheater> i have noticed that, but i was wondering if there's any caveats
[13:03] <cheater> if it's this easy that's great
[13:03] <LeoNerd> I've done it loads of times
[13:03] <LeoNerd> Never broken anything for me
[13:03] <cheater> thank you
[13:04] <exarkun> I guess a way to do it without editing the config directly is 'bzr pull --remember newurl'
[13:05] <LeoNerd> Yah, but that only updates the pull location
[13:05] <fullermd> If you're talking a _checkout_, you want 'switch'.
[13:05] <LeoNerd> I often end up with three locations
[13:05] <LeoNerd> parent, pull, push
[13:05] <LeoNerd> .oO( because of that stupid bug )
[13:08] <cheater> yeah it's a checkout
[13:13] <cheater> would you say that bzr+ssh is more durable/robust than sftp?
[13:13] <cheater> it certainly seems *faster*
[13:16] <jelmer> cheater, it is faster, because the transport is not "dumb"
[13:17] <cheater> ok
[13:17] <jelmer> cheater, It should generally be as reliable as bzr+ssh
[13:18] <cheater> sftp you mean?
[13:18] <jelmer> yes
[13:19] <cheater> i'm having problems with the transport handling, e.g. if i ctrl-c out of a bzr update or commit i get runaway processes that keep spamming my console
[13:19] <jam> cheater: the only time I've seen an advantage with sftp was on a *very* low-powered CPU machine on a fast local network.
[13:19] <cheater> i'll see in the future whether bzr+ssh does the same
[13:19] <jam> cheater: can you describe/paste "spamming" ?
[13:21] <cheater> sure, i'll ctrl-c out when bzr is doing something, and then when i'm back in my shell i continuously get prompts for the password written out, and an information that the authentication failed (probably because the password doesn't get entered because there's nothing connected to the stdin)
[13:21] <cheater> i can't paste it right now but let me try to reproduce it
[13:22] <jam> and is that with bzr+ssh or sftp
[13:22] <cheater> it's with sftp. i have just started using bzr+ssh.
[13:22] <jam> I believe we tried to block ssh from receiving the ^C immediately, so that when connected, we can clean up more-cleanly
[13:22] <jam> (we try to unlock, etc, and if SSH has been terminated, we can't do any of that.)
[13:23] <cheater> sometimes when i ^C i get bzr: interrupted
[13:23] <cheater> it seems to be handling it well then
[13:24] <cheater> but sometimes i get a python trace with KeyboardInterrupt
[13:24] <cheater> aha, no it doesn't
[13:24] <cheater> i have just triggered it
[13:29] <cheater> let me test a bit more
[13:31] <cheater> ah yes, and it also messes up my terminal prompt
[13:32] <cheater> http://pastebin.com/0cmU0fhv
[13:32] <cheater> happens with both bzr+ssh and sftp
[13:33] <cheater> jam ^
[13:35] <jam> cheater: as mentioned above, we trap SIGINT to let the ssh subprocess die "gracefully" under certain circumstances
[13:35] <cheater> that's ok - it would be nice if you could make it not break my terminal though =)
[13:36] <jam> cheater: don't kill it before typing your password, and it won't spam your terminal :)
[13:37] <cheater> i want my money back :)
[13:39] <jam> cheater: use ssh keys instead of passwords
[13:39] <cheater> i know. can i have my $0 back though? ;-)
[13:48] <fullermd> I'm afraid your argv[0] has already been spent  :p
[13:53] <jam> jelmer: how are you submitting your branches? I see the 'commit message' change, and the branches in pqm, but it doesn't tell me that you are sending it to pqm. (which 'feed-pqm' does.)
[13:58] <jelmer> jam: I am actually using feed-pqm
[13:59] <jelmer> jam: ah, local changes from when I was hacking on hydrazine (I had the lp comment thing commented out)
[13:59] <jelmer> reverted now
[14:00] <jelmer> jam: thanks for those reviews
[14:42] <mwhudson> jelmer: hi?
[14:43] <jelmer> mwhudson: hey
[14:43] <jelmer> how's the sprint going?
[14:43] <mwhudson> jelmer: do you know what is required to implement imports of non-master git branches in lp?
[14:44] <mwhudson> jelmer: it
[14:44] <mwhudson> jelmer: it's going well, pretty intense
[14:44] <jelmer> mwhudson: I sent an email to the bazaar list about that two days ago
[14:44] <mwhudson> jelmer: ah ok
[14:44] <jelmer> mwhudson, https://lists.ubuntu.com/archives/bazaar/2011q3/073304.html
[14:44]  * mwhudson hasn't been reading email
[14:44]  * mwhudson reads
[14:46] <mwhudson> jelmer: ah ok, so it's actively in progress then?
[14:49] <jelmer> mwhudson, yup
[14:49] <mwhudson> jelmer: great
[14:49] <jelmer> mwhudson, though help is of course always welcome
[14:49] <mwhudson> jelmer: any idea of an eta?  a few weeks?
[14:49] <mwhudson> jelmer: heh, well...
[14:49] <mwhudson> (linaro cares about this though, so there is a slight possibility of help...)
[14:51] <jelmer> mwhudson: Presumably a few weeks, but there are probably a few too many things I have in progress at this point
[14:51] <mwhudson> ah ok
[14:51] <jelmer> mwhudson: It's good to know this is important for linaro, that helps when deciding what to finish next.
[14:52] <mwhudson> cool
[14:52] <mwhudson> i'll keep on asking then :)
[15:38] <jml> mgz: \o/
[15:39]  * mgz is just commenting on unprintable-assertThat-804127
[15:39] <jml> mgz: cool, thanks.
[15:50] <jml> mgz: I've reviewed your patch.
[15:50] <jml> just one question.
[15:58] <mgz> jml: answered, and nearly done on review.
[21:34] <hexsprite> new to bzr, is common for bar diff on lightweight branch to consume 1meg on a medium size repo for each time i run it with no caching etc?
[21:34] <hexsprite> s/bar/bzr/
[21:34] <hexsprite> downloads 1meg that is from remote
[21:39] <jimis> if the branch is lightweight, it always fetches from remote
[21:39] <fullermd> Lightweight checkout, you mean?  Yes, it's always gotta transfer stuff down.
[21:40] <fullermd> Really, on anything but local disk or a rather fast LAN, lightweight checkouts are usually not gonna be a great idea.
[21:45] <jimis> hexsprite: latest releases (2.4 for sure, not sure about 2.3) have fixed some bugs that download much less data in some cases
[21:45] <jimis> maybe you want to check them out
[21:46] <hexsprite> ahh this machine is ubuntu 10.4… ancient ;)
[21:46] <jimis> but still nothing is cached when it's lightweight
[22:33] <jimis> How do I commit specific changes in a branch different than the one I'm on (i.e. without doing bzr switch)?
[22:39] <RenatoSilva> how do I commit without any message
[22:40] <jimis> RenatoSilva: did you try bzr commit -m ""?
[22:41] <RenatoSilva> jimis: nham, that's boring :P I want to be cool :P
[22:42] <RenatoSilva> jimis: even if I have to bzr commit --type-much-more-huh. Now serious, I just think that there is indeed and option rather that yours
[22:43] <RenatoSilva> jimis: *an option, maybe I'm not recalling correctly
[23:01] <fullermd> jimis: merge --uncommitted ?
[23:09] <jimis> fullermd: nice one. But from all changes I need to pick 2 files
[23:10] <fullermd> merge --uncommitted /this/file ?  :p
[23:11] <jimis> hmmm I thought that "bzr merge" took a branch location as argument...
[23:11] <jimis> and based on the help I assumed it would be the branch to commit *to*
[23:12] <jimis> fullermd: so how would I write the command, to commit uncommitted changes of file F to branch B?
[23:20] <fullermd> You can point it directly at a file in the branch as well.
[23:20] <fullermd> (alternate answers; merge then revert everything else.  Or, shelve all but the files you want, then merge.  Or, commit just those files, branch from that, then uncommit that.  Or...)
[23:25] <jimis> thanks fullermd
[23:25] <jimis> what I did:
[23:25] <jimis> bzr switch B   (I didn't know this would preserve uncommitted changes)
[23:25] <jimis> bzr commit F1 F2
[23:26] <jimis> bzr switch A   (switch back)
[23:27] <jimis> (now only the rest of the changes are there)
[23:32] <fullermd> Oh, yes.  That works too.  I presumed you had individual branches.