[00:08] poolie, ping? [00:10] emmajane: hi [00:10] nice to see you [00:10] poolie, and you as well. :) [00:10] are you in the UK and up really late? [00:10] have you got a few minutse? [00:11] sure [00:11] Indeed. It's gone midnight here. [00:11] just give me 2m here first though.. biab [00:11] np [00:25] morning [00:41] I need a better progress info for bzr branch [00:41] Event if I need to develop a plugin or use the bzr API [00:41] bzr checkout -v is not enough, it's sens stalled for long time [00:42] Anyone knows if it's possible? [00:57] spiv, hi, i have a call with francis in a bit [00:57] KeBugCheckEx: is this as a user of the command line or from your own program (ie at the api level) [00:59] poolie: I'll do it at the api level [00:59] KeBugCheckEx: so there are two layers: events fired from the core code to the uifactory [00:59] you can hook into that if you're eg using bzrlib in a gui or daemon === zirpu2 is now known as zirpu [01:00] and then if the core code is not sending enough progress events, i guess file a ubg [01:00] try using the breaking debugger (Ctrl-\ or Ctrl-Break) to see where it's spending time and not repotring it [01:00] for curiousity, what is the app you're doing this from, and on what platform? [01:00] poolie: I downloaded Bzr Explorer for Windows, it shows the same progress the bzr command does [01:01] lots of time in "Fetching revisions:Inserting stream" [01:02] nice nick btw [01:02] I'm testing on Windows XP and Ubuntu Server, bzr 1.17 [01:02] this is over the network? [01:02] testing with bzr branch -v http://bazaar-vcs.org/bzr/bzr.dev bzr.dev [01:04] KeBugCheckEx: on the command line you should get a network progress indicator? [01:04] Maybe it's to early to ask questions since I didn't study the api enough, but I didn't find any tool with a decent progress report [01:04] it may be that bzr explorer doesn't expose that [01:04] It shows the progress, but looks like it doesn't know how much is left to be downloaded [01:05] like this: http://www.ubuntu-pics.de/bild/24166/screenshot_20090909_09_37_17_rjPOI4.png [01:05] blah [01:05] not that [01:05] this: [#########| ] 2KB 0KB/s | Fetching revisions:Inserting stream [01:05] showing the network rate [01:05] bzr and bzr-explorer just show the bytes dowloaded but not how much there's left [01:06] the tool I'll develop will need to show how much MBs is left [01:06] ok [01:06] what tool is that? [01:06] I'll create a tool for non technical people based on bzr [01:07] open source of course :0( [01:07] :-) [01:07] but the repositories will be big [01:07] maybe gigas [01:07] ok [01:07] it's very important to show the user how much time is left [01:08] our current setup is to have the server stream out data as it works through history [01:08] so it doesn't necessarily know up front how much data it will send [01:08] however, we could probably give at least some estimate [01:08] of how many more revisions need to be copied [01:08] if you look at eg 'bzr check' it does i think show how many objects will be checked [01:08] so you get proportional overall progress [01:09] let me try the checkout... [01:09] if you hook in at that level, when the core is updated, your ui will be told [01:12] bzr checkout -v --lightweight looks better [01:12] Build phase:Adding file contents 533/1105 [01:13] I'm assuming 1105 is the number of files to download [01:13] can I copy a branch from a machine to another? copy the files? [01:14] creating a branch in /tmp, zipping and then sending it via http is a viable alternative for me [01:31] KeBugCheckEx: yes, that will work [01:31] 1105 is the number of files in the working copy [01:31] you should get that output from any command that creates a tree [01:31] spiv, hello? [01:32] So, if I ensure nobody is changing the branch I can copy the branch files, right? [01:32] right [01:32] Event form Linux to Windows? [01:32] yes [01:32] *Even* [01:33] nice! [01:33] make sure it's a standalone branch, ie includes the repository data too [01:33] If someout changes the branch after this I only need to merge [01:34] someone [01:34] ok, I thing I can start something with this info. Thanks! [01:35] god, I better go sleep or take some typing lessons... [01:52] poolie: good morning. [02:04] hi spiv [02:04] spiv, did your patch land? [02:06] poolie: no, a surprising number of tests try to commit invalid revisions. [02:06] I just fixed a test in per_workingtree, for example, which I wasn't expecting to be affected. [02:08] Mainly it's been that a lot of tests that create revisions directly, without creating the texts in those revisions. [02:08] And all 2a revisions have a root. [02:09] Ok, looks like per_workingtree is now passing. [02:10] Also, we have lots of tests that do: "start_write_group(); try: ...; except: abort_write_group(); else: commit_write_group()" [02:10] :/ [02:10] But actually when commit_write_group fails we still need to do abort_write_group(), otherwise the inevitable unlock will raise an error from the cleanups and hide the real failure. [02:10] what's the problem with that one? [02:11] So more correct is to put the commit_write_group inside the try, I think. [02:11] But I wonder if commit_write_group shouldn't actually be "commit_or_else_abort_write_group". [02:12] spiv: commit can lead to suspend, no? [02:12] spiv: not that I'm here today. [02:12] * lifeless goes :) [02:13] Because I don't think we ever try to recover if commit_write_group fails, so the current API is a bit suboptimal. [02:13] lifeless: actually, no [02:13] lifeless: we detect that case before trying commit [02:14] But anyway by far the most common case is "I want to either commit, or fail", but the current API makes that tedious. [02:15] spiv: I'd favour a helper rather than a larger contract for commit [02:16] Sure, I agree it's useful to have the smaller operation available. [02:16] We're just not doing a good job of catering to the common case, atm. [02:17] yeah, copy & pasting this seems bad [02:17] on phone [04:02] * igc lunch [04:35] poolie: my patch landed. [04:56] mwhudson: I'm sort of around, though not for long [04:57] jam: no worries [04:57] jam: i commented on a bzr/launchpad-code bug, it would be nice if you replied at some point [05:02] mwhudson: response sent [05:08] spiv, woo, way to go [05:10] spiv, did you get another review? it sounded like there were nontrivial changes there [05:12] jam: thanks [05:29] spiv: the fix for https://bugs.edge.launchpad.net/launchpad-code/+bug/424136 should be on staging by now, want to test it? [05:29] Ubuntu bug 424136 in launchpad-code "Cannot upgrade stacked branches from 1.9 to 2a on Launchpad" [High,Fix committed] [05:54] mwhudson: hmm, it should be straightforward to test I guess. [05:54] make a 1.9 trunk branch; make a 1.9 branch stacked on trunk; upgrade trunk to 2a; upgrade stacked to 2a. [06:12] igc, it's sphinx 0.6 you need? [06:28] mwhudson: hmm [06:29] mwhudson: when I try to upgrade my test trunk on staging I get bzr: ERROR: bzrlib.errors.ErrorFromSmartServer: Error received from smart server: ('error', 'mismatched lock context and write group. None, ') [06:29] mwhudson: oh, actually, nevermind [06:29] ! [06:30] That's probably just because I'm trying to push from a 1.9 local branch to a 2a remote, but the server is too old to support that sanely. [06:30] Oh, hmm, 1.18rc1 [06:30] Oh, right, but it doesn't support the new insert_stream verb, and yeah. [06:31] Known issue, I think. [06:32] mwhudson: (p.s. please upgrade lp to 2.0rc2 ;) [06:36] tests fail currently [06:40] * spiv waits for https://code.staging.launchpad.net/~spiv/+junk/test-stacked to find out if 424136 is fixed. [06:42] mwhudson: looks good, thanks! [06:43] spiv: yay [06:46] poolie: yes [06:47] igc, that's only in karmic [06:47] that kind of worries me [06:47] dependencies are a pain in the butt [06:47] despite all the work that's gone into modularity [06:48] poolie: the best result comes from sphinx 0.6 [06:48] poolie: I suspect it still works on earlier versions but I'd need to test [06:48] oh ok [06:49] poolie: it shouldn't be hard for us to support earlier sphinx versions [06:49] poolie: but we won't get the blue theming for example pre 0.6 IIUIC [06:49] i'm just worried about adding it at all, given the kerfuffle with putting it on orcadas [06:50] poolie: well I felt our *default* docs ought to look the best they can - see http://sphinx.pocoo.org/theming.html [06:51] poolie: less pretty colours in the docs for a given distro concern me much less, of course [06:51] by default, I meant our online ones [06:52] essentially i'm not feeling this is a good risk/reward tradeoff to land at this time [06:53] :-( [06:53] what do you think? [06:53] well, I'm not objective it [06:53] to me the main thing is to field it on the public site, and we can do that without putting it in the 2.0 tarball [06:54] i don't want to frustrate you, but i also don't want packaging to be held up [06:54] so [06:54] I've put a lot of energy into getting good pdf and chm docs ready for the win and os x installers [06:54] hm [06:54] they are really popular [06:54] i guess if this doesn't go in, we won't get chm etc? [06:54] right [06:55] or we won't get it split out by language, so it looks broken? [06:55] or just not at all? [06:55] and searching in html will suck as well [06:56] without this patch, we have no chm at all and no/very-little pdf at all [06:56] poolie: so the blocker is dependency on sphinx 0.6 [06:57] if it built with sphinx 0.4 or 0.5, that would be ok? [06:57] how about if i try this branch on jaunty [06:57] that will give us some data [06:57] sounds good [06:57] so sphinx is reasonably straightforward to install on windows? [06:57] and os x? [06:57] I'm on jaunty as well but will sphinx installed via easy-install [06:58] poolie: easy to install on Windows - I did that to build the chm's [06:58] poolie: on Windows, install python, install east_install via an installer and then use easy_install to grab sphinx [07:00] spiv, tell me about https://code.edge.launchpad.net/~spiv/bzr/set-tags-bytes-bug-2.0/+merge/10778 [07:00] it seems like that should land to 2.0? [07:01] did it bounce? [07:01] poolie: hmm! [07:02] also, do you have an opinion about changing to sphinx for documentation generation for 2.0? [07:03] I'm also wary of making life harder for packagers just before 2.0 [07:03] But I don't really know how much of a problem sphinx would be for packagers. [07:06] hi all [07:06] * bialix waves at vila [07:07] poolie: I don't know any reason why that set-tags-bytes-bug-2.0 branch hasn't merged yet. [07:07] hmm, regarding docs, it sounds a lot like we want to split the docs *out* of the bzr package like we do for installers, [07:07] * vila waves back [07:07] I've just merged in latest lp:bzr/2.0 to make sure the NEWS entry is in the right spot. [07:07] Oh, perhaps that's why, the 2a transition. [07:08] * spiv pushes to a new lp branch to workaround 424136 [07:10] hmm, still regarding docs, without looking at the code, ISTM that there should a basic way to produce the html docs from the source package, then, any installer branch can add its own way of generating specially targeted docs, chm, pdf, shiny web site, etc [07:10] that way we don't add dependencies on the source package. [07:11] poolie: testing on jaunty is hardly relevant, try, say, OSX, Fedora and FreeBSD. *Then* you'll get a batter taste of the dependency issue :-D [07:11] poolie: lp:~spiv/bzr/set-tags-bytes-bug-2.0-again is up-to-date, and not broken by the 1.9->2a transition. [07:12] poolie: I'm happy to fire that at PQM unless you'd rather have PQM to yourself for making a release? [07:12] Did I say jaunty is hardy relevant ? I should have, that's the current LTS [07:17] spiv, yes please, send it [07:18] poolie: ok [07:26] vila, you don't need to convince me, i'm the one that has doubts about it [07:26] :) [07:27] * fullermd waits for vila to question how well the docs show up in Mosaic :p [07:31] vila, see pm [07:55] easy_install fail - error: Can't download http://launchpad.net/bzr/2.0/2.0rc1/+download/bzr-2.0rc1.tar.gz: 404 Not Found [07:59] rockstar: 2.0rc1 had critical bug inside and was withdrawn [08:19] poolie: call? [08:20] fullermd: the interesting question, IMHO, is: can we still setup, on today's hardware, an OS where we can install Mosaic ? :-D [08:21] *Still* discussing Mosaic? [08:22] Lo-lan-do: welcome to VCS channel where you can have branched discussions that last forever ! [08:22] :-) [08:24] igc, hi [08:24] sure, call [08:32] poolie: the _set_tags_bytes fix landed, btw. [08:32] yay [08:32] First time, unlike the last patch :) [08:33] bug #424136 [08:33] Launchpad bug 424136 in launchpad-code "Cannot upgrade stacked branches from 1.9 to 2a on Launchpad" [High,Fix committed] https://launchpad.net/bugs/424136 [08:36] hmm, spiv, can you tell me more about that bug ? I successfully upgraded a couple of branches by doing: 'bzr upgrade bzr+ssh://lpnet' ignore the error, 'bzr reconfigure --stacked-on bzr+ssh://lp,net' pesting because I couldn't use lp url in the later, but otherwise, I got usable branches... I didn't check the public ones though [08:40] vila: it's the public ones that are the problem [08:40] vila: also, look at the branch pages for the branches you've upgraded [08:41] vila: oh, and beware the confounding bug that if you don't change the tip revision, lp won't try update the mirror AFAICT, even if the format has changed. [08:42] right, I upgraded branch to push, so there ;) [08:43] vila: for an example of an affected branch, see https://code.edge.launchpad.net/~spiv/bzr/insert-stream-check-chk-root [08:43] vila: https://code.edge.launchpad.net/~vila/bzr/test-isolation appears to be a victim of the same bug, for instance [08:47] spiv: right, I think that's where the 'bzr reconfigure --stacked-on' workaround help [08:47] spiv: do you mind if I try there or do you want to keep that as evidence ? [08:47] vila: no, go ahead. [08:48] vila: I don't care much, as mwhudson has fixed the bug anyway (although it's only rolled out on staging so far) [08:48] spiv: ok, thanks for the feeback ! [08:51] What would I have to do to info.py in bzr-git to make it work with bzr 2.0-rc1? [09:23] poolie: still here? [09:24] hmmm, every new repo/branch format changed the way how locking works [09:25] every time we have to accommodate qbzr internals [09:25] does 2a format is radically different from 1.9 re locking? [09:26] bialix: I don't think the design changed, but the usage may raise lock errors at different places/times... [09:27] * igc dinner [09:27] ...if not used correctly (bzr itself had bugs there) [09:27] Bug 426688 [09:27] Launchpad bug 426688 in qbzr "ObjectNotLocked opening diff from annotate on 2a branch." [Critical,Confirmed] https://launchpad.net/bugs/426688 [09:27] vila: ^ [09:27] exactly [09:27] bialix: it's not very different with regard to locking [09:28] perhaps there should be some guidelines for bzrlib users [09:28] I don't understand why it worked fine before and now blow up [09:28] i wonder if this relates to john's fix to fix shelve or something similar [09:28] bialix: sometimes locks were taken abusively and are not anymore, that leads to bugs like above [09:29] shelev fix is lifeless work [09:29] my mistake [09:29] poolie, bialix: It may very well be related to lifeless fix [09:29] bzr 1.17 [09:29] vila, poolie: ^ [09:29] it's not related [09:29] to lifelees fix [09:30] ok, still, it certainly mean you need to take a read lock where it was taken by bzrlib before (for wrong reasons AIUI) [09:30] i wish people would put useful reprs on [09:31] does locking a wt implicitly lock the branch and repo? [09:32] my question is more generic [09:34] 'why it worked fine before and now blow up' ? [09:34] sorry, what's the question? [09:34] That's what bugs are about generally... [09:34] bugs that appear to make things work being the worse kind ! [09:37] vila :-) :-) nice mail [09:37] poolie: thanks :) [09:47] vila: no, why it blows up every time new format is appears [09:49] bialix: same answer: new format, new bugs, now, giving the backtrace, it starts with a call to id2path() which is an important change in 2a (inventories), bugs there are not that surprising [09:50] heh [09:51] * bialix not planned to switch to new format because of all this stuff [09:51] it's a bit surprising that it ends up in a groupcompress index though [09:51] mm [09:51] i'd say this is a latent bug in either qbzr or elsewhere though [09:51] * bialix thinks 1.18.1 is the right thing to have as latest stable pre-2a default format [09:51] that it was getting away with it before [09:51] bialix: that's still a bug in qbzr IMHO [09:51] vila: yes [09:53] I'm really hope 1.18 can be a long term supported pre-2a release as poolie want for post 2a development [09:53] there is too much dependencies between various tools [09:53] bialix: how about if we add an option to 2.0 to set the default format [09:53] and then support 2.0? [09:53] maybe other people can jump right into 2a -- I can't [09:53] bialix: even for new projects ? [09:54] so when jam wrote he don't think 1.18.1 make sense -- it hurts [09:54] that's probably the last thing i should do today [09:54] vila: I don't have completelly new projects at work [09:54] I don't follow your reasoning, 2a becomes the new default format, but previous formats are still supported... [09:54] 2a is default when you start working [09:55] nobody forces you to *upgrade* [09:55] bzr init-repo will create repo in 2a, right? [09:55] this will be implicit upgrade [09:55] and then I can't push to my central repo [09:55] yes, you do that frequently ? [09:55] because of incompatible rich-roots, pfffs! [09:55] yes, I'm do new local shared repos frequently [09:56] for each customer we support, when new features need to be implemented [09:56] you can swallow the incompatible rich-root by upgrading to 1.9-rich-root or 1.14-rich-root [09:56] 1.9-rich-root is slower than pack-0.92, you know? [09:57] but 1.14 should be faster no > [09:57] but 1.14 should be faster no ? [09:57] 1.14 is base don 1.9, no? [09:57] 1.14 is just new wt format? [09:57] AIUI it has the faster indexes [09:57] so [09:58] if we made it read /etc/bazaar.conf [09:58] and there had default_format = 1.9 [09:58] then you'd get the same behaviour but from the different code base [09:58] or rather the same codebase [09:58] if you will allow 0.92 as well -- then great [09:58] 0.92 *is* still supported [09:59] I mean allow in bazaar.conf [09:59] sure [09:59] it's called --pack-0.92, ha, right, [09:59] bialix: want to choose a name for this release? :) [10:00] Nein-Nein-Nein :) [10:00] lol [10:00] last from Mogikan? [10:02] that's the name? [10:02] it's a place? [10:02] wait a sec [10:03] The Last of the Mohicans [10:03] James Fenimore Cooper [10:03] because it's the last post 2.0? [10:04] something like that [10:04] i wonder if Disney will trouble us? [10:04] it makes sense for those who read/saw the movie [10:04] I feel the joke [10:04] never mind me, I'm thinking in Russian [10:05] it's famous quote in our culture [10:06] hm [10:07] i think there is a cultural difference [10:07] how about if i use the way you originally spelled it? [10:07] lol [10:08] poolie: I realy had to shut up [10:08] anyhow, i want to get it out tonight [10:08] vila's variant is funny [10:08] oh, it is too [10:08] I hope spiv landed that patch for tags [10:08] to 2.0 yes [10:08] I've backported it to 1.18.1 [10:09] oh, he was going to land your backport? [10:09] he seems to land it [10:09] but to wrong branch [10:10] https://code.launchpad.net/~bialix/bzr/bzr-1.18-set-tags-bytes-bug/+merge/10811 [10:10] poolie: my proposal will not be fun at all if you don't release today :) [10:10] vila: genau! [10:10] vila: oh [10:10] you mean 9-9-9 [10:11] bialix: yup, double meaning :-) [10:11] I've recall Hitler "nine" from recent movie [10:11] bialix: Infurious Bestards ? [10:11] yep [10:11] saw the trailer [10:12] poolie: is it possible to land https://code.launchpad.net/~bialix/bzr/bzr-1.18-set-tags-bytes-bug to 1.18.1? [10:12] Watch it undubbed (sp?), Brad Pitt accentS are hilarious ! [10:12] yes [10:12] spiv has not landed it [10:12] i'll merge it [10:12] vila: ok, will wait for dvd with English sound and subtitles [10:12] in fact i am merging it [10:12] vila: especially the italian one :) [10:13] luks: indeed ! [10:13] hi luks [10:13] hey [10:14] bialix: there is more german and french than english [10:17] well, in Ukraine I believe our brave translators cut out german and french and leave only ukrainian [10:17] heh [10:17] so original DVD sound is cool for listen [10:17] yep [10:19] bialix, was there a bug for that change? [10:19] i think there was [10:19] yes, it was [10:20] Bug 418931? [10:20] Launchpad bug 418931 in bzr "AssertionError: _remember_remote_is_before((1, 18)) called, but _remember_remote_is_before((1, 15)) was called previously" [High,Fix committed] https://launchpad.net/bugs/418931 [10:20] yes, that bug [10:21] poolie: ^ [10:23] lp is a bit down [10:25] poolie: slow, but not down [10:28] ok, i'm sending 1.18.1 to pqm [10:32] ok that's it for me [10:56] vila: do you want long answer in e-mail about setup.py? [10:56] I think you can look at qbzr's setup.py and its extras/ [10:56] to get some impression [10:58] oooh, so you meant, 'that' already what qbzr does' not 'we don't need that stuff' ? [10:59] I've lost in ' signs [10:59] sorry, reading /extras/* [11:00] bialix: what qbzr did is exactly what bzr needs to do there, and igc should really look at build_docs for example, it sounds like a far easier way to make sphynx a soft dependency that trying to do that from the Makefile [11:01] bialix: now, I don't really know hoe bzr setup.py and plugins setup.py can collaborate, but I'm sure we'll find :) [11:01] s/hoe/how/ [11:02] bialix: Do we agree ? [11:05] bialix: still there ? [11:14] vila: ping, I'm back [11:14] ha ok, so ^ [11:15] [13:00] bialix: what qbzr did is exactly what bzr needs to do there, and igc should really look at build_docs for example, it sounds like a far easier way to make sphynx a soft dependency that trying to do that from the Makefile [11:15] yes, I agree here [11:15] [13:01] bialix: now, I don't really know hoe bzr setup.py and plugins setup.py can collaborate, but I'm sure we'll find :) [11:15] ^ I think all setup.py should be importable [11:16] i.e. call to setup() function should be guarded with if __name__ == '__main__' stuff [11:19] ooooh, so we can use 'from bzrlib.plugin.qbzr import setup as qsetup' for example and collect anything we need ? [11:19] bialix: sounds like a very good plan [11:29] bialix: so may be you should point to qbzr/extras stuff in that mail discussion so that we converge [11:37] .ьу иид [11:37] * bialix bbl [12:27] vila: ping [12:27] [13:19] ooooh, so we can use 'from bzrlib.plugin.qbzr import setup as qsetup' for example and collect anything we need ? [12:27] ^ yes === mrevell is now known as mrevell-lunch [13:38] hello [13:38] I'm getting AttributeError: 'module' object has no attribute 'ProgressBarStack' when inspecting a file with loggerhead [13:39] loggerhead 1.10-1 from debian testing, bzr1.17 from the same [13:43] Hi Everyone [13:46] just upgraded to 1.18, problem persists === mrevell-lunch is now known as mrevell [13:54] sometimes i like to commit just to save a checkpoint even if i don't intend the commit to be permanent (i.e. a mess of files left over from some aborted experiment) [13:54] *e.g.! [13:54] is there a way i can re-organise such commits at a later date? [13:55] and what are the implications on the sequential revision numbers? i think git sidesteps the problem by using hashes [14:00] alex-weej: the revnos are just aliases (and are unique to any branch) [14:00] s/unique/local/ [14:01] alex-weej: speaking personally [14:01] when I have to do what you're describing [14:01] hey AfC :) [14:01] I make a commit with a log message like "CHECKPOINT" and it's pretty obvious that the next morning I'll be uncommitting that. [14:01] alex-weej: yo [14:01] lol yeah [14:01] lvh: hmm, sounds like your loggerhead is trying to use an old bzrlib API. [14:01] alex-weej: others use `bzr shelve` for this sort of thing [14:02] alex-weej: I use `bzr commit -m "CHECKPOINT"` ... and then switch away to another branch [14:02] ok i got another question then, when i want to merge changes from a workmate's branch [14:02] alex-weej: that all said, [14:02] alex-weej: I should observe that there's a slight cultural difference 'round here [14:03] alex-weej: in that most people would probably encourage you just to commit with a half decent attempt at some vaguely almost useful sentence as a log message, [14:03] alex-weej: and then just carry on from there (ie, no uncommit later) [14:03] hm. a lot of the time i just want a kind of undo history when i am doing some dirty development. i should probably hack better, though, really. [14:03] alex-weej: while there is a rebase capability lying around, most of us tend not to use it. Just merge, and carry on. It's not lkml [14:04] alex-weej: (ie, I review patches at merge time. I really do encourage people contributing to me to write good log messages so the annotation is good, [14:04] I do rebase, but not to change history. [14:05] alex-weej: but on the other hand, if people are doing small to micro commits then, well, the usefulness of individual log messages starts to go down) [14:05] I use it to port local branches to an SVN trunk, so I need to linearise. [14:05] Lo-lan-do: perhaps, but if *anyone* else has access to your previous branch, well, then you're recreating history. [14:05] if it's just you and not published, then {shrug} [14:05] They don't, that's thte point :-) [14:06] [I don't push to subversion any more, and I publish everything including work-in-progress, so... [14:06] I have to assume someone else might have a revision I've made] [14:06] when i want to merge changes from a workmate's branch, i look at it and see that i want to merge e.g. up to revision 17, but in the time it takes me to type bzr merge -r 17 /path/to/branch, revision 17 may have been changed! i tried to use one of the revision IDs with some kind of number and a hash, but "merge" didn't accept it. [14:06] Well, technically the clients for whom I developed the stuff could see it, but in practice they don't even look. [14:06] alex-weej: um [14:06] moin AfC, Lo-lan-do [14:06] alex-weej: 17 won't have changed [14:06] ... oh [14:07] alex-weej: so -r takes all kinds of things [14:07] -r 17 is shorthand for -r revno:17 [14:07] from there we can consider [14:07] alex-weej: "bzr merge -r revid:FOO" is how you use the long identifier for a revision. [14:07] -r tag:v4.0.7 [14:07] spiv: So, update loggerhead? [14:07] alex-weej: see also "bzr help revisionspec" [14:07] ahhhh [14:07] lvh: at a guess, yeah. [14:07] but what you want is what spiv just saidm [14:07] AfC, spiv, thanks :) will use revid [14:07] i love bzr!! [14:07] I'd love to get away from SVN too, but I still have to contend with git users, so until bzr and git can cooperate fully we keep SVN as a pivot. [14:08] -r revid:andrew@operationaldynamics.com-20090909023536-f0n026ookg9j64vr [14:08] (Which is why I'm a pain in jelmer's neck from time to time :-) [14:08] lvh: https://launchpad.net/loggerhead mentions a 1.17 release, so my guess is 1.10 is pretty out of date. [14:08] alex-weej: also, [14:08] alex-weej: you could just do "bzr merge /path/to/branch", then review then changes with "bzr diff", and then either revert or commit. [14:08] alex-weej: while revnos are specific [local] to a given (and each) branch, they are somewhat usable on (say) a published 'mainline' that everyone else is merging in from [14:09] alex-weej: but yes, be aware that there in (say) my ~/src/java-gnome/ directory, I have many many branches [14:09] spiv: yeah good point, i forgot it wasn't an automatic commit [14:09] with revno 646 in them. [14:09] alex-weej: then if the other branch changes since you did the merge, it doesn't matter; those changes won't affect what you commit. [14:09] alex-weej: even if it was an automatic commit, there's always uncommit ;) [14:09] (which could refer to different things if these various branches all forked off of mainline at, say, revno 640) [14:10] alex-weej: what you and I call cherry picking is [still] a bit funny around here. If you find yourself fighting it, give me a shout and I'll do my best to talk you through the possibilities. I've been fighting it for 3+ years now [14:11] i thought it was just merge -r 19..20 or something? [14:12] alex-weej: yes... but revisions are tree states, not diffs [14:12] hmm [14:12] but in several permutations you can pull in a patch without pulling in / merging "revisions" which, as far as I'm concerned == loss of history. Which I continue to be very grumpy about [14:12] eugh [14:12] alex-weej: anyway, if you just merge a branch, or a branch up to a revno [14:13] well, hopefully never have to do it [14:13] then in come the revisions. [14:13] as you'd expect. [14:13] $ bzr status -v [14:14] after a merge before committing it will show you all the revisions you're merging in. That's useful to keep an eye on. [14:14] hello jelmer_* [14:15] alex-weej: (essentially, you will either not notice this at all, or hit it all the time. All depends on your usage habits. As a maintainer & gatekeeper trying to be selective about things, I hit it a lot, but the problem goes away the more I encourage people to submit orthogonal branches) [14:16] everyone else here uses it as if it was cvs [14:16] alex-weej: at the end of the day, though, just merge branches. It'll do the right thing. [14:17] but say i am working on my mainline, and my boss asks me to put a new feature that's in mainline into the deployed stable branch... i can't just merge all the way up! [14:17] alex-weej: yeah, that's when you have to start cherry picking [14:18] Maybe bzr replay would work here, although it's still not recorded. [14:18] alex-weej: probably have a read of http://blogs.operationaldynamics.com/andrew/software/version-control/bzr-orthogonal-patches.html . That might be a bit outdated now, but it's where I was a couple years ago. [14:19] alex-weej: in the case you're describing, [even if you happen to use a -r range to get the delta you're looking for], you really are creating a new changeset and on committing a new revision [on your stable release branch] [14:20] anyway, I'm still a bit sceptical. I but heads with the bzr hackers about this all the time [14:20] so when you use -r a..b it's not really merging revisions? [14:21] alex-weej: you're merging revisions but bzr can't track cherrypick merges at the moment [14:22] so it won't remember what happened there and can't use that fact when you're doing merges in the future [14:22] oh right, so it is likely to conflict in the future if i merge the whole branch? [14:23] or is there some other issue i'm overlooking? [14:23] sorry i'm still quite new to dvcs really [14:23] alex-weej: it [probably] won't conflict if the lines of text are the same (which they will be). [14:23] alex-weej: [that's sorta the point of the essay I linked to above] [14:26] alex-weej: fwiw, have a read of the "Getting Started" section of http://java-gnome.sourceforge.net/4.0/HACKING.html ; it's not really that java-gnome specific [14:26] alex-weej: Bazaar also has a thick extensive user manual, which has the drawback of explaining that there are 6 different ways to use the thing. [14:27] AfC: ok, don't have time to read it now though as i'm on the clock. have bookmarked :) [14:27] thanks for your help, i need to write some code though now! [14:28] alex-weej: (admittedly that talks about the contributor side of things, not the maintainer viewpoint) [15:11] is there a plugin that allows you to selectively commit a la shelve? [15:11] interactive? [15:12] phinze: not that I know of, but you can use shelve and *then* commit :-) [15:13] vila: yeah i do that a lot, looking to cut out that extra step... looks like lp:bzr-interactive might do it... checking it out [15:14] yup, adds `bzr commit -i` ... with colored output and everything, nice! [15:15] That should be fasttracked to mainline, I think :-) [15:17] Lo-lan-do: +1 here, from inital usage [15:18] And I said that without even initial usage :-) [15:19] That and interactive rebase with squashing, and git is dead. [15:19] (maybe) [15:20] Oh, and cherrypicking. And milliseconds-fast, too. [15:20] Lo-lan-do: cherrypicking is already supported [15:20] Shush, I'm trolling! [15:22] * Lo-lan-do returns to trying to fix bzr-git [15:23] (-: [15:23] How would you debug that, by the way? My usual technique of printf-debugging ends up on the wire so it can't be done. [15:24] Lo-lan-do: debug what specifically? [15:25] bzr-upload-pack [15:26] Mostly dulwich's server.py it seems [15:28] I'll try speaking the git protocol into stdin, the good old-fashioned way. [15:28] * Lo-lan-do remembers speaking IRC into a telnet tube years ago [15:30] Lo-lan-do: pdb is your friend :-) [15:30] Lo-lan-do: and wireshark is very useful for protocol debugging [15:31] although there isn't a specific git protocol dissector yet [15:35] Doesn't pdb eat my stdin? [15:36] <\u03b5> erm, is there a doc for whatever Branch.tags is? [15:38] <\u03b5> ah, right [15:38] \u03b5: try "pydoc bzrlib.branch.Branch.tags" :-) [15:38] <\u03b5> bzrlib.tag.BasicTags [15:39] <\u03b5> no Python documentation found for 'bzrlib.branch.Branch.tags' [15:39] <\u03b5> hehe [15:48] jelmer: I think I found something. In bzr-git's server.py, line 603 indirectly calls graph_walker, but it's been called already and therefore it won't return anything since the client isn't going to send the list again. [15:49] Shouldn't there be a cache of some sort? [15:50] One can't reset the iterator, either, for the same reason. [15:57] * jelmer__ looks [15:57] Lo-lan-do: I don't have a line 603 [15:58] <\u03b5> what should I use to find out a branch's public URL? get_public_branch, or get_push_branch, or get_parent_branch or nothing? [15:58] <\u03b5> and get_master_branch for bound checkouts [15:58] \u03b5: for the public branch, get_public_branch() [15:58] <\u03b5> or am I missing something that does the job already [15:59] <\u03b5> it's empty :x [16:00] \u03b5: did you set a public branch URL explicitly? [16:00] <\u03b5> nope, and I doubt people will do so [16:01] jelmer: You have a *revno* 603, and I should look in the appropriate place, sorry. Line 136. [16:01] \u03b5: the public URL of a branch depends on the setup [16:01] <\u03b5> yeah, I saw [16:02] \u03b5: so it may be right it's empty [16:02] <\u03b5> in one branch I have it as parent branch, in the other as push location [16:03] btw \u03b5, cute name (epsilon, right?) [16:03] <\u03b5> heh yes [16:06] bzr: ERROR: Lock not held: LockableFiles(lock, bzr+ssh://bazaar.launchpad.net/~jdobrien/ubuntuone-servers/coucdb-web-api/.bzr/repository/) [16:06] how can i fix that? ^^ [16:12] jelmer__: Do you think adding a cache and a reset method to dulwich's UploadPackHandler.ProtocolGraphWalker would break things? If not, I'll try implementing that. === cprov is now known as cprov-lunch [16:39] hey morning jam ! [16:40] morning vila [17:09] night all [17:17] jelmer__: I have git fetch and git pull working now! [17:17] * Lo-lan-do dances the happy dance [17:21] Lo-lan-do: w00t! [17:21] * jelmer__ awaits the merge requests (-: [17:21] You bet :-) [17:24] Lo-lan-do: you work on git-bzr ? [17:25] weigon: I'd love to get rid of SVN as a pivot for FusionForge, and making bzr branches accessible with the git clients would be a good way to do that. So I'm only interested in that part. [17:26] <\u03b5> is there a way to have bzrlib.branch.Branch.revision_history() grab merged revisions too? === abentley1 is now known as abentley [17:29] jelmer__: Can I pastebin the bundles? This account has no email access… [17:31] \u03b5: you can get the ancestry from the repository, using branch.last_revision as the top revision [17:31] hi [17:32] bzr (or lp) appears to be convinced a few commits didnt come from me [17:32] https://code.launchpad.net/~lvh/twisted/positioning [17:32] but it's been a long time since I worked with that, I guess there are some fancier graph functions now [17:32] how can I fix that [17:32] lvh: it probably looks at the email address for account matching [17:33] ah, right [17:33] I wouldn't care about it, personally [17:33] not sure if you can convince LP that lvh@leibniz is you [17:34] well, im nto worried about those 3 commits [17:34] but it'd be nice if i could fix my bzr config so it sets my email address properly [17:34] see bzr whoami [17:34] Laurens Van Houtven [17:34] Yup. [17:35] Next step: fixing it. emacs ~/.bazaar/authentication.conf? [17:35] you can use `bzr whoami '...'` to change that configutation [17:35] I believe it's the first step of the bzr tutorial :) [17:35] hah [17:35] right, sorry :-) [17:36] this is the second box I'm using bzr on -- new install. [17:43] <\u03b5> hm, there is Graph.iter_ancestry() [17:44] <\u03b5> but, if I got it right, that gives recursive tuples [17:44] <\u03b5> would I have to count them manually? [17:45] the one I was thinking about is repository.get_ancestry(rev_id) [17:45] <\u03b5> yeah [17:45] which gives you a list of all revisions in the branch [17:45] <\u03b5> wouldn't that list all revisions in the repo? [17:45] no, only revisions below rev_id [17:46] so if rev_id == branch.last_revision it will return all revisions in the branch [17:48] <\u03b5> thanks [17:49] \u03b5: dict(graph.iter_ancestry()) tends to work pretty well [17:49] but depends what you need === abentley1 is now known as abentley [17:52] What's the reccomended tool to see the tree structure of a bzr branch 20 revisions back? [17:52] checking out that revision? [17:52] bzr ls [17:53] lvh: you can 'bzr revert -r -20' or do "bzr co -r -20' [17:53] or 'bzr st -r -20' [17:53] if you just want to see the changes [17:53] bzr ls -R -r -20 [18:10] thanks everyone, worked a charm :-) [18:15] I'd recommend 'bzr qbrowse -r -20', but not sure if that's useful to a emacs user :) === deryck_ is now known as deryck === cprov-lunch is now known as cprov === gorozco is now known as p4tux === thekorn_ is now known as thekorn [19:19] I am taking over a project from from another developer; I am looking in his workspace at his .bzr directory, how do I find out the URL of the repository from that directory, so I can do a fresh checkout myself ? [19:20] Try bzr info [19:23] what is wrong with doing "bzr pull :push" (other than it looks funny)? i get the following error: http://pastebin.ubuntu.com/268111/ in the same branch 'bzr pull :public" works [19:25] bac: your :push is configured to an "lp:" url, and ":push" doesn't expand 2x [19:25] not sure if that makes sense, but it does to me... [19:25] if :push was configured to bzr+ssh://bazaar.launchpad.net/... then it would probably work [19:26] jam: ok. that makes sense. [19:26] jam: yes, public is a bzr+ssh URL and it works. just more typing! :) [19:27] bac: I think it is an open bug [19:27] and something that *I* would like to see fix [19:27] fied [19:27] fixed [19:27] as I have some config that is set up for automatic 'lp:' paths [19:27] well, my odds are improved, then [19:27] but just one of the things on the list... :) [19:27] thanks for the answer... [19:32] Is it possible to show last-mod-date of files using "status" and maybe even sort by them? (without much shell-foo) [19:33] I think "st --verbose" should show that maybe?! [19:46] jelmer: Am I confused or is the current bzr-git supposed to be able to store several git branches and not only one? [19:46] The "for oldsha, sha, ref in refs: if ref[:11] == 'refs/heads/':" loops seem to be indicating so much [19:47] hello [19:48] today for some reason i started to get: bzr: ERROR: These branches have diverged. See "bzr help diverged-branches" for more information. how do i tell bzr to override the shared version with my version? [19:50] benchik: Did you read 'bzr help diverged-branches'? :) [19:50] glyph: didn't tell me anything useful in my situation [19:51] benchik: what is your situation? (the way you asked the question, 'override the shared version', doesn't really make sense) [19:52] jelmer: So it is. Yay, yay, yay :-) [19:52] I'm still struggling with the confusion over the "transport" stuff, but I feel like I'm close to getting push working, too. [19:54] maxb: thanks ! [19:54] glyph: i want to run the shared version over, with my version [19:55] glyph: the tips the help gave: bzr missing etc. didn't give me useful results [19:57] benchik: why do you think you want to do that? I suspect what you actually want to do is to merge your changes into the shared version [19:58] if you "run the shared version over" then any other people or other repositories which have changes in them that know about the current shared version will immediately make it diverge again [19:58] benchik: Maybe you're looking for bzr push --overwrite (but as glyph says, it's evil) [19:59] Lo-lan-do: I was trying to avoid saying that until he explained that he actually wanted it ;) [19:59] glyph: because i think i got all the changes before. and today i updated the app, and it's the most recent update. also i think merging will be harder [19:59] glyph: Evil is not patient. [19:59] benchik: you're wrong, you didn't get all the changes before. otherwise it wouldn't have diverged :) [19:59] benchik: merging is easy. [19:59] here's how you do it: [19:59] bzr merge [19:59] bzr ci -m "merged from shared" [19:59] bzr push [20:00] and besides, even if it's harder, it give you more pretty lines in 'bzr visualize' which is totally what you want [20:00] when i bzr merge i get: bzr: ERROR: Branches have no common ancestor, and no merge base revision was specified. [20:00] Totally [20:01] bzr viz is just an intricate way of designing celtic knots [20:01] glyph: how do i resolve this error? [20:02] I think someone's been evil before you had a chance to be. [20:02] Lo-lan-do: so what do i do now? [20:03] Try to talk with your coworkers to understand where this situation comes from. [20:06] Lo-lan-do: no way on my side to merge? [20:06] I have to admit I'm not enough of a guru to answer this one, and I'll leave you in some more capable hands. [20:09] ok [20:59] Um. jelmer? Is is expected that a ./repository/git.tdb for a 80 MB repository eats more than 200 MB (and still growing)? [21:00] Hello... How can I verify which SVN version bzr is using ? [21:01] I'm getting the Svndiff too-large window, and I'm trying to verify if bzr is using my 1.6.5 version of the svn client... ( I have 1.4.4 and 1.6.5) [21:02] Are you using a package from a distribution? [21:02] No.. I'm in MacOS X, Leopard [21:03] The package from SVN I got from Collabnet [21:03] I think bzr-svn doesn't use the command-line svn client. [21:04] It uses subvertpy, which, in turn, uses the SVN libraries. [21:05] But the libraries it uses are built-in bzr or it looks for the libraries in my computer ? [21:06] I'm not familiar enough with MacOSX to be answer that question reliably, sorry. [21:06] Because the Svndiff too-large window bug was reported as a svn bug.. and I should upgrade my svn version.. [21:06] Ok, but still know a way to find out which version of the libraries ou binaries of SVN bzr uses ? [21:07] Not really. On Linux I'd use strace, but that's low-level and I doubt it works on other kernels. [21:08] You could move one version aside temporarily and see if the other still works :-) [21:08] hum, too bad. Is there a way to convert my bzr working copy to SVN only working copy ? That way I can check what's happening.. [21:09] Not as far as I know. You could do an SVN checkout. [21:09] I may be wrong though, I'm just not aware of another way. [21:10] Ok, I'm looking at the documentation.. maybe there's a tool for that. [21:10] Thank you very much Lo-lan-do === oubiwann_ is now known as oubiwann [22:25] I get this error trying to install bzr-svn from the ppa in Ubuntu Jaunty: bzr-svn: Depends: bzr (< 1.18~) but 1.18-1~bazaar1~jaunty1 is to be installed [23:13] hullo all === Mez__ is now known as Mez