=== brilliantnut is now known as brilliantout [01:00] so my focus for today is reviews, namely poolie's ones on LockableFiles and jam's ones on graph ops [01:16] igc, any opinion on 'agile' vs 'adaptive version control'? [01:27] poolie: I'm ok with Agile version control [01:27] agile seems a bit complicated for non-english speakers, doesn't it? [01:28] I prefer adaptive but that's because I wrote a blog article on what that is :-) [01:29] agile is a good word, but most people won't know what it means [01:29] might not be a good reason to reject, but I thought I'd throw it out there [01:30] beuno: it means something very specific in this content i.e. the Agile Development movement [01:31] I see open source as being the next generation of process beyond Agile - there's a large focus in SCRUM/XP on all being in the same room [01:31] i wonder if "agile" will be out of fashion in a few years [01:31] oh well === mwhudson__ is now known as mwhudson [01:33] Adaptive takes more explaining - that's true - so Agile is good enough [01:34] I don't think Agile will go out of fashion any more than OO went out of fashion [01:35] Like OO, I think it will get incorporated into most approaches over time and there will something more fashionable in a few years [01:40] poolie: Hmm - let me respond to the email and I'll plug adaptive for one last time :-) === mw is now known as mw|out [02:01] igc, i'm happy with either [02:28] spiv, i thought you fixed bug 220806, but it's still marked open [02:28] Launchpad bug 220806 in bzr "PyCurlTransport doesn't define the _remote_is_at_least_1_2 property" [High,Confirmed] https://launchpad.net/bugs/220806 [02:29] * spiv looks [02:31] if not you don't need to do it right now, it was just still flagged in my mail [02:32] Oh, I see the root cause. [02:32] The attribute is defined on SmartClientStreamMedium rather than SmartClientMedium [02:32] Fixing that is trivial. [02:40] vila, docs for bzr-upload committed :) [02:44] poolie: http://rafb.net/p/5bJz9I27.html is the fix [02:45] poolie: is it ok with you if I merge that, even without adding tests? We don't have any "medium-implementations" tests unfortunately :( [02:48] * spiv sends it to the list [03:55] I am having an issue with WorkingTree.get_ignore_list() and I was hoping someone might realize what I am doing wrong. I think the main problem is my lack of knowledge on Python Lists and Tuples. Here I am passing in a working tree and trying to print out the list of ignored files. http://pastebin.com/m7fb33e08 [03:56] SystemError: ../Objects/listobject.c:137: bad argument to internal function [03:56] I end up with that error on the size function, which is making me think the get_ignore_list isn't returning a list [03:57] Atleast a list in the C/Python way of being a list. [04:00] libwilliam: get_ignore_list returns a Python set. [04:01] ok, i'm going to tweak the code for a set and see if I have any luck, thanks Odd_Bloke [04:01] Is there some way to debug authentication.conf? i.e. to find out if the file is being picked up, which rules are being applied etf. [04:01] etc [04:03] libwilliam: rather than assuming get_ignore_list returns a specific type, you ought to just treat it as a generic iterable I think. [04:04] libwilliam: see http://docs.python.org/api/iterator.html [04:06] * pickscrape tries -Dauth, but it does nothing :( [04:08] * spiv -> lunch [04:08] ill try that out spiv, thanks [04:08] pickscrape: have you looked in ~/.bzr.log after using -Dauth? [04:08] * spiv -> really lunch [04:10] I hadn't, but having done so I see no difference in the output... [04:35] Grr. -Derror and -Dhpss are doing things, but -Dauth is doing absolutely nothing. :( [04:39] * igc lunch [05:17] PQM is still surprisingly slow. [05:17] Output like this looks particularly weird: [ascii] ..._converged_merge_dir_changes(RepositoryFormat5) OK 86ms [05:17] [ascii] ..._converged_merge_dir_changes(RepositoryFormat6) OK 88ms [05:17] [ascii] ...erged_merge_dir_changes(RemoteRepositoryFormat) OK 16261ms [05:24] spiv, yes, john mentioned that this morning [05:24] will send mail [05:28] done [05:38] * igc pick up kids [06:05] igc, are you back? [06:10] yep [06:10] poolie:^ [06:17] moin [06:32] morning all [06:32] morning [06:33] pickscrape: if -Dauth outputs nothing, it means it's not involved, what is your use case ? [06:33] beuno: you rock :) [06:51] hello vila [06:57] poolie: you dropped out [07:03] anyone able to help me with a data loss issue? [07:07] Not me, but what's going on? [07:09] i did a bzr upgrade, which failed, and upon restoring backup.bzr, bzr refuses to acknowledge the repository as existing [07:10] obviously, this is extremely bad, and seems to have erased a large portion of my history [07:10] =[ [07:11] namely, everything that didn't happen to get shoved into subversion for ohloh.net and other tools to aggregate... all the move information and a lot of the other important VCS info was in the bzr repository, along with several un-pushed commits [07:11] chandlerc: maybe https://bugs.edge.launchpad.net/bzr/+bug/145812 ? [07:11] Launchpad bug 145812 in bzr "Upgrade can leave a broken repository (with backup)" [Low,Triaged] [07:11] vila, :) [07:12] chandlerc: is there a repository.backup in the .bzr ? [07:12] yes [07:12] But no repository? [07:12] If so, move the 'repository.backup' to 'repository' and that is likely to fix it. [07:13] Probably safest to manually copy the whole thing first, though. [07:13] Just in case. [07:13] is there any chance to damage? ok [07:13] yea, i moved backup.bzr to .bzr hurridly assuming it would get me instantly back to a working state [07:13] paying for that now [07:13] It should be safe, but if nothing else typos are far too easy to make :) [07:14] it would be _really_ awesome if --upgrade were less fragile, and the restoration process a bit more fool-proof... it appears i'm adding to the number of fools in the world here [07:14] It'd be great if you could add a comment to that bug after you've repaired your repo. [07:14] ok [07:15] Assuming it looks like the same bug, of course. Otherwise, file a new bug :) [07:15] hey james_w :) [07:16] hi beuno. How are you? [07:16] great video you recorded on bzr and ubuntu, congrats [07:16] that bug isn't very informative sadly, so i'm not sure if its the same as what i'm hitting [07:16] chandlerc: fair enough, file a new one then [07:16] chandlerc: it's easy to combine them later if it turns out to be a duplicate [07:17] james_w, pretty good, you? [07:17] beuno: good thanks, though UDS is pretty tiring. [07:18] the video is out? [07:18] james_w, your first one? [07:18] james_w, http://www.youtube.com/ubuntudevelopers [07:18] second [07:18] 145 views already :p [07:18] oh :-( [07:18] not sure I want to watch it. [07:18] that's a good thing, isn't it? [07:19] it's quite embarrasing [07:19] chandlerc: did moving that directory fix things? [07:19] sorry, making copious backups [07:20] Ah, right :) [07:20] james_w, not at all. It's a great explanation on where Ubuntu is going package-wise, and a great plug for bzr :) [07:20] poolie: igc: ping [07:20] spiv: brilliant... it seems to have fixed it [07:21] chandlerc: great! Glad I could help. [07:21] so i should file a bug asking for a better recovery process? [07:21] ;] [07:22] chandlerc: well, just for upgrade not to break, or at least fail safely. [07:22] it failed safely, just with no obvious path to recover it. ;] [07:22] its more of a UI bug then a functionality bug [07:23] Well, fail gracefully :) [07:23] hehe [07:23] yea [07:23] i'd like large and detailed instructions about what to, and not to do in the event of a failure to maximally protect the history [07:23] Backup .bzr of the branch (and of the shared repository, if any). [07:24] sorry, i meant in the error message from the failed upgrade [07:24] Ah, right. Well the right thing is to stop upgrade from leaving things in a damaged state. [07:24] basically, i felt like i understood the recovery process, and i apparently didn't [07:25] A message with recovery instructions might be an ok band-aid in the short term, but we really shouldn't require users to poke in .bzr. [07:25] spiv: is poolie are your place? [07:25] that first part being the far more dangerous component... ignorence is fine, i'll come here and find wonderful people like you... it was my rash early attempt to fix it that scared me [07:25] lifeless: not today, no [07:25] fair enough [07:25] spiv: kk [07:25] i'll just tack on a message to that bug since its already in the same ballpark [07:25] spiv: I want to grab him and Ian to talk about this 'is a format required' thing [07:26] it seems to be generating angst; and thats sad [07:27] with a more tricky (but less upsetting) question, anyone around familiar with bzr-svn? [07:27] got a weird assertion pushing my latest batch of changes over to the svn server [07:28] somewhat familiar [07:28] File "/home/chandlerc/.bazaar/plugins/svn/transport.py", line 149, in add_file [07:28] assert self.recent_baton[-1] == parent_baton [07:29] so presumably either the baston as been popped; or was not added [07:29] ?? [07:29] I would probably add some more logic there to try and be more precise in the error [07:29] baton's are callbacks used by the svn library to obtain commit messages and so on [07:30] like 'assert self.recent_baton[-1] == parent_baton, "recent_baton: %r, parent_baton: %r" % (self.recent_baton, parent_baton)' [07:30] is it because a moved A -> B, and added a new file A, within the same commit? [07:31] (Although that probably won't be hugely revealing.) [07:32] chandlerc: I don't have enough to speculate on the cause yet [07:32] chandlerc: I wouldn't assume that that is the cause; though it may be :P [07:32] assert self.recent_baton[-1] == parent_baton, "recent_baton: %r, parent_baton: %r" % (self.recent_baton, parent_baton) [07:32] AssertionError: recent_baton: [, , , ], parent_baton: 'https://inc.googlecode.com/svn/parser/trunk/test/expression_node_test.cpp' [07:33] happy to keep shoving code in here. =] [07:33] i can also provide access to the bzr repository if it helps [07:33] wheeee parent_baton is invalid [07:33] Well, that was surprise :) [07:33] expression_node_test.cpp is one of the files i added... [07:35] specifically thats the A file i added, after moving the existing file of that name to B [07:35] ;] [07:35] first step; file a bug [07:36] I suspect the add_file call around line 255 of commit.py is missing a 'baton' parameter after the 'full_new_child_path' parameter. [07:36] (judging from the invocation 10 lines higher up) [07:36] But there's a large degree of guesswork in that, so filing a bug is probably best :) [07:37] dummy question: if I branch base to tidyup and cd tidyup, what command do I need to do to merge such that I can remove a particular revision from tidyup? [07:38] merge -r 80..79 ../base ? [07:38] (to remove r 80) [07:38] uniscript, bzr uncommit? [07:38] yes [07:38] thanks [07:46] q [07:46] lifeless: hi [07:46] hi [07:46] psting you [07:59] Server does not understand Bazaar network protocol 3, reconnecting. (Upgrade the server to avoid this.) [08:00] some lp hacker around ? :-) [08:00] Protocol 3 is only in bzr.dev, right? [08:00] RIght. [08:00] We'll have to wait for 1.6 to be released, and Launchpad to do their what, weekly or monthly upgrades, then. [08:01] Peng: could be ;-) Was kidding. [08:01] Yeah, I expect LP will be upgraded quite soon after the 1.6 release. [08:03] spiv: bug filed (#232125), would it be safe to add the baton parameter and see what happens? === pmatulis_ is now known as pmatulis [08:05] chandlerc: My guess is that it would be safe (i.e. it'd either work or fail very quickly), but to be honest I don't know. [08:05] i'm willing to try it -- i just made several backups! =] [08:06] and the subversion repo isn't my authoritative VCS... if it gets weird, its not a tragedy [08:06] chandlerc: actually, looking a second time, I'm more confident that that is the problem. [08:06] it makes sense [08:06] especially with what is showing up as parent_baton in add_file [08:07] So feel free to try that fix... but if it breaks you get to keep both pieces! ;) [08:07] tried it, and it worked [08:08] http://code.google.com/p/inc/source/detail?r=121 [08:08] the SVN commit successfully appears [08:08] chandlerc: woo! [08:08] i'll post the patch to the bug [08:08] chandlerc: it's nice of jelmer to leave easy bugs for us ;) [08:09] =] [08:12] thx for the help spiv! =] [08:14] hi, i'm trying to 'fix' fish-shell's script to include support for bzr-completion...does every short option in bzr's help has the long one as well? [08:18] hi gour === bob2_ is now known as bob2 [08:19] I'm not sure I understand your question, are you asking whether there are any options that only have the short form? [08:19] chandlerc: glad I could help! [08:22] james_w: yes, i've to add support for bzr-completion by tweaking some regexs [08:24] I don't know of any options that are only short [08:24] except perhaps the -D ones, but I'm not sure you even want to complete them. [08:25] ok. ta [08:36] I've a problem [08:36] I've my branch locally [08:37] now I run bzr init-repo sftp://remotehost/path/to/repo [08:37] and [08:37] bzr push sftp://remotehost/path/to/repo/branch [08:37] the dir branch is created [08:37] with a .bzr inside [08:37] but there are no other files [08:37] obviously executed inside my local branch [08:37] visik7: That is correct behaviour [08:38] oh can I upload my branch content to the repo ? [08:38] remote repo [08:38] I've also bind the repo remotely [08:39] visik7: there is a "repository" & "branch" there but not a "working tree" [08:39] a working tree here ? [08:39] or there ? [08:39] there [08:40] Locally *only* operations combine push & update. While this is convenient and makes it Subversion like, it means that bloody well everyone trips over what you are having trouble with right now [08:40] Because it does *not* do an update when operating remotely. [08:41] visik7: (try this: [08:41] so I need to setup a working tree there right ? [08:41] $ bzr missing --line sftp://remotehost/path/to/repo/branch [08:41] visik7: from within your local branch and you will find that it tells you nothing is wrong) [08:42] visik7: if you need one, yes [08:42] visik7: see the very end of [08:42] $ bzr help working-trees [08:42] bzr missing --line says: Branches are up to date. [08:42] visik7: which it could not have said if there was no branch there. You're all set. [08:46] the help on working tree says something like copy file remotely by hand [08:46] or something like that [08:47] does it make sense ? [08:58] I dunno how to setup a working tree on a remote server [08:59] Morning [08:59] vila: any progress with those notes? [09:00] Kinnison: not yet, sorry, I thought a bit about it though and my overall feeling is that sftp is better for *your* current setup [09:01] What I need to do to get a better understanding of the differences is to build a similar setup [09:01] Oh, of course, there is a problem with squid [09:02] my remark above was taking it out of the picture [09:02] visik7: Do you have SSH access to the server? [09:02] vila: right. I'm happy to have bzr ignore my proxy for now. [09:03] vila: But understanding why http is slower would be nice. [09:03] there is a pending bug about bzr ignoring caches anyway [09:03] Odd_Bloke: yes [09:03] vila: Does the http code interleave requests? [09:03] Odd_Bloke: I technically ignore how to do ir [09:03] it [09:04] Kinnison: no. http has a higher overhead than sftp which issue "remote file seeks" while http have to buffer all the seeks in one (or several) requests, build the canned response (server side), uncanned the response [09:05] the difference you're seeing may well be explained by the server having to can the response [09:05] Kinnison: is that enough as an answer ? [09:05] do I need to checkout on the deploy server ? [09:05] :-) [09:06] It's something to think about, certainly [09:06] visik7: yes [09:07] visik7: (incidentally, if you can stick bzr on the server things will work much better) [09:07] AfC: I can't [09:07] :( [09:07] can I checkout on an sftp ? [09:07] I didn't check the sftp code, but from memory it can still be optimized :) [09:08] Kinnison: what triggered your comparison in the beginning ? [09:08] Kinnison: oh, do you have a suqid? what *exact* version [09:09] visik7: {shrug} [09:09] visik7: try it and see [09:09] vila: I was miffed with how long it was taking to branch/pull over http [09:09] lifeless: give me a sec [09:10] Squid Cache: Version 2.6.STABLE14 [09:10] says 'squid -v' [09:10] *** 2.6.14-1ubuntu2.1 0 [09:10] Kinnison: is that still the case without using squid ? [09:10] says apt-cache policy [09:10] vila: It still takes longer than sftp [09:10] vila: but not twice as long. [09:11] strange behaviour running bzr checkout trunk sftp://location/path/branch : bzr: ERROR: sftp://location/path/branch.bzr/ is not a local path. [09:12] Kinnison: indeed, so I think the relevant bug is bug #120697 [09:12] Launchpad bug 120697 in bzr "bzr shouldn't bypass http caches" [Unknown,Fix released] https://launchpad.net/bugs/120697 [09:12] well, not exactly :-/ [09:13] but strongly related [09:14] visik7: os/bzr versions ? You may need to install paramiko to activate sftp support [09:14] vila: 1.5 [09:14] visik7: os ? [09:14] ubuntu 8.04 [09:14] yes paramiko is already installed [09:14] but [09:15] the odd thing is that it create a .bzr inside the remote path [09:15] but didn't upload files [09:16] visik7: Oh ! Sorry I misread. Yes, bzr can't upload working trees, you need to ssh connect there and issue bzr update [09:16] vila: O_o [09:16] generally bzr checkout is used in the other direction to create a local working tree from a remote branch, what are you trying to achieve here ? [09:17] vila: I've my branch on my laptop and I want to deploy the working tree remotly [09:17] visik7: what is in your working tree ? A web site ? [09:18] yes python code [09:18] visik7: and you really want your branch to be available as part of your web site ? [09:18] vila: no I just want to upload the code remotly make it synced with my local branch [09:18] in a smooth way [09:19] without sshfs remotely and cp the code [09:19] have a look at lp:bzr-upload then, it's targeted to *you* personally :) [09:20] it's your [09:24] Kinnison: http://www.squid-cache.org/Versions/v2/2.6/changesets/11996.patch [09:24] Kinnison: you need http://www.squid-cache.org/Versions/v2/2.6/changesets/SQUID_2_6_STABLE19.html [09:26] visik7: I wonder if detecting squid versions with the bug would be useful, give a warning [09:26] meh, sorry visik7 [09:26] Mu ? [09:26] vila: ^ [09:26] :) [09:27] lifeless: I don't think warning will help [09:27] lifeless: A lot of people don't have control of their cache versions, or are in companies or places where they are forced to go via the cache [09:27] lifeless: unless you can make it a one-shot warning the first time it is encountered [09:28] vila: I dunno how to install it copy the dir inside .bazaar/plugins maybe ? [09:28] Kinnison anyhow, upgrade your squid; it will be better [09:28] lifeless: heron has 2.6.18-1ubuntu3 [09:28] lifeless: I take it that's no good, so I'd have to go unpackaged... grr [09:29] visik7: cd ~/.bazaar/plugins ; bzr branch lp:bzr-upload upload [09:29] cool [09:30] Kinnison: NMU FTW, backports etc [09:30] * Kinnison is such a pansy-user these days [09:31] * igc dinner [09:33] upload [09:33] ops [09:33] lifeless: by parsing the header: 'Via: 1.0 ennui.i.flarn.net:3128 (squid/2.6.STABLE14)' ? Ghaaaaa [09:34] lifeless: I updated the bug report though. [09:34] the format is specified in rfc2616 [09:45] visik7: don't forget to remove your *remote* .bzr directory if you don't intent to publish it [09:49] vila: indeed it's a django app so it's impossible to access it even if exists :) [09:50] visik7: does it upload only changes right ? [09:50] visik7: ok. Any feedback about the plugin greatly appreciated, it's still in beta [09:51] visik7: yes, only changes [09:51] any changes done remotely are not tracked obviously [09:51] indeed, that may even trigger bugs if you rename/move files around [09:52] would be usefull if the plugin notice that something is changed and stop with warning errors and such things [09:52] the bug tracker is lp :) [09:52] ;) [09:52] visik7: monitoring the remote tree will defeat the purpose of the plugin which is to upload incremental changes [09:53] vila: just some checks with ctime [09:53] just to not commit wrong things [09:54] visik7: or said otherwise: it helps keeping a remote tree under version control when version control is not available remotely [09:54] so doing changes on remote can't be tracked, trying to do so will involve huge bandwidth for bad results [09:55] for a ctime ? [09:55] visik7: ctime is not enough :-) [09:56] first line of defense [09:56] visik7: so it's part of 'bad results' [09:56] :( [09:56] visik7: since I can't provide a robust solution to address remote changes, I prefer to provide no solution at all to avoid building false hopes or a false sense of security [09:58] the plugin use a trick: the whole remote tree is known as a whole by a revid. If that relation is broken, there is no easy way to rebuilt it. You have to download the whole tree. [09:59] But if you keep that relation, updating the remote tree is uploading only the modified files. [10:00] All you have to do is work/test/commit locally, upload. Boom, the remote site is up to date [10:02] visik7: does it make sense ? [10:03] yes it make sens [10:08] Argh, setting TCP_NODELAY doesn't seem to be enough to force multiple small send(2) calls to all transmit immediately. I'm still seeing it wait for ACKs :( [10:08] * spiv reluctantly adds some buffering to _ProtocolThreeEncoder [10:08] Isn't that what you expect from NODELAY? :P [10:08] fullermd: Hmm? [10:10] NODELAY means that it sends ACK's straight off, instead of holding them for a little while to see if there's more user data to ship back along with them. [10:10] You'd have to increase the TCP window size to have more packets in flight. [10:10] I'm writing a total of 82 bytes in this instance. [10:10] I'm fairly sure that fits inside the TCP window size for a freshly created loopback socket... [10:11] I thought delayed ACKs were different to the Nagle algorithm, and "man 7 tcp" says Nagle is what NODELAY disables. [10:14] Ah, right. But disabling Nagle doesn't affect whether you're waiting for ACK's; just how quickly you send your bits at a level above that. [10:15] Right, but if Nagle is disabled, why would it wait for an ACK to send a second small packet? [10:15] Because Nagle is sorta "higher level" than that. [10:16] Nagle determines "how long do I wait to finalize this packet and pass it down to be sent". Waiting for an ACK happens at a layer below that, where it figures out "how many packets/bits can I have inflight at once". [10:16] It's odd that you'd have such low limits over loopback, though. Slow-start? That should be auto-disabled on loopback or local nets... [10:17] <[CroX]> I'm trying to branch from a FTP, but my username has an at sign (@) in it, which causes Bazaar to fail. How can I make this work? [10:17] CroX: URL-escape the @ [10:17] [CroX]: URL-encode the @ (%40 I think?) [10:19] * spiv wishes he had a copy of TCP/IP Illustrated handy... [10:19] Normally, mine would be about 2.5 feet from me. [10:19] <[CroX]> fullermd: Great, that seems to have worked. :) Now, to figure out why it wont see the branch.. [10:19] Unfortunately, it's currently in storage as a side effect of my place being hit by a tornado :| [10:21] fullermd: Hmm, I thought slow start wouldn't be relevant when talking about so few bytes. The initial window size is 32k, according to wireshark. [10:23] Yeah. Shouldn't be relevant period over loopback; 32k sounds like a standard full window size. [10:23] <[CroX]> Wow, bazaar just worked. That's awesome. And with bare FTP even. :) [10:23] fullermd: my naive understanding was that modulo Nagle, it was the number of unACKed payload bytes that mattered, rather than the number of individual tcp segments outstanding. [10:23] fullermd: I guess I'm wrong :) [10:24] I have very vague memories that there is packet scaling hidden somewhere in there too. But I could be dreaming. [10:24] It could just be a weird artifact of something on your system or something in the kernel or yada yada. Could be worth a try in a few different situations. [10:26] fullermd: yeah. But if I have weird voodoo on my system, I'm probably not the only one. [10:27] fullermd: (it's just a laptop running Hardy, after all) [10:27] Oh, well, a laptop. 1 packet inflight limit is a power-saving measure 8-} [10:28] fullermd: so fixing/changing my system doesn't really help deal with the problem, I need to fix it in the code one way or another. [10:30] Yeah. [10:30] Wish my copy of Stevens were handy :( [10:30] Until today, I thought setting the NODELAY flag in the code was adequate, but it appears I actually have to avoid calling send repeatedly :( [10:30] Which at least has the advantage of being definitely portable ;) [10:31] Yeah. If you buffer it long enough, it's even DOS 2.1 compatible ;) [10:36] can I rename a branch inside a repo without drawbaks ? [10:37] visik7: Well, references to that branch won't be updated, but other than that it should be fine. [10:37] Assuming by 'repo' you mean a shared repository. [10:38] yes [10:38] mm dunno [10:38] init-repo [10:49] Yeah. [11:04] When using dumb http, is gzip compression enabled? [11:07] our data files are already gzip compressed (except for the indices) [11:07] * Peng blinks. [11:07] Right. [11:24] where does one find a list of allowed values in --log-format? [11:24] It lists them in the 'log' help. [11:25] no, it does not. there is a description and examples and that's all. [11:26] Sure it does, right below it; line, long, and short [11:26] it says: [11:26] --log-format=ARG Use specified log format. [11:26] what can I put in ARG? [11:26] --line Log format with one line per revision [11:26] --long Detailed log format [11:26] --short Moderately short log format [11:27] you mean I can't create my own format? just line, long and short? [11:27] You can via a plugin. [11:28] AFAIK registering the log format will add it to the list in help. [11:28] ok, lets say that having the --log-format option _and_ the formats as options is not very intuitive. [11:29] --log-format=ARG makes you think about something like --log-format="%r %f ..." [11:29] thank you for the clarification [11:30] It could be a bit clearer in the help. Seems to me we've gone aronud that a time or two in the last few years... [11:36] jelmer: i have #186876 (with http://svn.gnome.org/svn/eog/) on bzr-svn 0.4.10. launchpad says fix is released.. do you want a new bug opening? [11:37] jelmer: it also hits if i branch /tags/EOG_2_16_2/ rather than svn-import [11:59] Hi! [12:00] I have a question about bazaar, I'm using a central repository where I store web modules versioned with bazaar [12:01] When I start a project, I want to get some of those apps, so I do a checkout of the applications I need into the project [12:01] The project is versioned as well, but bazaar doesn't version the checkouts of the apps. Can I change this? [12:02] What I need is to version a bunch of checkouts of other applications [12:02] There are 1.5 ways of doing the overall task. [12:02] The .5 is versioning the checkouts, which is the NestedTree stuff. It's only .5 because it doesn't usably exist. [12:03] The other one is not checking them out, but merging them in, which has a different set of tradeoffs. But you can do it. [12:04] merging? are there any docs about that? [12:04] (not, perhaps, as smoothly as you can when NestedTree's come in, since they also address a variant of that case) [12:04] Well, it's just like any other merging, except you're merging branches with no common ancestor [the first time you merge them in], so you have to explicitly give the revision range. [12:04] You end up with a branch with multiple initial revisions, but that's no problem. I do it all the time. [12:06] ok, but I don't really understand what you are saying, I'm a kind of newbie in bazaar :-) [12:06] you mean using bzr pull? [12:06] No, using `bzr merge`. [12:07] ok, I have to read about this [12:07] So nested trees are still in development? [12:07] In "normal" merging, the branch you're merging is based on [an older version of] your current branch. [12:07] In this particular case, it's not. So it's a kinda special case, but it all Just Works(tm) about the same. [12:08] ok [12:08] Yeah. The general impression I have is that much/most of the backend support exists, but there's no frontend to work with it (which also means the backend is probably full of sharp corners) [12:09] It's fairly back-burnered behind other priorities. [12:09] ok [12:11] Thank you for your help, I'm gonna try [12:13] 1 more question, if I make changes to this merge directory, and then I want to commit them to the application, can I do it? [12:16] Yes, that's one of the tradeoffs of merging the modules in rather than having them checked out. [12:16] Since they're merged in, you can make and maintain local changes from the 'upstream'. [12:16] that's cool,I'm gonna try it [12:26] igc: i'm not coming anywhere with darcs2-git...i installed latest tailor and now building latest darcs with some new patches which should improve migration of larger repos...in any case, i'd say that, atm, tailor is the best 'front-end' for migrating from darcs [12:32] gour: interesting. thanks for the update [12:40] igc: darc2git produces something like http://rafb.net/p/xClKaI75.html for looong time and not coming anywhere [12:45] gour: so the beauty of the fast-import architecture is that front-ends can be written using what language makes the most sense ... [12:46] gour: I would expect that the one for darcs would be best to be written in haskell [12:46] igc: right...now i'll test tailor by converting darcs' repo into bzr [12:47] gour: hope it goes well [12:47] I'm heading off now [12:47] igc: the tailor's dev wrote me: "AFAIK it's the only tool able to translate a repo like darcs2 [12:47] night all [12:47] into something else, to date" [12:47] night [12:47] (tailor) [12:47] let's see === pickscrap1 is now known as pickscrape [13:28] how would I go about starting a new repository from python code? bzrlib.repository.Repository(...)? [13:30] jelmer: ping [13:30] lifeless, hi [13:31] TheSheep: look at bzrlib.builtins.cmd_init and cmd_init_repo [13:31] jelmer: in bzr-gtk, if you go to global preferences, plugins tab, the text down the bottom appears wrong [13:31] lifeless: thanks! [13:32] lifeless, please file a bug [13:32] :-) [13:35] jelmer: ping [13:36] j2ck: hi [13:36] hi [13:37] i have a bzr-svn bug that is already reported against 0.4.8 with "Fix Released" - i'm getting it in 0.4.10. shall i raise another bug? [13:37] (https://bugs.edge.launchpad.net/bzr-svn/+bug/186876) [13:37] yes, please file a new one since launchpad can't split bugs [13:37] Launchpad bug 186876 in bzr-svn ""The file id FOO is not present in the tree" on svn-import" [Medium,Fix released] [13:37] okie dokie [13:50] jelmer: https://code.edge.launchpad.net/~lifeless/bzr-svn/help/+merge/277 [13:51] jam: ping [13:51] lifeless, thanks [13:57] jelmer: you will probably want to do it differently, but the concept should be clear [14:00] lifeless: That pretty much duplicates what's already in README [14:01] and adds yet another place to update the feature list, etc [14:01] jelmer: right; in my plugins I put less in README [14:02] jelmer: to put it differently, online help FTW [14:04] lifeless: I don't like the online help system [14:04] It's ok for dynamic things (commands list, formats list) since there's no real alternative there [14:05] for everything else I prefer just files I can browse however I like [14:07] jelmer: most users won't know where to find README in a installed bzr-svn package [14:07] jelmer: I don't want you use any system other than what you find best; [14:07] jelmer: but I love the online help system for making things discoverabble [14:07] lifeless, I'm ok with providing help topics if that helps some people [14:08] I'm just concerned about the maintainance overhead of having both (and the wiki) [14:11] I would be inclined to write a script to: [14:11] export the local help to the wiki [14:11] create the local README from a template which you fill out from the module docstring [14:14] yeah, that would work === brilliantout is now known as brilliantnut [14:22] anyone know how to get commit-notify working ? [14:22] I got it in the help [14:22] but when I run bzr commit-notify I got this: [14:23] jelmer: would you please commit your last bzr upload to unstable to the packaging branch? [14:23] bzr: ERROR: unknown command "commit-notify" === pmatulis_ is now known as pmatulis [14:27] maybe becouse the registration of the command is commented [14:28] its not commented in my copy of gtk trunk [14:28] in hardy is commented [14:28] uncommenting it cause a crash [14:28] saing: [14:28] from bzrlib.plugins.dbus import activity [14:28] ImportError: No module named dbus [14:29] yes, it needs bzr-dbus [14:29] oh [14:29] stange package choices [14:30] siretart: done, sorry [14:31] lifeless: it used to be disabled because bzr-dbus wasn't packaged I think [14:32] lifeless: sid already has a fixed version (now that bzr-dbus is also packaged) [14:33] jelmer: it's all packaged [14:33] on hardy [14:35] visik7: that's the original reason it was disabled [14:35] bzr-dbus doesn't appear to be in ubuntu yet [14:35] actually [14:36] jelmer: you are right [14:36] I've the ppa repository of bzr [14:36] :) [14:47] jelmer: no problem, thanks! [14:54] what commit-notify is supposed to do ? [14:54] I change my files on a branch but doesn't popup anything [14:55] it should notify you of commits from the notification area [14:56] if you changed + committed it should show up [14:57] mmm [14:57] no [14:57] :( [14:58] visik7: did you follow the instructions for setting up the dbus plugin? [14:58] visik7: ppa contains an old version of that plugin so I'm not sure if it does all the necessary setup [14:59] jelmer: was there instructions ? [14:59] visik7, I don't recall, sorry [14:59] visik7: hmm, looks like it does the required setup already actually [15:00] visik7: and you've got "bzr commit-notify" running? [15:00] yes [15:00] you may also have to restart dbus [15:01] mmm [15:01] restarting dbus was not a good choice [15:02] but does it need to be executed inside the branch ? [15:02] or it monitoring the bzr commit command ? [15:05] visik7, "bzr commit" sends a message to dbus which then propagates it on to "bzr commit-notify" [15:05] it doesn't do anything uff [15:05] so no need to run it in the same branch [15:05] anyway it doesn't popup === yacc_ is now known as yacc [15:06] If I understood that correctly, bzr is capable of pushing/pulling via ssh. And most importantly, I can use pull from the other direction instead of push? [15:06] jelmer: dbus-monitor doesn't show any message from bzr [15:06] yacc, yes [15:06] yacc: yes [15:07] visik7, looks like bzr-dbus isn't loaded correctly in your local bzr then [15:07] visik7, I'd recommend trying newer versions of bzr-dbus and bzr-gtk [15:07] :( [15:07] I'll wait until some newer version on ppa [15:07] of both [15:08] if sometimes in the feature it will happen [15:08] I don't update ppa anymore [15:08] Nooooo [15:08] :( [15:08] you may be able to use the package in sid though [15:08] backporting from ibex ? [15:09] or request a sid->intreprid import [15:17] how do i check the head revision of a remote bzr repos? [15:21] jelmer: I've 0.1~bzr34-1~bazaar1~hardy1 [15:21] jelmer: on sid/ibex there is bzr35 [15:22] Ok, is it a good idea to mix bzr 1.3.1 with bzr 1.5 when interoperating? [15:22] hello [15:23] bzr: ERROR: Cannot lock LockDir(http://bazaar.launchpad.net/%7Eemgent/ubuntu-cve-tracker/universe-security-updates/.bzr/repository/lock): Transport operation not possible: http does not support mkdir() [15:23] some idea? [15:23] emgent: http is readonly afaik [15:24] emgent: did you run "bzr checkout http://bazaar.launchpad.net/%7Eemgent/ubuntu-cve-tracker/universe-security-updates/" ? [15:24] james_w: mmh, no just a moment :) [15:25] yacc, yes, shouldn't be a problem [15:25] emgent: don't, you're not supposed to :-) [15:25] emgent: that's just the usual cause, but not the usual one. [15:25] visik7, yes - what about it? [15:25] emgent: try 'bzr update' :P [15:25] emgent: what operation are you doing? How did you get the branch that you are working on? [15:26] simple push [15:27] emgent: try "bzr push --remember bzr+ssh://emgent@http://bazaar.launchpad.net/~emgent/ubuntu-cve-tracker/universe-security-updates/.bzr/repository/lock" [15:27] now, checkout in progress [15:27] i will try, thanks :) [15:27] Hmmm. [15:27] No revision control details recorded for Bazaar Bookmarks Plugin Series: trunk. [15:27] <= where do I get then the bookmarks plugin? [15:28] emgent: if you run "bzr lp-login emgent" then the above becomes "bzr push lp:~emgent/ubuntu-cve-tracker/universe-security-updates" [15:28] yacc: https://code.edge.launchpad.net/bzr-bookmarks/ [15:29] ndreas@andi-lap:~/.bazaar/plugins$ bzr branch https://code.edge.launchpad.net/bzr-bookmarks/ [15:29] bzr: ERROR: Not a branch: "https://code.edge.launchpad.net/bzr-bookmarks/". [15:30] yacc: it's not a branch, it's a webpage that lists the branches of the project [15:30] thx. [15:30] bzr branch lp:~luks/bzr-bookmarks/trunk [15:35] james_w: ok solved [15:35] is there something like a bzrweb ? [15:35] thanks. [15:35] emgent: no problem [15:35] visik7: look in to loggerhead, and bzr-webserve [15:35] visik7: yes, loggerhead, bzr webserve etc [15:36] loggerhead is probably a better bet long term (as launchpad uses it so its getting lots of care) [15:44] What protocol does bzr assume when it gets something like user@hostname:dir ? [15:44] I'd expect it to create /home/user/dir on hostname, but I'm somehow a directory short. [15:45] Ok, that's a local directory ;) [15:46] I think it assumes you're giving it bad input :) [15:47] jamesh: push and pull are notified [15:47] james_w: but local commit aren't [15:47] ops [15:49] yacc: right, anything that doesn't have a scheme is assumed to be local, AIUI [15:50] Are there decent bzr gui tools available for the Mac? [16:09] yacc: without a protocol it will assume local disk [16:09] ladies and gentlemen, #bzr has arrived. we now have an insane Finn on-channel. a prerequisite to a "real" IRC experience. [16:10] mneptok: Man, I miss the days when every IRC channel had a good, crazy Finn or two [16:10] liw: has import performance notiable degraded as that repository grew ? [16:10] mneptok, I don't see why it's insane to keep disk images in bzr [16:10] radix: watch out for the mickey's [16:10] lifeless, not that I noticed, I can instrument when I import universe [16:11] (My first IRC experience was in a channel called callahans) [16:11] liw: as long as they are encrypted, multi-petabyte images, you should be OK [16:11] liw: it worked? [16:11] james_w: main did [16:11] james_w: 5.6Gb repository/packs dir [16:12] james_w, one repo for all source package, one branch per source package, ubuntu main: worked [16:12] ooohhh! [16:12] a single pack? [16:12] bob2: single pack repo [16:14] liw: how long does it take to 'bzr branch' one of the main packages? [16:16] lifeless, with the script to unpack universe sources also running, 46 seconds real time, of which 12 seconds user, 2 seconds system [16:16] lifeless, for abiword [16:17] not bad [16:18] Hi all. [16:19] I have two trees I want to apply a change to. One is a superset of the other. [16:20] So, I branch from the smaller one, apply the patch, commit. Then I branch from the other, "merge ../subset", "commit". [16:20] All that makes sense and I'm happy with it. [16:21] But, "bzr missing" only shows that merge commit message, which I didn't add a lot of description to, as there was nothing to say that wasn't in the first change message. [16:23] I /guess/ that "missing" only shows the left edge of the graph, when all my useful information is in the right edge. [16:23] uhm [16:23] In any case, is there a way to show what my branch has outstanding beneath that "merge" change? [16:23] missing shows left hand only yes [16:24] bzr log REMOTE -r -1 [16:25] Missing shows both sides unless you instruct it not to, no? [16:30] yes [16:30] lifeless, ah, perhaps "bzr log -r ancestor:REMOTE.." [16:30] but only the left-hand edge within each side [16:31] ...but that's making some assumptions about order. [16:32] How does one rebuild the checkout tree from .bzr? [16:32] lifeless, The use of left edge for revno ordering makes sense, but I don't see any reason to prefer it for any other operation. [16:32] It's completely arbitrary. [16:34] yacc: 'bzr checkout .' or you can use some 'bzr reconfigure' option, but I don't know what the option is offhand [16:34] lessless bzr checkout . is ok. [16:34] CardinalFang: its sufficient yo describe what you need to pass to merge or pull to obtain the detail, and it describes the merges done so is sufficient [16:47] one can register project under lp and then have several 'products' under it? [16:47] like different components of the project [16:48] gour: yes [16:48] luks: ta [16:51] where are the terms and conditions of launchpad usage ? [16:52] lifeless, maybe if the output of "missing" we such that I could put it in backticks and for parameters to something else, I would agree with you. [16:52] sorry for all those questions, but I'm stuck again: how would I add a file to a memorytree, without actually writing that file to disk? [16:53] lifeless, Which would you like, a patch to fix the wording of "Purpose: Show unmerged/unpulled revisions between two branches.", or a patch that shows the unmerged revisions between two branches? [16:54] visik7: https://help.launchpad.net/Legal [16:54] gour: hm, looks like I was wrong. I know I created one such 'project group' myself some time ago, but I can't find a way to do it now [16:56] lifeless: That push I was complaining about ultimately took 2394 seconds. [16:57] That's without copying any revisions, because they were already present. [16:57] so only opensource projects hosted on launchpad [16:57] right ? [16:57] just to be sure [17:12] abentley: I *think* it might be because the LP tree has a lot of ghosts, which confuse the RemoteRepository.get_parent_map() code [17:12] I'm guessing, though [17:13] abentley, lifeless: Certainly I remember looking at the debug log and seeing that it was transmitting several queries of the same length [17:13] all of them something ilke 177kB long [17:13] and that is generally upload bandwidth bottlenecked [17:14] The good was that it seemed to actually change the revision ids [17:14] the weird was that the queries were *exactly* the same length each time [17:40] Is there anywhere I can go to have a look at what's 'landed' for 1.6 so far? I like to keep up with such things. I'm sad, I know... [17:40] BTW my presentation went well. Unless something unforeseen happens we're going to be switching to bzr (from svk) soon. [17:57] pickscrape: NEWS in bzr.dev. [18:07] pickscrape: or "bzr log http://bazaar-vcs.org/bzr/bzr.dev --short --limit 100" to see the last 100 merges. [18:07] kewl... [18:11] jam: casual inspection suggests that latency dominates when doing those get_parent_map queries. [18:13] Is there some equivalent of git's 'show' command? i.e. I want to see one revision, including log and full patch. [18:14] bzr log -r 123 ; bzr di -c 123 [18:14] The -c meaning --change.. i.e. the change introduced at 123 [18:14] Would anyone be opposed to a show command that does that for you more simply? [18:15] (Just thinking of something fairly simple I could do mysqlf) [18:15] myself. Bah, I can't type myself without typing mysqlf [18:17] I suppose 'show' would be a prime candidate for a plugin... [18:26] pickscrape: considering that there have been multiple requests to add diff display to log, "log -p -r 123" will probably do that in the future. [18:27] Can it be that bookmarks are not support for bzr pull ? [18:28] (lookery)andreas@andi-lap:~/customers/lookery/trunk$ bzr pull bookmark:lookery-cluster [18:28] bzr: ERROR: Not a branch: "/home/andreas/customers/lookery/trunk/bookmark:lookery-cluster/". [18:30] abentley: yes, that would do it too [18:32] Any one here using the bookmarks plugin? === mw|out is now known as mw === mw is now known as mw|food [19:13] yacc_: 'bzr pull' doesn't work with custom handlers like bookmark: or lp: [19:13] it's a bug in bzr, not the plugin === mw|food is now known as mw [19:39] abentley: wheeeee [19:52] is there meant any sort of consistent use of error codes in bzr? and if so is there somewhere where they are all listed? [19:53] oh wait... I see what's happened, ignore me [19:53] * TheSheep obediently ignores Pilky [19:54] heh === brilliantnut is now known as brilliantout === brilliantout is now known as brilliantnut [20:50] is there a way to setup a working tree on a shared repository ? [20:50] I can't figure out how [20:54] No, the concept is nonsensical in bzr. Working trees only have meaning on branches. [20:55] (now, you could make the working tree of a branch in the root of a shared repo. Whether that's sensible is another question...) [21:07] night all [21:10] lifeless: night. [21:15] fullermd: so a branch has a working tree right ? [21:17] if I branch into a remote server do I need to commit every push there ? [21:17] or there is some autocommit on push ? [21:17] Well, a working tree always has a branch. A branch doesn't need to have a working tree (or it may have several) [21:18] Push pushes commits; you don't commit pushes. [21:18] * fullermd crafts sentences out of as few words as possible :) [21:18] how can I have 2 working tree of a branch onto 2 machines ? [21:23] Using 'bzr checkout'. [21:24] and then I can commit from a machine to another ? [21:24] I mean [21:24] push [21:36] no ? [21:36] Anyone here on debian/unstable..? I've noticed sftp:// no longer works... [21:36] Though, bzr+ssh does [21:37] LeoNerd, do you have python-paramiko installed? [21:37] Yes.. It always used to work... this is a recent breakage (last week or so) [21:37] bzr: ERROR: exceptions.AttributeError: 'SSHSubprocess' object has no attribute 'get_name' [21:37] hrm, that's very odd... [21:37] LeoNerd: are you using 1.5? [21:38] I meant to ask here what was up with that, but my problem went away when I switched to 1.5 [21:38] ii bzr 1.3.1-1 easy to use distributed version control system [21:38] ii python-paramiko 1.7.3-1 Make ssh v2 connections with python [21:38] LeoNerd: so, upgrade bzr... [21:38] OK [21:38] * Incompatibility with Paramiko versions newer than 1.7.2 was fixed. [21:38] (Andrew Bennetts, #213425) [21:38] wasn't there a bug introduced in paramiko 1.7.3 but worked around in 1.4 or 1.5 ? [21:39] dato: too fast :) [21:39] that's from 1.4 [21:39] Aaah yes.. that's got it, thanks. === Pilky_ is now known as Pilky [23:01] bzr [23:02] hmm, is there a nice tool to cherry pick and merge patches with a nice UI ? [23:02] bzr [23:03] I can do it by hand with bzr merge -c ... yeah [23:03] bzr [23:03] ollman, ? [23:03] beuno, what do you want to know? [23:04] He's not a bot is he? [23:05] what is a bot? [23:05] if he is, he should be kicked [23:06] he is not a bot, what ever that is [23:06] Just thought it was weird that you kept saying "bzr" and nothing else. [23:06] Weird. [23:06] very [23:07] Maybe it was a bot, designed to act like it wasn't. Some sort of AI experiment. [23:08] bzr [23:08] . [23:08] yes [23:09] ollman: reboot [23:09] ollman: --help [23:09] you want help? [23:10] ollman: When Littlefoot's mother died in the original 'land before time', did you feel sad? [23:10] lol [23:10] never heard of it [23:11] hmm, inconclusive... we could try the tortoise problem? === weigon_ is now known as weigon [23:11] ollman: which is better: old Star Wars or new Star Wars? [23:11] the revenge of the sith is the best part [23:12] damn, he's good [23:13] beuno: actually no, he's crap [23:13] return of the jedi is the best ;) [23:13] hehe [23:13] :) [23:13] Might betray age. [23:14] empire strikes back is the second best part [23:16] you mean the best in the second part (or is that the previous revision (trying to get back on topic...)) [23:16] pickscrape: Age is no excuse, I wasn't even born when return of the jedi was out ;) [23:17] hehe [23:17] why do you want to talk about starwars? [23:18] ollman: where did you hear about bazaar? [23:18] what the hell is that? [23:19] a type of fruit [23:19] cunting hun [23:20] ollman, ñ [23:20] what? [23:20] (let's see if he's UTF-8 safe) :p [23:20] right, you win this round [23:20] ollman: where are you based? [23:21] in Switzerland [23:21] what time is it there? [23:21] 00:21 [23:22] and why are you in this channel if you don't know what bazaar is? [23:22] because it's interesting [23:22] why did you choose to come in in the first place though? [23:23] out of curiosity [23:23] odd [23:23] why is that odd [23:24] just find it a bit odd that someone would come in here just out of curiosity [23:24] ok [23:24] if you say so [23:25] and repeating bzr randomly helped the oddness too :) [23:25] alright [23:25] I like being odd [23:52] ah, k-lined isn't normally good