[00:31] Peng_: are you here? [00:34] ErrorFromSmartServer: Error received from smart server: ('error', "'AbsentContentFactory' object has no attribute 'get_bytes_as'") [00:34] will that not go away until we upgrade the server? [00:35] mwhudson: bug 354036 [00:35] Launchpad bug 354036 in bzr/1.13 "ErrorFromSmartServer - AbsentContentFactory object has no attribute 'get_bytes_as' exception while pulling from Launchpad" [High,Confirmed] https://launchpad.net/bugs/354036 [00:36] lifeless: oh right [00:36] Or, possibly, https://bugs.edge.launchpad.net/bzr/+bug/365615 ? [00:36] Launchpad bug 365615 in bzr "Random 'AbsentContentFactory' object has no attribute 'get_bytes_as' errors with CHK repository" [Undecided,New] [00:37] spiv: no, not that one, for sure [00:40] mwhudson: upgrading the server won't fix affected branches. When http://bundlebuggy.aaronbentley.com/project/bzr/request/%3C20090422071133.GE10211%40steerpike.home.puzzling.org%3E lands upgrading the server will cause 1.13 smart clients to push unbroken stacked branches, but that won't help e.g. SFTP or <= 1.12. [00:41] spiv: right, i read the bug report now [00:42] mwhudson: once 1.14 is out, or the server-side fix is landed and cherry-picked to LP, (so we can hope that most new branches will be ok rather than broken) we should apply Robert's fix script to all the stacked branches on Launchpad. [00:43] spiv: welcome to the connected [00:43] lifeless: :) [00:44] spiv: I have a need [00:44] spiv: I want a way to say 'dammit this medium is > X' [00:45] spiv: and/or to fix the 3 insert stream round trips [00:45] spiv: ok [00:45] spiv: please tell someone when your fix lands :) [00:46] spiv: hang on, 1.14 isn't out yet? [00:47] mwhudson: still at rc2 [00:47] spiv: when will it be out? [00:48] spiv: and how many changes are pending for lp:bzr/1.14 ? [00:48] lifeless: yeah, that would be good to have! [00:48] mwhudson: none that I know of, BasicOSX would know more but he just quit IRC... [00:49] mwhudson: basicosx knows [00:49] oh hooray [01:06] lifeless: I can't reproduce your SSH auth problem with 1.14 [01:07] spiv: you don't see an explicit username passed to ssh? [01:07] Nope. [01:07] thats extremely odd [01:07] I'm presuming you have a host that you need such a config entry on for it to work [01:07] Right. [01:07] (Several :) [01:08] Wild guess: does your ~/.bazaar/authentication.conf accidentally have entries for that host? [01:10] fairly terrible, but interesting script for playing with loggerhead memory consumption: http://pastebin.ubuntu.com/156842/ [01:10] spiv: no such file [01:12] ok guys, thanks for help [01:12] lifeless especially [01:12] \o/ [01:12] Dejan: anytime [01:13] lifeless: well, I'm out of wild guesses. [01:14] lifeless: I'd look at the code, but I'm pretty sure you've already done that... [01:14] spiv: I'm hoping vila will [01:14] * spiv nods [01:14] spiv: I just deleted the relevant lines from my local bzr and got on with $primary goal [01:15] lifeless: oh, I see, that patch in your mail is a patch that you'd like reversed? [01:16] spiv: that would be one way to get it going [01:16] I don't want to under vila's work though, so I'm leaving it open to him to decide how to reconcile the different needs and goals he has [01:16] * spiv nods [01:17] s/under/undo/ [01:18] Is there a bug tag for brisbane-core bugs? [01:19] * spiv blinks [01:19] There's now "official bug tags" [01:28] I just set all the tags listed on http://bazaar-vcs.org/BugGuidelines as official on LP, except for those that don't seem to be used. [01:38] spiv: talk to me about error mapping [01:39] File "/home/robertc/source/baz/pending/push.roundtrips/bzrlib/smart/message.py", line 355, in _translate_error [01:39] raise errors.ErrorFromSmartServer(error_tuple) [01:39] ErrorFromSmartServer: Error received from smart server: ('FileExists', 'dir') [01:39] how do I make that raise that actual error [01:40] is it safe to just extend translate-message? [01:40] lifeless: in remote.py? Yeah. [01:40] smart/message.py [01:41] lifeless: hmm [01:42] lifeless: that exception should be ok to do in message.py [01:42] how can I tell which are and are not [01:42] lifeless: many exceptions need to be translated by remote.py, because they need context (e.g. a Branch object) that message.py doesn't have [01:43] lifeless: although [01:43] nearly all exceptions (I'd like to make it all) only stringify their args [01:43] lifeless: remote.py already translates FileExists! [01:43] spiv: the vfs perhaps; I'm calling in from bzrdir.py [01:44] lifeless: (also, remote.py translates some errors that message.py could do, the evolution is incomplete...) [01:44] I vant to vinish zis damn branch [01:44] lifeless: so shifting the FileExists translation from _translate_error in remote.py to _translate_error in message.py should do what you need. [01:45] spiv: for now I've just added to message.py [01:45] lifeless: or even duplicating if you like [01:45] because I don't want to destabilise stuff I'm not working on [02:24] uh [02:25] why would list(branch.iter_merge_sorted_revisions()) be [] for a patently non-empty branch? [02:27] ah because historycache is buggy [02:34] When trying to push to Launchpad, I get this error: [02:34] bzr: ERROR: Cannot lock LockDir(http://bazaar.launchpad.net/%7Ejstpierre/%2Bjunk/its2ass/.bzr/branch/lock): Transport operation not possible: http does not supp [02:36] magcius: you need to run "bzr lp-login jstpierre" (or whatever your username is) [02:36] spiv, bah, okay. [02:36] magcius: (assuming you're using a lp:FOO url?) [02:42] spiv, yeah, thanks, that solved it. [03:14] mwhudson_: I'm semi-here. [03:21] spiv: getting there [03:21] File "/home/robertc/source/baz/pending/push.roundtrips/bzrlib/tests/bzrdir_implementations/test_bzrdir.py", line 1234, in test_format_initialize_on_transport_ex_stacked_on [03:21] repo_format_name=repo_name, stacked_on='../trunk', stack_on_pwd=t.base) [03:22] ErrorFromSmartServer: Error received from smart server: ('error', "jail break: 'bzr://127.0.0.1:54060/extra/trunk/'") [03:28] mwhudson_: Thanks for merging my branches. :) [03:29] lifeless: cool [03:30] Peng_: np, thanks for the branches :) [03:30] Peng_: feel free to carry on unifiying things onto the LoggerheadConfig object :) [03:31] How can one do graph.iter_ancestry and stop a revision, and be sure that all decedents of that revision have been returned, without the graph having to load the ancestors of the stop revision? [03:32] s/stop a rev/stop at a rev... [03:35] I want to load the parent_map for a ancestors of list of heads to the lca of those heads. [03:41] garyvdm: probably you need to modify graph so that you can call lca(heads) and capture the parents [03:41] garyvdm: but we memoise parents in various ways, so mmm, no quick answer sorry. [03:42] lifeless: thanks - I'll look at that. [03:52] hm [04:00] lifeless: I fingered out a way: http://pastebin.com/d584a90fb === mwhudson_ is now known as mwhudson [05:19] spiv: all implemented, same round trip count :P [05:19] now to find out why [05:29] spiv: ping [05:29] File "/home/robertc/source/baz/pending/push.roundtrips/bzrlib/transport/__init__.py", line 1361, in _split_url [05:29] return urlutils.parse_url(url) [05:29] File "/home/robertc/source/baz/pending/push.roundtrips/bzrlib/urlutils.py", line 728, in parse_url [05:29] raise errors.InvalidURL('Host empty in: %s' % url) [05:29] InvalidURL: Invalid url supplied to transport: "Host empty in: file:///tmp/testbzr-hWEuIa.tmp/bzrlib.tests.blackbox.test_push.TestPush.test_push_smart_stacked_streaming_acceptance/work/local/" [05:30] lifeless: weird. [05:31] lifeless: I haven't seen that sort of traceback before. [05:32] so [05:32] I the host is empty [05:32] but why does parse_url /care/ [05:33] Yeah, I've no idea why it cares, or why you'd suddenly bump into that. [05:33] I'm bumping into that because our push test stacks on a local path [05:33] it stacks [over there] on ../local [05:34] * fullermd just got bit by that add-local-username-to-url thingy :( [05:34] fullermd: reply to the thread then please [05:34] fullermd: or perhaps turn it into a bug [05:34] and assign to vila [05:34] :) [05:34] Oh, man, is THAT what happens to you when you log off IRC? [05:34] * fullermd sets up a cron job... [05:35] spiv: as soon as I wired up BzrDirFormat.initialize_ex to forward to RemoteBzrDirFormat.initialize_ex when there is a smart transport I triggered that [05:35] spiv: [05:35] AssertionError: Incorrect length: wanted 18, got 11 for [BzrDir.open, BzrDirFormat.initialize_ex, BzrDir.open, Repository.lock_write, Repository.insert_stream, Repository.insert_stream, BzrDir.create_branch, Branch.lock_write, Branch.set_last_revision_info, Branch.unlock, Branch.get_stacked_on_url] [05:37] lifeless: nice [05:37] there is an issue [05:37] we can't upgrade without doing a jailbreak [05:37] Really? Why's that? [05:38] consider: [05:38] local is pack-0.92 [05:38] remote has a stacking policy pointing at $third-party [05:39] our current rule says 'upgrade if the thing pointed at is stackable' [05:39] but we can't examine it [05:40] I could error with the policy details I guess [05:40] but I'm going to punt and do the old hardcoded formats number in this case [05:41] *nod* [05:42] (oh and the client can't examine for us, because the policy is found by the server) [06:06] === modified file 'bzrlib/tests/blackbox/test_push.py' [06:06] --- bzrlib/tests/blackbox/test_push.py 2009-04-22 02:36:23 +0000 [06:06] +++ bzrlib/tests/blackbox/test_push.py 2009-04-24 04:58:12 +0000 [06:06] @@ -201,7 +201,7 @@ [06:06] # being too low. If rpc_count increases, more network roundtrips have [06:06] # become necessary for this use case. Please do not adjust this number [06:06] # upwards without agreement from bzr's network support maintainers. [06:06] - self.assertLength(18, self.hpss_calls) [06:06] + self.assertLength(11, self.hpss_calls) [06:06] [06:06] def test_push_smart_stacked_streaming_acceptance(self): [06:06] self.setup_smart_server_with_call_log() [06:06] @@ -217,7 +217,7 @@ [06:06] # being too low. If rpc_count increases, more network roundtrips have [06:06] # become necessary for this use case. Please do not adjust this number [06:06] # upwards without agreement from bzr's network support maintainers. [06:06] - self.assertLength(22, self.hpss_calls) [06:06] + self.assertLength(18, self.hpss_calls) [06:06] remote = Branch.open('public') [06:06] self.assertEndsWith(remote.get_stacked_on_url(), '/parent') [06:06] spiv: ^ woo [06:09] Woo! [06:10] lifeless: nice work [06:10] theres now a low hanging fruit of one more [06:11] the possibly two [06:11] the BzrDirFormat.initialize_ex, BzrDir.open, Repository.lock_write, [06:11] second and third elements in that sequence [06:11] Yeah. [06:11] I've sent it up for review [06:11] schlepping it off to amazon in a second [06:34] spiv: small number of failures, will clean up post review/monday [06:34] spiv: I started early today, going to head into the city soon === jelmer is now known as Guest19644 === Guest19644 is now known as jelmer [09:01] Hello, I got several packages hosted in the same branch: lp:sabily-artwork [09:01] is it possible to migrate each package to a separate branch, keeping along the history ? [09:11] I wonder if the split command does that [09:13] That's what the split command is for. Whether it's safe to use is another question. [09:16] how ? [09:16] AnAnt: bzr help split :D [09:16] But you might have to upgrade the branches to an experimental format. [09:17] it says : bzr split tree [09:17] ok, I'll look at it [09:17] thanks [09:25] thumper: hi [09:26] hi jelmer [09:26] thumper: So, current bzr-git trunk should now work with bzr 1.14 proper [09:26] fantastic [09:26] how does that relate to dulwich? [09:27] does that matter? [09:27] or do we just take tip? [09:27] You'll need the tip from dulwich as well [09:27] cool [09:27] I'll look to get it into LP ASAP [09:33] Hi! Is there some huma readable specification or documentation of the bzr smart protocol? [09:34] In particular, does the command allow removal of stuff like a bzr.backup directory from the remote file system? [09:34] Because I've upgraded a remote repo once, and trying to upgrade yet again via bzr fails as bzr.backup already exists, and removing that dir fails as ssh access is restricted to the bzr server. [09:34] MvG: Sure, it supports VFS access, so you can do whatever you want. [09:35] VFS = virtual file system? Virtualized by whom? [09:35] MvG: bzr [09:35] MvG: It might be easier to use hitchhiker (sort of like a CLI FTP client, only for the bzr smart protocol) https://launchpad.net/hitchhiker [09:36] Sounds good. Will have a look. [09:39] Yes, that's exactly the tool I needed. Thanks ever so much! [09:41] there is a bug about the upgrade dirs [09:41] the upgrade command should be able to remove old backup dirs [09:41] Would make sense. [09:41] At least if it were sufficiently sure the upgrade went well and could be reverted if need be. [09:41] s/reverted/reversed/ [09:41] thumper, jelmer: yay [09:42] hi mwhudson [09:42] mwhudson: do you want to do the honours? [09:43] mwhudson: if not, I'll get abentley or rockstar to [09:43] when they start their day [09:44] BTW: I've got two merge requests waiting in BB. So if anyone dev around here feels bored, I would appreciate votes on those. [09:44] I'll accept comments evenm from non-devs. :-) [09:44] thumper: not really at this time on a friday night [09:44] mwhudson: I guessed as much :) [09:46] Whatwhat? [09:47] what? [09:49] * Peng_ babbles incoherently and falls asleep [10:29] the bzr wiki is having some trouble; IS is working on it [10:32] Hi - is it possible to ignore a file in a branch, with out committing a change to the branch? I.e. I want the ignore to only be for my copy of the branch. [12:06] garyvdm: regarding your earlier question: AFAIK you can configure a global ignore list in your bzr settings. ("global" in this case means that you do configure it for all of _your_ branches, and that this is not visible to others) [12:07] i don't know if this is the best way, though === jelmer is now known as Guest88668 [12:27] hi [12:27] is there a way to find a commit in a shared repository? [12:28] bzr rebase messed up the history of my branch and I have a lost commit now somewhere [12:28] that I would like to recover [12:32] * SamB mumbles something about --heads [12:33] ignas: I think "bzr heads" from bzrtools can help. [12:33] oh, is that what it was [12:34] * SamB knew there was a reason he was mumbling [12:34] i am not sure it will help me now... because I have performed a bunch of operations to recover the state on the branch [12:35] ignas: bzr heads --dead [12:35] find the revid of the head you want [12:35] as long as none of them involved garbage collection, you should be fine [12:36] bzr pull . -r revid:... --overwrite [12:36] (garbage collection of the repository, that is ;-) [12:37] SamB: the only way to do that with bzr is to create a new repository, branch, and delete the old one. [12:37] * SamB thought there was some command for it in bzr.dev [12:37] Oh [12:38] I could be wrong [12:38] i think there's a plugin somewhere or something [12:39] SubversionException: ('Unable to open an ra_local session to URL', 180001) [12:39] ouch === GaryvdM_ is now known as GaryvdM [12:40] ignas: what URL ? [12:40] don't know [12:40] ouch [12:41] the message is not giving any [12:41] * SamB wonders where jelmer is [12:41] you should report it as a bug on subvertpy, I think, that the URL isn't in the message anywhere [12:43] first - find the commit and make another release, sorry [12:43] will do while waiting for PPA to build a package ;) [12:56] Samb, hmeland, GaryvdM: thanks, that worked [12:58] ignas: what'd I do besides mumble misleading information and attempt to reassure you that your commit was probably still there? [12:58] SamB: on further review, probably not much ;) [12:59] but still, being a part of the community counts ;) [13:02] how do I only merge last 2 revisions from a branch? [13:04] bzr merge -r ..-2 [13:04] or bzr merge -r -2.. [13:04] I can never remember which way [13:04] -2.. remove most of the changes from the checkout [13:05] and ..-2 still includes changes from earlier [13:09] bzr merge -r -1..-2 ? [13:10] that'll do a reverse merge (I think) [13:10] it will apply the reverse of -2..-1 [13:13] yeah, though if I want 2 last revisions it seems i have to do -3..-1 [13:57] lifeless, is there a default ssh login name for using *bzr push bzr+ssh://bazzar.lauchpad.net/~MY_LAUNCHPADID/PROJECT/name* [13:58] When I use it , it shows me that Permission denied [13:59] your local username is the default [14:00] you can do MY_LAUNCHPADID@bazaar.launchpad.net [14:00] if you do "bzr lp-login MY_LAUNCHPADID" and the do "bzr push lp:~MY_LAUNCHPADID/PROJECT/name" it should work [14:06] I am behind the firewall [14:06] james_W, I have to use the URL for push and pull [14:14] james_w, It works now,thank you === jelmer is now known as Guest34677 [14:25] hmm on bzr switch --force of a lightweight checkout to a completely different branch, i get "Conflict: can't delete features because it is not empty. Not deleting." [14:25] any way i can tell bzr "yes yes just nuke this copy and make it like that branch" [14:26] rm -rf + bzr resolve is my best solution currently; just wondering if there's something i can do up front that's faster [14:27] and perhaps those here would know if maybe at the end of the day it would be faster just to kill the lw-checkout and make it again [14:27] rather than switching [14:40] don't know really, not using lw checkouts since I found out that a simple checkout is actually faster to do with my connection === Guest34677 is now known as jelmer [14:41] lw checkout saves bandwith (for me - only a bit), but takes longer [14:41] lifeless: I've upgraded the tribunal branch anyway. [14:42] and if you are working on more than one branch - shared repository will take less time and bandwith than 2 lightweight checkouts [14:42] at least for me [14:54] when I push to lp it returned the *pipe broken ERROR* [14:55] and the connection is closed by remote host [14:56] what should I do then? [15:12] xiaohui: maybe your ssh key is not registered with launchpad [15:15] poolie, I have put my ssh public key to the launchpad [15:16] and the progress showed that has push 2/5 [15:18] I use bzr push again, it directly come to 2/5 amd stoped [15:35] I have question about bzr [15:35] I dir bzr branch lp:aa, did bzr pull for some time [15:36] the commited local changes and it forces me to do bzr merge && bzr ci -m"merged" all the time [15:36] as far as I understand git allows simply use git pull even after local changes get commited, with forcing merge only on conflicts [15:37] could I get same beheaviour for bzr? [15:43] max_r: not currently, no [15:43] thumper, did you get your review? [15:48] james_w: is it planned? quite bad that simple operations takes twice as much steps [15:49] I don't know of anybody working on it [15:50] james_w: as I understand it is more UI problem than problem of repository or other low level stuff? I saw UI redesign planning for 2.0. Is it finalized yet? [15:51] UI redesign is planned for 3.0 [15:51] I don't think adding an option to make it do that is something that requires a UI redesign though [15:52] and what is approximate eta for 3.0? [15:52] In bzr help pull I see: [15:52] If branches have diverged, you can use 'bzr merge' to integrate the changes [15:52] from one into the other. Once one branch has merged, the other should [15:52] be able to pull it again. [15:52] It seems rather strange [15:52] 3.0 in a 9 months or something [15:52] I merged branches, but I couldn't pull any more [15:52] I don't know if a timeline has been decided [15:53] after the merge you will be able to pull the other way [15:54] seen now "bzr merge --pull" what it does? [15:54] that doesn't do what you want [15:54] that will fast-forward where possible, which is another thing that "git pull" does that "bzr merge" doesn't [15:55] I need something like "bzr merge --commit-if-no-conflicts", right? [15:55] yep [15:55] could it be done as plugin? [15:55] yep [15:55] is relativly hard? [15:55] or easy? [15:56] shouldn't be too hard [15:57] is there any simple sample plugin to base on? [15:57] actually, it may not be that easy in a plugin [15:58] why? It looks easy as bash script, just running "bzr merge && bzr ci -m 'merged'" with some error checking on the first step to see if there was conflicts [16:01] because you don't want to open the objects more than once [16:01] and you don't want the tree to be modified between the merge and commit [16:02] that's probably the basic thing that is needed: http://paste.ubuntu.com/157278/ [16:02] it needs tests and polish though [16:03] any chance it go into 1.15? [16:04] and what is more correct "pull --merge-if-needed" or "merge --commit-if-no-conflicts"? [16:06] that patch won't go in 1.15 [16:07] a better version could if it passed review [16:07] and those two commands mean different things [16:09] james_w: could you please explain difference? [16:10] whether pull does something when the branches have diverged, or tells you to use merge is different to whether the a merge will commit if there are no conflicts [16:11] and the first option is already there, it's just spelt "merge --pull" instead of "pull --merge" [16:12] and how "pull --merge-if-needed" ("merge --pull" in bzr language) differs from "get all changes from that branch, and apply it locally" which as I understand is "merge --commit" [16:13] ? [16:14] pull means "make my branch the same as that one" [16:14] which doesn't work if you have diverged [16:15] merge means "merge my changes with theirs" [16:15] and when you do that you end up with something new, so you may want to check it before you commit, as the merge can't do everything [16:15] got it, i thought pull means "pull all changes from that branch" [16:15] nope [16:16] "pull" is different in git and bzr [16:16] which is quite confusing [16:25] I hope I don't start to annoy you yet, but I'm again trying to interest devs into reviewing my two open merge requests, related to reconfigure and bug 248932. Anyone willing to have a look? I'd like to get this off my head. [16:25] Launchpad bug 248932 in bzr "reconfigure --standalone raises IncompatibleRepositories" [High,Confirmed] https://launchpad.net/bugs/248932 === jkakar_ is now known as jkakar [19:33] which is better way to use bzr: [19:34] 1) bzr co , do some changes, bzr ci [19:34] or 2) bzr branch , changes, bzr ci, changes bzr ci , .. , bzr push ? [19:35] AnAnt: I prefer 2, but they are equally valid [20:21] james_w: ok [20:25] I tried bzr split, but I don't think it works [20:25] I have 3 packages in the same bzr branch [20:26] I want to have separate branches for each package, yet I want to keep the bzr history of each package, is that possible ? [20:26] split would be the way to do it, but it may not do what you expect [20:26] it will keep the full history in each branch [20:28] how ? [20:28] I just done this: bzr split [20:28] then cd [20:28] bzr push file:///tmp/test [20:28] I got this: bzr: ERROR: Not a branch: [20:31] oh, I got an error actually when I do a bzr split: [20:31] bzr: ERROR: To use this feature you must upgrade your branch at file:///tmp/sabily-keyring/. [20:33] ah [20:33] not that helpful of a message [20:33] "bzr upgrade --default-rich-root" is probably what you want [20:34] k [20:38] ok, cool [20:39] btw, there's no --default-rich-root option [20:39] I used --rich-root-pack [20:47] ja1: Bug 355238 really set to Milestone 1.14rc2? [20:47] Launchpad bug 355238 in bzr "TypeError upgrading branch to gc-chk255-big" [Undecided,Fix released] https://launchpad.net/bugs/355238 [20:47] BasicOSX: I'm pretty sure the bug listed there was fixed for the rc2 === ja1 is now known as jam [20:48] thanks for quick response, research further [20:48] BasicOSX: rev 4250 on bzr.1.14 [20:48] 4250 Canonical.com Patch Queue Manager 2009-04-19 [merge] [20:48] (jam) Tweaks to the new --dev6-rich-root format support. [20:48] 4251 Canonical.com Patch Queue Manager 2009-04-19 [merge] [20:48] (tanner) prepare-1.14rc2 [20:49] at least according to *my* branch of 1.14, my patch landed before rc2 [20:49] hmmm, problem with splitting, is that I can't revert to older revisions ! [20:49] * BasicOSX blinks [20:49] Who needs search when you have jam ! :-) [20:49] oh, I ccan [20:50] ok, thanks ! [20:51] well, as i just did the searches myself, I knew where to look [21:51] hi, i want to use bazaar together with a "checkout" on ftp, how can i do this