[00:23] <spiv> hbeck: yes, checkout and update would do just fine
[00:23] <spiv> hbeck: the other approach that springs to mind is the bzr-upload plugin, if the 'download' directory isn't local it may be more suitable
[00:26] <hbeck> spiv: download is local. I'm trying to understand the difference (in the case of a checkout) between update and pull
[00:30] <spiv> hbeck: if you haven't made any commits locally, then none.
[00:32] <hbeck> spiv: so bzr pull $MASTER == bzr update (in that case, no local commits)
[00:37] <spiv> Oh, actually, the other difference is that 'pull' brings a branch up to date with another branch (the parent branch by default), whereas 'update' just brings your working tree up to date with the checkout's master branch.
[00:38]  * spiv should go get a coffee
[00:38] <hbeck> so pull is both read/write?
[00:38] <hbeck> read (to local) and write (to master)
[00:38] <hbeck> probably bad terminology
[00:38] <spiv> Yes, bad terminology :)
[00:39] <spiv> As the help says, “Turn this branch into a mirror of another branch.”  For a checkout, “this” branch is the one you have checked out.
[00:41] <hbeck> parent vs master is confusing
[00:41] <spiv> (if you look at the 'bzr info' output, it'll say “checkout of branch”)
[00:43] <spiv> Parent is, by default, where someone “bzr branch”ed from.  And the parent is used as the default location for pull and merge IIRC.
[00:44] <bignose> after ‘bzr merge’, I can use ‘bzr status -v’ to see the summary lines of all merged revisions.
[00:45] <spiv> When people say master in bzr they mean the branch you made a “bzr checkout” of.
[00:45] <bignose> how can I see the equivalent of ‘bzr log’ or ‘bzr log -v’ on those revisions?
[00:45] <bignose> in other words, the full commit message, and optionally the list of file changes.
[00:46] <bignose> alternatively, is there an option for ‘bzr commit’ that will let me work from the commit messages of all pending merged revisions?
[00:46] <bignose> so I can summarise them in the commit message for the merge.
[00:48] <spiv> bignose: I'm not sure of a good builtin way.  'bzr qlog' from qbzr happily shows you those revisions, but I don't think 'bzr viz' from bzr-gtk does.
[00:50] <spiv> The easiest way possibly is to commit; then look at the log; then uncommit and then do the commit properly :/
[00:52] <spiv> A crude way would be to do 'head -4 .bzr/checkout/dirstate | tail -1 | cat -v', then take the second revid on that line, and run 'bzr log -v r-1..$that_revid'
[00:54] <lifeless> jelmer: lp:~jelmer/bzr/standard-annotate-interface has renamed file '.bzrignore' => '.bzrignore.moved in it
[00:59] <hbeck> another newbie question: what happens if you bzr update to a rev earlier than what your local checkout is at?
[01:02] <spiv> bignose: as a one-line hack: bzr log -r -1..`head -4 .bzr/checkout/dirstate | tail -1 | xargs -n1 -0 echo 2> /dev/null | head -3 | tail -1`
[01:03] <spiv> We really ought to provide a revisionspec for this stuff.  “pendingmerge” I guess.
[01:04] <spiv> hbeck: it will "update" the working tree to that earlier rev (if you have a reasonably current version of bzr)
[01:05] <hbeck> spiv: would that be the same as pull -r rev# --overwrite ?
[01:09] <spiv> No, pull would modify the branch as well as your checkout of the branch.
[01:10] <hbeck> ack, so that would be very bad, in the case of having some master repo and I just wanted to go back to an older rev to build - pull would in effect revert the repo?
[01:10] <spiv> Yes.
[01:12] <spiv> (Terminology note: we'd say “branch” there, not “repo”.  We have repositories, but they are basically just containers for revisions, optionally shared between branches.  It's branches that keep track of what the current revision is.)
[01:13] <hbeck> noted :)
[01:20] <hbeck> spiv: given that behavior of pull, I'm a bit confused as to its intended utility?  "a mirror of another branch" suggests that only the "this" branch would be changed
[01:29] <spiv> hbeck: yes, that's right.  I'm not sure where the confusion is?
[01:29] <fullermd> pull modifies the destination, not the source (complement of push)
[01:30] <spiv> hbeck: typically you'd use it like "bzr branch URL my-mirror-of-URL", then later "cd my-mirror-of-URL; bzr pull" to keep that mirror up to date.
[01:31] <spiv> hbeck: e.g. if you are frequently working with the trunk of some project hosted on the internet you'll probably prefer to have a local copy of that trunk to work with, for speed.  Pull keeps that copy current.
[01:31] <hbeck> ok, I thought you said that if I did "cd my-mirror; bzr pull -r oldrev --overwrite" that it would move both my-mirror and the URL itself back to oldrev
[01:32] <fullermd> I think he was talking about doing pull from a checkout (in which case there's only 1 branch to influence)
[01:32] <spiv> If my-mirror is a *checkout*, rather than a branch
[01:32] <spiv> Then the branch pull modifies is the checkout's branch.
[01:33] <hbeck> ah. AH.
[01:33] <hbeck> lightbulb
[01:35] <hbeck> so... "bzr co URL dldir; cd dldir; bzr pull -r oldrev --overwrite" changes the branch (in the checkout) in dldir but not out in URL-land.
[01:36] <hbeck> do I have that right finally?
[01:36] <fullermd> Other way around.
[01:36] <fullermd> (and you may need another arg on the pull, but that's irrelevant really)
[01:36] <fullermd> Think of it this way; you have a branch 'master' (probably bzr+ssh://something or the like)
[01:36] <fullermd> You want to work locally in 'mywork'.
[01:36] <fullermd> You can:
[01:37] <fullermd> 1) bzr branch master mywork
[01:37] <fullermd> Now you have two branches; the existing 'master', and the new 'mywork' based on [the current state of] master.
[01:37] <fullermd> You use 'bzr pull' in mywork to drag in new stuff from master (assuming you're not adding new revs locally of course)
[01:37] <fullermd> or,
[01:37] <fullermd> 2) bzr co master mywork
[01:38] <fullermd> Now you still only have _one_ branch; 'master'.  'mywork' isn't a branch, it's just a new working tree on the existing 'master' branch.
[01:38] <fullermd> You'd use 'update' to "catch up" the tree when 'master' moves ahead.
[01:38] <fullermd> 'pull' is for copying revs from one branch to another.  'update' is for catching up the working tree to its branch.
[01:39] <fullermd> (of course, both can be used with '-r' to go backward instead of forward, but that doesn't change the basic difference; pull is for updating branches, update is for updating working trees)
[01:40] <fullermd> If you ran 'bzr up' in mywork in case (1), you'd be updating the 'mywork' working tree to match its branch, which is also 'mywork'; it contains both in that case.  So it's usually going to be unnecessary, since you're not going to 'move' the branch forward or backward other than by going through the tree already.
[01:41] <fullermd> IF you run 'bzr pull' in mywork in case (2), you'd be asking bzr to update the branch 'master' (that being the only branch existing) to match its parent, wherever that may (or may not) be.
[01:41]  * fullermd wanders off into further confusing details...
[01:41] <hbeck> chewing on that...
[01:43] <hbeck> I am working with a build system, it has a fetcher that will grab stuff using bzr. Currently it is written to do this:
[01:43] <hbeck> 1) does the thing to fetch already exist? if no, checkout
[01:44] <hbeck> if yes, pull --overwrite
[01:44] <hbeck> with a revision specified by a recipe in the build system
[01:44] <hbeck> which could be behind the current rev of the 'master' branch location
[01:45] <hbeck> this stuff that is fetched is not a work area, it is just to download and build from
[01:45] <hbeck> so it seems like checkout/update is appropriate.
[01:45] <hbeck> ?
[01:46] <fullermd> I'd probably tend to use branch/pull.  But in this case it's probably 6.5 of one, half a baker's dozen of the other.
[01:47] <fullermd> But doing checkout/pull is certainly not what you want   :)
[01:47] <hbeck> why? (for my own edification in all these confusing details)
[01:47] <hbeck> to the branch/pull tendency
[01:48] <fullermd> Well, I generally only go to 'checkout' when I intend to work on and commit stuff directly to 'master'.
[01:48] <fullermd> I use 'branch' for readonly/reference/etc copies.
[01:48] <fullermd> To some extent, that's just mental philosophy.
[01:48] <fullermd> OTOH, it does give you a little extra safety, since your mywork is nearly completely decoupled from master.
[01:49] <fullermd> If you accidentally pull or commit or whatever in it, it doesn't do anything to master.
[01:49] <fullermd> You'd have to actually explicitly do something like push.  Whereas with the checkout (assuming you can write to master), commits or pulls or the like will end up doing stuff to master.
[01:51] <hbeck> ok, that last bit is where I'm confused (pull doing stuff to master, referring to master being the 'master' branch location and mywork being a checkout)
[01:51] <hbeck> if I did bzr co master mywork
[01:51] <fullermd> I think calling it the "master branch" in reference to a checkout is just confusing.  It's just the _branch_.
[01:52] <fullermd> There's only one, so anything that writes stuff to a branch (like pull, or commit) writes it there, because that's the only branch there is.
[01:53] <hbeck> bzr pull -r oldrev --overwrite master  (from mywork dir)
[01:53] <hbeck> that moves mywork back to oldrev
[01:53] <hbeck> and the master (off on some other machine) is not changed
[01:54] <fullermd> That moves the _branch_ for mywork back to oldrev.
[01:54] <fullermd> If you did 'bzr branch master mywork', then mywork is its own branch, and master is unchanged.
[01:54] <fullermd> If you did 'bzr co master mywork', then mywork is _not_ its own branch, it's just a working tree on master.  So the branch you're changing is master.
[01:54]  * hbeck head explodes
[01:54]  * fullermd grabs some duct tape.
[01:55] <hbeck> while we've been talking, i tried this.
[01:55] <hbeck> bzr co master mywork
[01:55] <spiv> hbeck: the really short version is: "if you have a checkout, use update.  If you have a branch, use pull."
[01:56] <hbeck> bzr pull -r oldrev --overwrite  (which fails due to lack of pull location)
[01:56] <hbeck> so then I did bzr pull -r oldrev --overwrite master
[01:57] <hbeck> which worked exactly like I thought bzr update -r oldrev should
[01:57] <hbeck> and our server-hosted stuff is happy and safe
[01:57] <spiv> hbeck: 'bzr log -d master' will now show that master is at oldrev too.  Is that what you want?
[01:58] <hbeck> negative spiv, I went over to the master location and it's still at the current rev
[01:59] <fullermd> That would be one of those 'bound-branch-screwing-things-up" bugs...
[01:59] <spiv> fullermd: yeah
[02:00]  * fullermd clears his throat to do that grumble-dance again.
[02:00] <spiv> hbeck: well, it appears it does work, but personally I find that confusing :)
[02:01] <hbeck> yeah
[02:01] <hbeck> it is
[02:01] <hbeck> extremely
[02:01] <fullermd> Anyway.  You shouldn't rely on that, because it's a bug/wart/implementational-detail that may (will, hopefully) change.  You'll see different behavior if you used a lightweight checkout, for instance.
[02:01] <spiv> hbeck: and unlike "bzr update -r oldrev", it will give different results on a checkout made with "bzr co --lightweight"
[02:01] <hbeck> I'm going to submit a patch to this fetcher thing to use update
[02:03] <hbeck> appreciate the help :)  sorry for being dense, heh
[02:08] <spiv> hbeck: that's ok, this corner of bzr is unnecessarily confusing :(
[03:24] <AuroraBorealis> For some reason i can't access my repository on my ftp server using bazaar explorer anymore, i have to use the command line, anyone have any idea whats going on? :<
[05:16] <bignose> I'm a little confused by the earlier conversation on checkouts and branches.
[05:17] <bignose> I am such an old Bazaar user that “checkout” is what the new world order names “bound branch”.
[05:17] <bignose> what's the current state of play? are checkouts not good? are bound branches not good? are plaid pants not good?
[05:18] <fullermd> Plaid pants are totally not good.  Even I know that.
[05:18] <fullermd> Of course, I'm not overly pro-pants in general, so I'm not the best source...
[07:08] <vila> hi all !
[07:10] <fullermd> Again?  You just said that yesterday...
[07:11] <vila> yeah, any idea about different punch lines ? I grow tired of repeating myself ;)
[07:11] <fullermd> "So I said, 'Horse?  That looks more like a peanut to me!'"
[07:20] <spm> you could try RPN? ! all hi<pop-all>
[07:27] <vila> spm: I like that !
[07:28] <vila> fullermd: s/Horse/Goat/ ?
[07:29] <fullermd> I dunno.  I guess it depends on the joke you put before it.  That's your part; I just supply the punchline   :p
[07:31] <vila> well, you used to supply the goats too...
[07:31] <fullermd> Oh, now you're just trying to get my goat.
[07:31] <vila> only one left ?!?!?
[07:35] <bignose> fullermd: you were the one with strong opinions re. checkout, bound branch, etc.
[07:36]  * vila ducks
[07:36] <bignose> so why should I use one or the other or both or neither or 1.5-of-the-way
[07:36] <fullermd> Oh, I've got strong opinions on all sorts of things.  That's why people avoid me   :)
[07:37]  * bignose is much happier now having configured Emacs ‘diff-mode’ colours properly
[07:37] <fullermd> Well, I'm not the one to ask about bound branches, as I'm not overly interested in them.  I'm not anti-them, just don't fit anything I need doing.
[07:37] <bignose> what imbecile thought that having the same colour for added and removed lines was a good idea
[07:37] <fullermd> My periodic gripe is that there are conceptually "bound branches" and "checkouts", and bzr implements one thing that's part one and part the other, advertising it as botrh.
[07:38] <vila> bignose: ? That doesn't match my experience and I don't remember having changed anything there...
[07:38] <fullermd> And both, too.  The 'r' is silent.
[07:38] <spiv> fullermd: and invisible..
[07:39] <bignose> vila: ‘diff-mode’ has faces for added lines and removed lines; they both inherit from the “changed lines” face.
[07:39] <bignose> which is yellow.
[07:40] <vila> bignose: weird, deleted lines are red and added lines are blue here..
[07:40] <bignose> well, they are now for me, but I had to change it from Debian's Emacs defaults :-)
[07:40] <bignose> (deleted lines red, added lines green)
[07:40] <bignose> (now for me)
[07:40] <bignose> (in parentheses)
[07:41] <vila> oh crap, lost connection to my secondary desktop :-(
[07:41] <vila> bignose: ha. hunk separators are green here
[07:42] <fullermd> It's not lost connection, it's just locked up for a few minutes while it tries to swap emacs in   ;p
[07:42] <vila> bignose: oh, I *did* change that ;)
[07:42] <vila> ;;; Set more shiny faces for diff-mode
[07:42] <vila> (custom-set-faces
[07:42] <vila>  '(diff-hunk-header ((t (:foreground "#007700"))) t)
[07:44]  * vila frowns at natty :-/
[07:51] <vila> pfew, thanks firefox for restoring my not-yet-saved review comments... I have no idea those could survive a reboot...
[07:51] <vila> hmm, I had, now I know
[07:53] <fullermd> Well, you just save 'em off into a file...
[07:54] <vila> ha right, I always forgot my time machine
[07:57] <fullermd> You use ViewSourceWith so you can use $EDITOR on textboxen, then you can just recover the temp file.
[07:57] <fullermd> Well, unless you put it on a swap-backed /tmp like I do...
[07:59]  * vila blinks... and seriously considers resurrecting the emacs-client setup task from the TODO graveyard 
[07:59]  * fullermd . o O ( easier to just set it up to use gvim... )
[07:59] <bignose> .oO( for some values of “easier” )
[08:05] <vila> . o O (There are two editors: emacs and ed. The later and a working internet connection are enough to setup the former and even there the later may not be needed ;)
[08:07] <fullermd> And dd/sh is the One True programming language   ;p
[08:07] <vila> :)
[08:12] <vila> spiv: do you know in which ubuntu package one may find the python test suite ?
[08:13] <bignose> vila: it's not in the Python source code package?
[08:13] <bignose> I wouldn't expect the Python test suite to be in any binary package, if that's what you're expecting.
[08:13] <vila> bignose: it probably is but this won't make it available with a simple 'import' no ?
[08:14] <bignose> vila: well, the Python test suite isn't something available with a simple ‘import’.
[08:14] <bignose> I don't think so, anyway.
[08:14] <vila> crap
[08:14] <bignose> since Python is not itself implemented wholly in Python
[08:15] <bignose> or rather, the ‘python’ packages are CPython, which is implemented mostly in C.
[08:15] <vila> well, I'm reviewing a proposal where a module from the test suite is used as a basis so it's a compelling reason to make it available
[08:16] <bignose> by “as a basis” we might not understand the same thing.
[08:16] <bignose> vila: are you referring to a subclass?
[08:16] <bignose> because “as a basis” doesn't imply that.
[08:17] <vila> right, sorry for my broken english, have a look at https://code.launchpad.net/~songofacandy/bzr/i18n-utextwrap/+merge/59950
[08:17] <vila> at the end of 'bzrlib/tests/test_utextwrap.py'
[08:18] <vila> I've never seen such use and wanted to look at it with a working setup, hence the need to have the import succeeds
[08:18] <bignose> vila: okay. I think you're referring to the test suite for the Python standard library
[08:18] <bignose> which is mostly implemented in Python, and AFAIK the test suite for the standard library is also implemented in Python
[08:18] <bignose> and hence importable
[08:19] <bignose> vila: the package might be ‘python-dev’, but that's just a guess
[08:19] <vila> yup, I'm after tests.test_textwrap precisely
[08:19] <vila> already installed
[08:20] <lifeless> I'm 99% sure the stdlib test are not installed
[08:20] <bignose> I would not expect any binary package to make the standard library's own test suite available for import.
[08:20] <vila> hehe, I don't mind if the package is called xxx-test-suite ;)
[08:22] <spiv> vila: I don't think Python's test suite is packaged
[08:22] <spiv> vila: the test.regrtest module is packaged, but none of the individual test modules AFAICS
[08:22] <vila> right, I'll live with that and will just put the module in my private setup for... testing :)
[09:37] <bialix> vila: for you: https://bugs.launchpad.net/bzr/+bug/777650
[09:37] <bialix> bonjour vila
[09:38] <vila> bialix: great, thanks !
[09:38] <bialix> vila: it seems the old behavior I remember is now changed
[09:39] <bialix> now selftest does not clear correctly progress messages at all
[09:39] <bialix> when redirected
[09:39] <bialix> I wonder if it related to testtools
[09:40] <vila> It seems related to a bad terminal detection, I don't think testtools is involved.... or is it ?
[09:41] <vila> bialix: what happens if you force values in osutils._win32_terminal_size ?
[09:42] <bialix> it's not very easy
[09:43] <bialix> so it possible but not right now, sorry
[09:43] <bialix> this bug is not critical for me
[09:43] <bialix> a bit annoying but I have enough mental force to not cry
[09:44] <fullermd> Darn.  I'll have to come up with an even more inventive means of torture now...
[09:44] <vila> try adding comments in this bug for the various different cases your observe then
[09:44] <bialix> ok
[09:45] <bialix> o, hi fullermd
[09:45] <bialix> have you asked for qdiff to remember unidiff knob?
[09:46] <fullermd> I think I did $YEARS ago...
[09:47] <bialix> how's bad, I've just thought about fixing that
[09:48] <fullermd> Well, so you just read my mind very slowly   ;)
[09:48] <fullermd> 's probably for the best anyway.  If you read it quickly, you'd probably run away screaming.
[09:48] <bialix> yep
[09:49] <bialix> are you using qdiff or qbzr in general?
[09:49] <fullermd> Not with any regularity.  And mostly recreationally when I do.
[09:50] <bialix> damn, and we don't have blackjack inside yet
[09:50] <fullermd> I'm waiting on Solitaire.  Red 1604.2.37 on the black 1605.
[09:55] <bialix> ghaaaa! that's so cool idea!
[09:56] <fullermd> It's a new UI for rebase   8-}
[09:56] <bialix> :-D
[09:59] <vila> . o O (UI for rebase and other history tweaks....)
[10:00] <vila> . o O (drag: pull, merge, etc...)
[12:33] <maxb> Does anyone know if there is an open bug for bzr's algorithm for figuring out which revisions to fetch being fairly dire?
[12:34] <maxb> As an example, try bzr branching gcc-linaro into an empty shared repository. It spent >2MB of data transfer trying to figure out what revisions were missing ("all of them") before I gave up
[12:36] <vila> maxb: not sure if a bug is filed for it, but branching into an empty shared repository disable the shortcut used when branching otherwise (branching as in: I want all the revisions)
[12:37] <vila> maxb: the "workaround" is to create a standalone branch and *then* reconfigure it to use a shared repo so that all the queries are local instead of across the network
[12:37] <maxb> I think we could learn from mercurial here. Their network protocol for figuring this out seemed rather well designed when I read its developer docs
[12:44] <spiv> maxb: there's an open bug for that.
[12:44] <maxb> I figured there would be, I'm just having trouble phrasing a suitable search :-/
[12:45] <spiv> maxb: https://bugs.launchpad.net/bzr/+bug/388269
[12:45] <maxb> thanks :-)
[12:47] <spiv> maxb: one limitation is that calculating the heads for a repo is not a cheap operation for us
[12:49] <spiv> maxb: I think we could relatively easily make that cheap (it would involve having the repo on-disk format track the list of heads), although that's only part of the problem.
[12:50] <spiv> Another is that we probably should be doing exponential walking backwards, rather than the fixed number of steps we do now
[12:51] <spiv> There's also some potentially clever stuff we could do by using bloom filters rather than sending long strings of revision ids on the wire, although that's more about keeping individual roundtrips small than reducing roundtrips
[12:51] <spiv> (But if a single roundtrip can do more work then that obviously helps us reduce roundtrips)
[12:52] <spiv> The approach I see described on the hg wiki seems pretty much in line with ideas we've previously discussed.  Care to help us implement them? :)
[12:53] <maxb> Definitely interested, though I need to learn a bit more about the existing internals first.
[12:54] <maxb> Bazaar's rather profligate use of bandwidth is a sore point when trying to tempt hg and git users, I think
[12:54] <spiv> Well, if it's profligate use of bandwidth you want to fix, those are different buts ;)
[12:54] <spiv> *bugs
[12:55] <spiv> This one is excessive network round trips :)
[12:55] <spiv> (Which tends to suggest more bytes are being exchanged than strictly necessary too, but to a much lesser degree)
[13:45] <spiv> jam: I've got a crude hack for 'bzr branch --stacked REMOTE local' that fetches inv and text data that'll be needed to build the working tree at lp:~spiv/bzr/faster-stacked-tree-build
[13:46] <spiv> jam: it's in an extremely ugly state but for one branch it cuts the roundtrips from 151 to 85, and the bytes transferred from 38.6M to 13.5M
[13:47] <spiv> jam: but it takes 6.9s rather than 3.1s; I guess it's the extra time to write and validate all the extra data into the local repo that we'd otherwise discard
[13:48] <spiv> jam: it looks like making get_stream_for_missing keys is the main remaining source of VFS calls, fixing that would probably trim the roundtrips and bandwidth even further.
[13:48]  * spiv -> zzz
[13:59] <mgz> okay, what else needs following up on...
[14:09] <jam> spiv: how REMOTE is remote in that case?
[14:11] <mgz> he's abed.
[14:13] <mgz> vila's back now right? I wanted to bother him about some config bugs.
[14:13] <vila> yup
[14:13] <vila> shoot
[14:13] <vila> mgz: and I'm landing export-tt without eith
[14:14] <mgz> gotcha.
[14:14] <mgz> so, currently bzrlib.config has three entry points for ConfigObj()
[14:15] <mgz> one of which doesn't try/except, hence bug 502060
[14:15] <mgz> also bug 688677 would need fixing in three places
[14:15] <vila> what do you call an entry point ?
[14:15] <mgz> is the idea with lp:~vila/bzr/config-abstract-store that the _load_from_string method will then be the only place?
[14:16] <vila> mgz: yes
[14:16] <mgz> okay, so I may as well leave those bugs till you've landed
[14:16] <vila> mgz: but this isn't used so far
[14:16] <mgz> otherwise we'll just conflict
[14:17] <mgz> yeah, I didn't see any of your bits *removing* code.
[14:17] <mgz> so, when you do, you'll fix the first of those bugs as a side effect, probably want a test for it.
[14:18] <mgz> and the second one will be easy, just need an except UnicodeDecodeError clause.
[14:18] <vila> huh, while would I fix the first one ?
[14:20] <vila> anyway, there are tagged with 'config' so I'll probably won't miss them
[14:20] <mgz> because if the code for TransportConfig._get_configobj goes through your method, it'll start catching ParseError
[14:21] <vila> ha right
[14:21] <mgz> they both seem tagged appropriately
[14:22] <vila> yes, sorry, that what I meant, I checked
[14:23] <mgz> ...my flakey internet at the moment really screws up bzr and launchpad http access
[14:23] <vila> jam, mgz: so what are we up with lp:~gz/bzr/test_traceback_compat_656170 ⇒ lp:bzr ?
[14:23] <jam> vila: failing for seemingly unrelated issues, IIRC
[14:23] <mgz> I was just going to try and send it again to get the pqm output myself
[14:23] <mgz> but hydrazine's hung
[14:24]  * mgz hits ctrl+c and waits a few minutes for the timeout
[14:29] <vila> mgz: when did you use hydrazine last ? I had to clear my cache and re-authorize after upgrading to natty...
[14:29] <vila> mgz: and launchpadlib has been upgraded too
[14:29] <mgz> it's just my connection's sucky during the day lately I think, randomly fails to establish tcp connections
[14:30] <vila> k k , just mentioning
[14:30] <mgz> I'll pull launchpadlib too and see.
[14:33] <mgz> http://paste.ubuntu.com/603717/ <- eg. Worked on the next try though.
[14:35] <vila> weird
[14:38] <jelmer> hmm
[14:38] <poolie> hi vila, jam, jelmer
[14:38] <jelmer> hey poolie, how's Budapest?
[14:38] <jam> hi poolie, enjoying Budapest?
[14:40] <jelmer> It looks like IDS refuses to work with non-local repositories
[14:40] <jelmer> yet, Inter.get defaults to returning "InterRepository" if it can't find any alternatives, and that uses RepoFetcher
[14:41] <jelmer> which seems to assume data has the same model, etc.
[14:46] <mgz> I'll look at Naoki's text wrapper branch later when I can actually fetch it
[14:46] <vila> mgz: that would be awesome !
[14:49] <poolie> hi, am i back?
[14:49] <poolie> it is good
[14:49] <vila> no
[14:49] <vila> :)
[14:51] <poolie> vila, so you merged all your config code?
[14:52] <poolie> that's great
[14:52] <vila> poolie: almost yes, I'm piloting right now but will resubmit the concrete-stacks one for re-review before starting on new stuff
[14:53] <vila> the review queue is almost back to a manageable size
[14:53] <poolie> mm still pretty hefty though
[14:54] <jam> jelmer: InterRepo doesn't assume same models, does want to use InventoryDeltas if it can.
[14:54] <jam> otherwise I think it falls all the way back to new.serialize(old.deserialize(content))
[14:54] <jam> IDS doesn't do remote per other people's request.
[14:54] <vila> poolie: yeah, but according to http://webnumbr.com/bzr-active-reviews were on the right track ;)
[14:54] <jam> (and if we have decent inventory deltas, it should be ok)
[14:56] <jelmer> jam: do sinks deserialize/reserialize?
[14:58] <jelmer> jam: as far as I can tell RepoFetcher doesn't do any sort of translation; it's also used exactly the same way by InterSameDataRepository
[14:59] <jelmer> it seems strange that InterRepository is the default while InterSameDataRepository is basically InterRepository with an is_compatible method and is separately registered
[15:04]  * jelmer if this also be why it is possible to fetch from a subtree format into a non-subtree format
[15:13] <maxb> In the bzr beta PPA for hardy:
[15:13] <maxb> ERROR: bzrlib.tests.commands.test_commit.TestCommitWithBoundBranch.test_commit_both_modified
[15:13] <maxb>  NotImplementedError: <bound method SilentUIFactory.get_password of SilentUIFactory()>
[15:14] <maxb> Does that mean anything immediate to anyone?
[15:14] <jelmer> mab: it looks vaguely familiar, but I don't recall what the exact issue was
[15:15] <poolie> hi maxb,
[15:15] <poolie> it is familiar
[15:15] <vila> maxb: rings a bell
[15:15] <poolie> i think it's a lack of isolation from the test environment
[15:15] <poolie> is that on trunk?
[15:16] <maxb> Yes (2.4b2)
[15:16] <vila> maxb: running tests in parallel ?
[15:16] <maxb> *gha!*
[15:16] <maxb> yes
[15:16] <maxb> hmm
[15:16] <maxb> but on random ports
[15:17] <vila> that gives more weight to the test isolation issue
[15:21] <poolie> jelmer,  ams_cs was saying on the linaro list he found rebase really slow
[15:21] <poolie> ... what should we do?
[15:23] <jelmer> that seems likely, it's O(tree) at the moment and it uses a workingtree for its operations rather than e.g. a memory tree
[15:24] <jelmer> I don't have a silver bullet, although I do have some plans on how to fix rewrite
[15:24] <jelmer> I can spend some time on that if you like
[15:25] <poolie> mm
[15:25] <poolie> it would be useful to improve but it's probably not top of the stack at the moment
[15:25] <jelmer> poolie: btw, do you know if any of the Linaro folks we've been talking to are going to be at UDS?
[15:25] <poolie> if it was surprising, or if you thought it would be easy to fix i could get more data
[15:25] <poolie> michael hope is here now
[15:26] <poolie> i would guess he's here next week too
[15:26] <poolie> and jamse
[15:26] <poolie> *james
[15:27] <poolie> it's this thread http://lists.linaro.org/pipermail/linaro-toolchain/2011-May/001196.html
[15:39] <poolie> jelmer, i think we should have at least a bug for rebase performance so people can vote for it
[15:41] <jelmer> poolie: that's a good idea
[15:53] <poolie> vila thanks for the prod on my rules branche
[15:53] <poolie> on the whole i think i'll just land it with the curren name
[15:53] <vila> poolie: yeah, and keep working on it to fix the related bug ?
[15:53] <poolie> indeed
[15:54] <vila> that gives a better history in the end while making the intermediate reviews easier
[15:54] <poolie> maybe not this week though
[15:54] <vila> np
[16:00] <poolie> oh also, vila, consider yourself prodded to send a pp mail at the end of the week
[16:01] <vila> poolie: hehe, yeah, sounds like an habit we should all take ;)
[16:01] <poolie> indeed
[16:01] <poolie> i think i sent one last time i piloted
[16:01] <poolie> sometimes the Ubuntu pp reports worry me that they are so long
[16:02] <poolie> it seems like a lot of overhead for one day's work (in their case)
[16:02] <poolie> but for us i think a short report is good
[16:02] <poolie> it reminds us we're doing it
[16:02] <vila> yeah, I read them searching for ideas to pick
[16:02] <vila> but their context is too different so far
[16:17] <mgz> cute launchpad bug. I can edit a bug's priority if it's on a project I have rights to and move it to one I don't at the same time.
[16:25] <poolie> haha
[16:25] <poolie> presumably this means you can edit anything
[16:26] <vila> mgz: go ahead, fix bug #1
[16:28] <io2> hi; can bzr merge unrelated branches alla git ?
[16:28] <jelmer> io2: yes, though you have to force it to do so
[16:28] <jelmer> io2: "bzr merge -r0..-1 ../unrelated-branch"
[16:29] <io2> oh
[16:30] <io2> thanks jelmer
[16:31] <io2> jelmer: i thought that http://zakalwe.fi/~shd/articles/why_not_bazaar.html was still valid tbh
[16:34] <jelmer> io2: that's a very biased document
[16:34] <io2> indeed
[16:34] <io2> trying to find out a cross platform dvcs that works well right now
[16:44] <quicksilver> s/biased/inaccurate/
[16:47] <mgz> "We accept social misanthropes, perfectly normal people with 2.5 kids, a dog and soccer practice on Sundays."
[16:47] <mgz> I get the bit about accepting the dog, after all on the internet no one cares if you're a dog... but can soccer practice on Sundays really format a patch correctly?
[16:48]  * jelmer has religious problems with both
[16:48] <io2> guys, wanna help me get from git to bzr ?
[16:49] <io2> I like the ui tools and launchpad :P
[16:49] <mgz> yes, particularly if you say that in a NZ accent.
[16:49] <mgz> http://doc.bazaar.canonical.com/migration/en/survival/bzr-for-git-users.html
[16:50] <io2> lol
[16:50] <io2> how fast is bzr these days btw ?
[16:52] <mgz> still slow on kernel-sized things for some operations, but pretty good for most projects.
[16:56] <mgz> I tend to get most annoyed by the time it takes Qt to page in rather than anything bzr does, to give you an idea of the kind of delays I normally run into.
[16:57] <io2> hmm
[17:36] <mgz> oh man, pqm looks totally hosed.
[17:36] <poolie> ?
[17:36] <mgz> I just got a totally different set of errors from jam's run.
[17:37] <mgz> ah, no, that's the log being confusing.
[17:37] <vila> mgz: just after processing your submission...
[17:37] <vila> mgz: :-D
[17:37] <mgz> they're nearly all expected failures in the email
[17:37] <vila> mgz: yeah, expected failures...
[17:37] <mgz> the one real failure is probably real.
[17:37] <vila> mgz: generally yes
[17:38] <mgz> and a bunch of compiler warnings :D
[17:41] <mgz> looks like jam's change to bzrlib.transport.sftp is wrong/sometimes wrong
[17:42] <vila> mgz: as in ? More tests needed ?
[17:43] <mgz> as in I don't know the sftp code, but whatever this ReadvFile is has no close method.
[17:43] <vila> mgz: 'has no method' always or sometimes ?
[17:44] <mgz> one of those, and I don't know if it's always the object that line is operating on
[17:54] <vila> huh ? bzr push told me: Using default stacking branch /+branch-id/241735 at lp-85348944:///~vila/bzr
[17:54] <vila> Is that new ?
[17:54] <mgz> yup.
[17:55] <mgz> http://how-bazaar.blogspot.com/2011/04/launchpad-and-stacked-branches.html
[17:55] <vila> that would make debugging harder :-/
[18:27] <mgz> hm, this "How to store binaries along tree" thread is almost exactly what I was working on last week on the train
[19:00] <abentley> vila: The branch is a real branch that you can interact with, so it shouldn't make debugging much harder.
[19:01] <levu> when i have local A and remote B and i want to merge B into A i do "cd A; bzr merge B", but how do i do it, when i want to merge A into B?
[19:01] <vila> abentley: but do I get back its path ?
[19:02] <mgz> levu: `bzr -d B merge A`
[19:02] <abentley> vila: I wouldn't bother, since it'll always be lp:project.  But you could use launchpadlib, I guess.
[19:02] <mgz> won't work over dumb transports, in that case, keep a local copy of B and merge to that, then push.
[19:03] <vila> levu: merges can produce conflicts, conflicts needs a working tree to be resolved (and the result committed), so you generally clone B locally, resolve the conflicts, commit and push the result
[19:03] <mgz> and what vila said.
[19:03] <levu> mgz: thx
[19:03] <levu> vila: ok, then i'll do it this way :)
[19:04] <mgz> ...and I spelt it wrong, the -d param goes after the merge command
[19:04] <vila> abentley: right, but the bug causing this fix was about a broken path which we won't see as easily now, but well, I was hoping for some magical url on lp side
[19:04] <vila> mgz: hmm, I think we cope with any argument order really
[19:05] <mgz> vila: but the command has to go first, or you get unknown command "-d" which is always confusing.
[19:05] <vila> really ?
[19:06] <mgz> yeah, it should at least sniff dashiness really to give a better error message
[19:06] <abentley> vila: but broken paths are impossible now, except maybe with branch deletion.
[19:06] <vila> wow, you're right ... I wonder if it has always been the case as I was almost sure it has work at some point
[19:07] <vila> abentley: yeah, I get that but still, we never show revids in bzr output (for good reasons you explained me long ago) and suddenly lp is showing an opaque id...
[19:10] <abentley> vila: If you couldn't interact with it at the +branch-id URL, I'd see that as a problem, but as is, it's more of a symlink than a meaningless number.
[19:12] <abentley> vila: If you want to file a bug that https://code.launchpad.net/+branch-id/241735 doesn't work, that would be one way to let you get the path.
[20:42] <lamont> http://paste.ubuntu.com/603869/ <-- wassat mean?  2.3.1
[20:50] <dvheumen> lamont: I'm just guessing here, but the very low-level problem seems to be that it is trying to import something that doesn't exist
[20:50] <lamont> yeah
[20:50] <dvheumen> when did this start to happen?
[20:50] <lamont> when I upgraded to bzr 2.3.1 on some hardy boxen (using our rebuild of same)
[20:51] <lamont> OTOH, most of the machines are fine with that version
[20:51] <dvheumen> hmm
[20:51] <dvheumen> if you simply run 'bzr' does it happen then too?
[20:53] <dvheumen> I
[20:53] <dvheumen> or 'bzr --version'
[20:57] <dvheumen> I'm thinking that maybe it isn't actually bzr itself that generates the error, but one of the plugins that has been installed. It could be missing a dependency or a mismatched version of the dependency
[20:58] <dvheumen> try 'bzr plugins' for a list of active plugins
[20:58] <dvheumen> but like I said, at the moment it's just a wild idea :P
[20:59] <lifeless> lamont: thats running bzr, or something else? it could be a race condition if you have threads in play
[20:59] <lamont> bzr status
[21:00] <lifeless> shouldn't happen there :P
[21:00] <lifeless> file a bug, include bzr.log stuff for that run
[21:00] <lifeless> check that you have bzrlib/trace.py
[21:00] <lamont> I have one x86_64 box where I see it
[21:01] <lamont> -rw-r--r-- 1 root root 20742 2011-03-10 12:32 /usr/share/python-support/python-bzrlib/bzrlib/trace.py
[21:01] <lamont> -roseapple(root) 310 : find /usr/share/python* | grep bzrlib/trace.py
[21:01] <lamont> /usr/share/python-support/python-bzrlib/bzrlib/trace.py
[21:01] <lamont> -roseapple(root) 311 :
[22:05] <dOxxx> hey vila, are you around?
[22:18] <poolie> hi dOxxx
[22:18] <dOxxx> hey poolie
[22:18] <dOxxx> my emails to vila are bouncing :P
[22:19] <dOxxx> I think my ISP's mail server got spamblocked by free.fr
[22:21] <poolie> oh no
[22:21] <poolie> try vincent.ladeuil@canonical.com
[22:21] <dOxxx> ah thanks :)
[22:28] <jelmer> hi poolie, dOxxx
[22:28] <dOxxx> hey jelmer
[22:32] <poolie> hi jelmer
[22:55] <spiv> jam: "REMOTE" is a bzr://localhost/ in that case
[22:56] <jelmer> mørning spiv
[22:58] <spiv> Hï jelmer
[22:58]  * spiv grabs breakfast and coffee etc, it's still a bit early :)
[23:01] <james_w`> what's the fix when a branch gets renamed on LP and breaks anything that stacks on it by name?
[23:02] <mgz> http://how-bazaar.blogspot.com/2011/04/launchpad-and-stacked-branches.html
[23:04] <james_w`> https://bugs.launchpad.net/launchpad/+bug/377519/comments/1
[23:04] <ScottK> Riddell: google translate translates both whiskey and whisky to whisky in Hungarian, so it looks like they are a
[23:04] <ScottK> are educated on the topic.
[23:21] <maxb> https://launchpadlibrarian.net/71116344/buildlog_ubuntu-natty-amd64.bzr_2.4.0~bzr5823~ppa3931.3928~natty1_FAILEDTOBUILD.txt.gz
[23:21] <maxb> ok.... what?!
[23:21] <maxb> Apparently the testsuite failed, but no tests failed?
[23:25] <mgz> what changed from the last build?
[23:25] <mgz> subunit, by any chance?
[23:27] <maxb> ah
[23:27] <maxb> yes
[23:27] <mgz> yup, Unpacking python-subunit (from .../python-subunit_0.0.6+bzr147~ppa102~natty1_all.deb) ...
[23:28] <mgz> my fault.
[23:28] <maxb> 0.0.6 to 0.0.6+bzr147
[23:28] <mgz> I made lifeless fix some stuff but haven't actually fixed the bzrlib suite yet.
[23:30] <maxb> ah
[23:31] <mgz> though, confusingly the two tests I thought would be the problem appear to be skipped due to lacking _UnicodeFilenameFeature
[23:32] <mgz> so perhaps it's an issue with the subunit change rather than me being lazy
[23:36] <mgz> will try fixing the bzrlib side and if it's still broken poke subunit some more.
[23:40] <mgz> heh, oh man, diff in this branch gives me timestamp 2010-10-21
[23:42] <lifeless> jelmer: hi
[23:42] <lifeless> jelmer: your new stuff failed in daily build
[23:42] <jelmer> lifeless: 'morning
[23:42] <jelmer> lifeless: which project?
[23:47] <lifeless> subunit
[23:54] <mgz> hm, those are the failures I blamed on your merge lifeless?
[23:54] <mgz> in fairness, the right semantics did change a few revs later too.
[23:56] <lifeless> mgz: no, differnet
[23:56] <mgz> and I forgot to query whether the filters would downgrade xfail->pass and uxsuccess->fail if the local unittest didn't support them, which is another issue
[23:58] <lifeless> they use testtools
[23:58] <lifeless> if you make a chain that needs downgrading, they will downgrade
[23:59] <mgz> that's cool then.