[00:00] <jelmer> lifeless: anyway, thanks for the comments. I'll give it some thought
[00:01] <lifeless> kk
[00:01] <igc> jelmer: on another topic, what's your timeline for subvertpy 0.7 being released?
[00:02] <jelmer> igc: Nothing in particular at the moment; if it would be useful for you I could do a release right now
[00:02] <igc> jlemer: I'm not reconsidering where best you new fast-import script lives
[00:02] <igc> s/not/now/
[00:02] <igc> jelmer: my worry is that 0.6.9 is in karmic
[00:03] <igc> jelmer: does subvertpy end up in our PPA?
[00:05] <jelmer> igc: there is a separate subverpty PPA but it doesn't have very recent versions at the moment
[00:05] <jelmer> igc: that's fixable though
[00:06] <igc> jelmer: maybe my wrapper script - fast-export-from-svn - ought to look for your script and use it if found
[00:06] <igc> otherwise, fall back to the current one
[00:06] <igc> your script could live in subvertpy
[00:07] <igc> and be called something like "subvertpy-fast-export" ...
[00:07] <igc> or subversion-fast-export even
[00:07] <igc> jelmer: ^^^
[00:07] <jelmer> igc: that'd be fine with me
[00:08] <igc> jelmer: ok, let's do that
[00:08] <jelmer> ok
[00:08] <igc> jelmer: so the next step is for you to release 0.7.0 with that script included and point me to a PPA
[00:09] <igc> I'll them tweak fast-export-from-svn to go looking for it
[00:09] <igc> then
[00:09] <jelmer> igc: ok
[00:10] <igc> jelmer: cool
[00:22]  * igc out for medical stuff - bbl
[00:44] <jelmer> igc: I've uploaded 0.7.0
[01:26] <jelmer> lifeless: so, there are two implementations that should be distinct imho: the ignore file implementation and the working tree implementation, the two aren't necessarily coupled
[01:26] <igc> thanks jelmer
[01:26] <jelmer> lifeless: I'd rather see them in separate source files as we for clarity's sake
[01:27] <lifeless> jelmer: we don't really have a private module concept though
[01:27] <jelmer> from the working tree's pov it shouldn't matter what format ignore file is used
[01:27] <lifeless> and it is odd to have a module thats all private
[01:28] <lifeless> jelmer: actually it matters a lot
[01:28] <lifeless> jelmer: wt4 on all bzr versions that support wt4 should be able to process the ignores
[01:28] <jelmer> lifeless: I haven't mentioned privateness anywhere
[01:30] <jelmer> lifeless: is that really necessary? That would imply .gitignore support in bzrlib or no support for .gitignore in bzr working trees at all
[01:30] <lifeless> jelmer: bzr checkout <project> foo; cd foo; (build); bzr st
[01:30] <lifeless> should be clean
[01:30] <lifeless> if the authors have made it clean using ignores
[01:31] <lifeless> shouldn't it?
[01:33] <jelmer> lifeless: yes
[01:33] <jelmer> lifeless: but would it be ok if that required bzr-git if the original branch was imported from git?
[01:34] <jelmer> lifeless: I agree it's not ideal but I don't see anything significantly better without storing ignores as tree metadata rather than inside the tree
[01:34] <lifeless> jelmer: igc has a 'needed plugins' concept that is worth exploring more
[01:36] <lifeless> Personally, I'd hesitate to add this indirection to existing tree formats
[01:37] <lifeless> but I only say hesitate because clearly all imports can't work today, so its not really a regression
[01:42] <jelmer> lifeless: what's the problem with adding this to existing formats compared to adding it to new formats?
[01:44] <lifeless> none of the existing bzr versions - e.g. 2.0.0 - know how to handle it
[01:54] <jelmer> lifeless: I do see your point, though it's hard to come up with anything else that allows the use of foreign ignores in the short-o to mid-term
[01:56] <lifeless> jelmer: we have 5 months before the next stable release
[01:57] <lifeless> jelmer: and as I say, *I* would hesitate, thats not to say it shouldn't be done.
[01:57] <lifeless> I would worry that it will confuse folk on 2.0.0 to have someone say 'wow x works' and not have it work for them.
[01:57] <lifeless> particularly with e.g. NFS home dirs
[02:01] <spiv> mwhudson: so, did you capture any other tarballs?  What was the command you ran?
[02:05] <jfroy|work> whoa
[02:05] <jfroy|work> I think I've found a serious bug.
[02:05] <jfroy|work> or there's something very weird going on.
[02:05] <jfroy|work> I removed a file I am certain is under version control from a checkout, and bzr st is reporting nothing
[02:06] <jfroy|work> I change that file from the base, and bzr st reports nothing.
[02:06] <jfroy|work> And I moved aside .bzrignore
[02:06] <jfroy|work> I'm scared :|
[02:06] <spiv> .bzrignore won't affect files that are already versioned.
[02:07] <bob2> is it shown by 'bzr inventory'?
[02:07] <bjp> will loggerhead work with the new 2.0 formats?
[02:07] <spiv> bjp: yes, although you probably need a recent version.
[02:07] <bjp> i'm pretty sure i have the latest
[02:08] <bjp> just wanted to make sure before converting my repos
[02:08] <jfroy|work> yes, bzr inventory shows the file
[02:08] <mwhudson> spiv: just bzr get lp:~ubuntu-core-doc/gnome-user-docs/ubuntu-karmic
[02:08] <mwhudson> spiv: but i access the copy of the branch in the hosted area
[02:08] <lifeless> jfroy|work: details
[02:09] <jfroy|work> what do you need to know?
[02:09] <lifeless> jfroy|work: is the file in 'bzr inventory -r -1'
[02:09] <mwhudson> spiv: let me faff for a moment
[02:09] <lifeless> or if inventory barfs on that, can you do 'bzr cat -r -1 PATH'
[02:09] <jfroy|work> lifeless: yes
[02:10] <lifeless> and you have deleted it now
[02:10] <lifeless> but 'bzr st' doesn't reflect that?
[02:11] <jfroy|work> one sec, more weirdness
[02:11] <jfroy|work> tes
[02:11] <jfroy|work> *yes
[02:12] <lifeless> is the file in 'bzr inventory'
[02:12] <jfroy|work> it is
[02:13] <jfroy|work> this is very odd
[02:13] <lifeless> so, if its in bzr inventory its not 'removed' but it could be missing
[02:13] <lifeless> its odd for 'bzr st' not to show it
[02:13] <lifeless> what bzr version?
[02:14] <jfroy|work> 2.0.1
[02:14] <jfroy|work> there's more going on here
[02:14] <jfroy|work> I think my system has gone nuts :p
[02:14] <mwhudson> strange, mkdir in lftp always fails against codehosting
[02:15] <jfroy|work> AH!
[02:15] <lifeless> yes, codehosting isn't quite sftp anymore
[02:15]  * jfroy|work hides in shame
[02:15] <spiv> mwhudson: maybe it tries to emulate 'mkdir -p' but gets confused about the topmost directories not actually existing?
[02:15] <lifeless> pwd != pwd ?
[02:15] <jfroy|work> I was operating on a different directory in the GUI than the shell
[02:16] <mwhudson> spiv: hm, maybe
[02:17] <jfroy|work> I apologize.
[02:19] <fullermd> Guuuh.  Stupid stat begging for WT...
[02:23] <lifeless> jfroy|work: no worries
[02:27] <spiv> mwhudson: how goes the faff?
[02:27] <spiv> mwhudson: that branch command worked for me, btw
[02:27] <mwhudson> spiv: progress, i think
[02:27] <mwhudson> spiv: i'm not entirely surprised
[02:27]  * spiv nods
[02:29] <mwhudson> spiv: try bzr get lp:~spiv/+junk/u-k
[02:29] <spiv> mwhudson: curiously, my fetch retrieved an identical number of revisions, inventories and texts as your tarball
[02:29] <spiv> heh
[02:30] <spiv> That reminds me I should make some noise on the bug for 'should not be able to make random stuff owned (and thus implicitly attributed to) people w/o their permission'
[02:31] <mwhudson> spiv: i can only do that because i'm a bazaar-expert
[02:31] <spiv> Ah, that's good.
[02:31] <mwhudson> spiv: a copy of the branch made with lftp's
[02:31] <mwhudson> 'mirror' command is at https://devpad.canonical.com/~mwh/mirror.tgz
[02:31]  * spiv encoffees
[02:44] <spiv> mwhudson: that reproduces, thank you!
[02:45] <mwhudson> spiv: yay
[02:52] <spiv> Hmm, I should probably grab a mirror of the stacked-on branch too, just in case.
[02:55] <mwhudson> yes i guess so
[02:57] <spiv> if nothing else, being able to reproduce without consuming my adsl bandwidth would be plus :)
[02:58] <mwhudson> heh yes
[03:39] <spiv> mwhudson: I have some sort-of good news for you
[03:39] <spiv> mwhudson: it's almost certainly a client-side bug, which means no cherrypick when I do fix it ;)
[03:39] <mwhudson> spiv: yay
[03:42] <igc> mwhudson: re bug 441125 ...
[03:42] <igc> I used lftp to grab the branch
[03:42] <igc> but it doesn't report being a branch once I grab it
[03:43] <igc> should I use 'mirror' instead?
[03:43] <mwhudson> igc: how did you grab it?
[03:43] <igc> mwhudson: or maybe it was just lftp user error on my side?
[03:43] <mwhudson> igc: also if it's stacked, the stacked on branch will be relative
[03:43] <mwhudson> igc: so you'll need to fix that
[03:44] <igc> hmm
[03:44]  * igc looks
[03:47] <igc> mwhudson: I don''t think it's stacked looking through the .bzr directory
[03:47] <igc> mwhuson: bzr info -v reports it as being an unshared repository, even though .bzr/branch and all the files seem to be there
[03:47] <mwhudson> igc: what is in .bzr/branch/branch.conf ?
[03:48] <igc> ah, me wrong ...
[03:48] <igc> parent_location = lp-hosted:///%7Escott/upstart/trunk/
[03:48] <igc> stacked_on_location = /~scott/upstart/trunk
[03:48] <igc> that's all
[03:48]  * mwhudson gets out his "practical bzr debugging" badge
[05:38] <igc> spiv: ping
[05:39] <igc> spiv: any chance you could be second reviewer on some simple patches in the queue?
[05:39] <igc> https://code.edge.launchpad.net/~mathepic/bzr/mkdir-recursive/+merge/13380
[05:39] <igc> https://code.edge.launchpad.net/~joke/bzr/bugfix353370/+merge/13404
[05:39] <igc> https://code.edge.launchpad.net/~mathepic/bzr/remove-tree-multi/+merge/13451
[05:40] <igc> spiv: all are just a few lines long and pretty straight forward imo
[05:43] <spiv> igc: ok
[05:44] <igc> spiv: also, is https://code.edge.launchpad.net/~jameinel/bzr/2.1-static-tuple-chk-map/+merge/13082 ready to land?
[05:44] <igc> for some reason, I'm not allow to change it to "Approved'
[05:45] <igc> spiv: maybe because you claimed the reivew?
[05:48] <spiv> igc: because the target is not a branch you have rights to
[05:49] <igc> spiv: ah - fair enough
[05:49] <spiv> igc: this is the downside to the way jam found to get LP reviews to do incremental diffs
[05:49] <igc> spiv: right
[06:08]  * igc pick up kids - bbiab
[06:31] <igc> back
[08:19] <bialix> hello all
[08:33] <bialix> hi garyvdm, thanks for such detailed mails.
[08:34] <garyvdm> Hi bialix - Sure - Sorry I did not do it earlier.
[08:34] <bialix> yep
[08:35] <bialix> I suppose your i-net and/or free time is problematic. no problem.
[08:37] <garyvdm> Yes - I hope to get that sorted out soon.
[08:38] <bialix> will be nice
[08:38] <bialix> I'm glad you're back on board :-)
[08:50] <otu> hi! i am trying out bazaar and i am trying to settle on a workflow for using it with django. anybody have any tips?
[09:08] <igc> hi bialix, garyvdm
[09:08] <garyvdm> Hi Igc
[09:09]  * igc dinner
[09:11] <bialix> hi igc
[10:20] <garyvdm> Hi vila
[10:21] <garyvdm> vila: I want to make a test that requires user interaction. For this reason, I'm not going to incude it in the test suit.
[10:22] <garyvdm> vila: I'm trying to work out the easiest way to do this.
[10:23] <garyvdm> Can you give me any pointer.
[10:23] <vila> garyvdm: phone call
[10:23] <garyvdm> Ok
[11:18] <vila> garyvdm: ping.... if you read logs somewhere...
[11:19] <vila> garyvdm: automated tests assumes no user is there. If a user is required, that's not automated anymore, so I'd like to understand better why you want to write such a test...
[11:43] <bialix> vila: perhaps because writing automated tests for PyQt4 is a hard job
[11:43] <bialix> garyvdm: I think custom launcher for non-automated tests should be enough?
[11:43] <vila> GUI automated tests are always hard, but you have to start somewhere...
[11:44] <garyvdm> Hi vila, bialix.
[11:44] <vila> garyvdm: hi
[11:44] <vila> garyvdm: automated tests assumes no user is there. If a user is required, that's not automated anymore, so I'd like to understand better why you want to write such a test...
[11:44] <bialix> hi Gary (again)
[11:44] <garyvdm> I was disconnected for a while. It seems I missed some dicussion. I'll take a look in the logs.
[11:45] <bialix> garyvdm: you don't miss anything yet
[11:45] <bialix> vila just repeated his question to you
[11:45] <garyvdm> Ok
[11:45] <garyvdm> This is what I started on: http://pastebin.ubuntu.com/297350/
[11:46] <garyvdm> vila, bialix: That should give you a good Idea of what I want to do.
[11:46] <garyvdm> My problem is getting a TestCase to run, that is not apart of the test suite.
[11:47] <bialix> hmmm
[11:48] <vila> garyvdm: oh, ok, so while I still think that's not the right way to go :-) What you want is a test loader and a test runner
[11:49] <vila> garyvdm: look into bzrlib.tests.TestUtil.py
[11:49] <garyvdm> vila: Thanks - That is what I was looking for.
[11:50] <vila> hmm, only the loader is defined here, let me see for the runner
[11:50] <bialix> the runner in bzr;lib/tests/__init__.py
[11:51] <vila> garyvdm: hmm, for the runner it's more controversial, but you can use .. yeah like bialix said
[11:51] <bialix> garyvdm: any reason why you want to use unittest-like interface?
[11:52] <garyvdm> To be able to reuse assertRaises
[11:52] <bialix> then you have to write custom TestRunner
[11:52] <bialix> IMO
[11:53] <lifeless> I'm about to go crash
[11:53] <lifeless> but if you were to mail the list with a broad "i want to achieve x' I'd be delighted to reply tomorrow
[11:56] <garyvdm> lifeless: Ok - I'll do that.
[12:19] <jml> hi
[12:19] <garyvdm> Hi jml
[12:19] <jml> there's a bug with a branch at https://bugs.edge.launchpad.net/bzr/+bug/84659 that has been approved
[14:23] <jam> morning all
[14:27] <Meths> I'm being sent to a 404 (http://doc.bazaar-vcs.org/latest/en/user-reference/bzr_man.html#bug-tracker-settings) from http://doc.bazaar-vcs.org/latest/en/user-guide/bug_trackers.html
[14:27] <Meths> Can anyone tell me where the proper bug tracker settings page can be found please?
[14:28] <Meths> Is there a bzr documentation project or should I just post a bug in bzr?
[14:39] <bialix> hello jam
[14:40] <bialix> jam: we discussed with garyvdm qbzr versions re bzr versions, perhaps you saw that thread in qbzr ml. resume: 0.14.4 is for bzr 2.0.1, 0.15 for bzr 2.1.0b1
[14:41] <jam> morning bialix
[14:41] <jam> Meths: bug in bzr is fine
[14:41] <bialix> :-D
[14:41] <jam> bialix: sure
[14:41] <Meths> jam: okay.
[14:42] <Tak> is there a way to cache my svn credentials with bzr-svn?
[14:42] <jam> Tak: IIRC you can use svn to cache the credentials, and then bzr-svn will use the cached values
[14:42] <jam> but it doesn't have a way to cache them itself
[14:43] <jam> alternatively, I think you can set up authentication.conf, but I'm not sure how to set that up w/ svn
[14:44]  * Tak try that
[14:46] <Tak> hah - svn co doesn't ask me, but bzr pull from an existing branch does
[14:47] <jam> Tak: what versions are you using?
[14:48] <vila> morning jam
[14:48] <Tak> bzr 2.0.1, svn 1.6.5, bzr-svn 1.0.0
[14:49] <Tak> wow @ bazaar-vcs.org makeover
[14:53] <jml> btw, I just found a bug with a branch at https://bugs.edge.launchpad.net/bzr/+bug/84659 that has been approved but not merged.
[14:55] <Tak> aha - if I set up authentication.conf, I can get: http://paste2.org/p/476652
[15:09] <Meths> Is there an ETA for 2.0.1 .exes?
[15:21] <jam> Meths: approximately today, it just depends on how many hiccups I run into while trying to build them
[15:23] <Meths> jam: cool, thanks.  Do they always cause lots of headaches compared to the other packages?
[15:26] <jam> Meths: yeah, generally. It is the only place where we bundle everything in one package
[15:26] <jam> so skew means rebuilding the whole thnig
[15:26] <jam> thing
[15:26] <jam> so you need the right version of bzr-svn, bzr-rewrite, qbzr, tortoisebzr, ...
[15:27] <jam> by contrast on Linux, each of those is a separate package, so if there is a problem *that* package gets updated
[15:27] <jam> also, by there are some bad designs in the windows packaging
[15:27] <jam> namely, the code that defines plugin dependencies is *in* bzr's setup.py
[15:27] <jam> which means that plugins have to match bzr, which is a bit wonky
[15:29] <Tak> aha, bug 452121
[15:31] <jam> Meths: also, the shared machine we use to make the windows builds is 'remote', and has a bug with DNS so you have to manually add hosts to the 'hosts' file. Which generally is ok, but can be annoying
[15:31] <jam> being hosted in AU doesn't help *my* ping times, though :)
[15:32] <bialix> jam: there is desire to factor out plugins dependencies from bzr's setup.py
[15:32] <jam> bialix: absolutely, but we need people to actually... do it
[15:32] <jam> which is non trivial
[15:32] <bialix> yep
[15:32] <jam> and since *I'm* the one that pays the primary burden, I would be the one to fix it
[15:32] <bialix> I don't think it's non trivial
[15:32] <jam> but I'm also the one working on new features, etc.
[15:33] <bialix> it's just need some time
[15:33] <jam> bialix: you think it would be a trivial change?
[15:33] <bialix> I mean I understand the way where we should go to achieve this
[15:33] <bialix> but it require lot of work
[15:34] <bialix> I have proof of concept of moving such data to plugin's setup.py
[15:34] <bialix> you said in the past that this is almost impossible
[15:34] <bialix> I have proof of concept that it very possible
[15:34] <bialix> but then you did not answer
[15:35] <bialix> I suppose you have distracted by other more important things
[15:35] <bialix> and vila too
[15:35] <bialix> so, it's not "trivial" as 5-minutes fix
[15:36] <jam> bialix: so I see it as possible, but getting 10 plugins to all switch to the format, and getting bzr's setup.py cleaned up is at least a couple of days to a weeks worth of work
[15:36] <bialix> but it's not "non-trivial" as you need many weeks to experiment first before writing actual code
[15:36] <jam> to a week
[15:36] <bialix> here I'm agreed
[15:36] <bialix> couple of days
[15:37] <bialix> and push all these improvements back to each component upstream
[15:38] <bialix> IIUC there is only 2 components affected: tbzr and qbzr
[15:39] <jam> bialix: and bzr-svn
[15:40] <jam> I think, not positive
[15:40]  * bialix looks
[15:40] <jam> but certainly tbzr is the one that has caused the most dependency problems
[15:40] <jam> bzr-svn has caused the most 'rebuild a new installer' problems
[15:41] <bialix> you as core dev can voluntary working on transferring dependency codes
[15:42] <bialix> I'd like to have clear agreement about approach first
[15:42] <bialix> at my job we always writing mini specs first before coding
[15:43] <bialix> for bzr-svn the dependency is simple, but indeed present
[15:43] <bialix> def get_svn_py2exe_info(includes, excludes, packages):
[15:43] <bialix>     packages.append('subvertpy')
[15:45] <bialix> jam: while I'm here. This is my proof of concept to load required data from plugin's setup.py lp:~bialix/+junk/plugins-setups
[15:46] <bialix> jam: to really start working on it somebody should extend plugins API definition as in http://doc.bazaar-vcs.org/bzr.dev/developers/plugin-api.html#plugin-metadata-before-installation
[15:46] <bialix> for me this is 2 mandatory dependencies
[15:46] <jam>  \o/ finally the build completed... now to get people to poke at it :)
[15:46] <bialix> cool
[15:47] <jam> I probably can't build 2.1.0b1 yet, because bzr-svn at least needs updating
[15:47] <jam> but at least 2.0.1 will be done
[15:48] <bialix> all hail jam!
[15:48] <jam> bialix: thanks for the encouragement
[15:48]  * jam does not like doing the installers, but seems to be the only one doing it...
[15:51] <bialix> building tbzr is still the corner of entire installer process
[15:51] <bialix> because of full MSVC 2008 required
[15:51] <jam> bialix: yeah, supposedly naoki had it working without the full compiler
[15:51] <jam> using specific versions of SDKs, etc
[15:51] <jam> I haven't seen his setup, yet
[15:52] <jam> but he mentioned not needing it for his work
[15:52] <bialix> I'm not sure
[15:52] <jam> bialix: just to check, we should be using qzbr 0.14.4  and bzr-explorer 0.8.3, right?
[15:52] <jam> bialix: he mentioned it in the bug about tbzr not compiling with the lite version
[15:53] <jam> I don't have it off-hand
[15:53] <jam> and IIRC, he didn't give specific steps to reproduce
[15:53] <bialix> qbzr 0.14.4 and explorer 0.8.3, correct
[15:56] <jam> vila: how is babune looking lately?
[15:57] <vila> pfff
[15:57] <jam> bialix: also at some point we'll want to start bundling svn 1.6.*
[15:58] <vila> leopard is back, I had to fight with tiger to avoid a log file filling my boot disk (which is quite painful as it's the host for the guest I'm using for IRC and mail riht now :-/)
[15:58] <vila> so OSX suffers from a latent bug related to leaking tests but the bug stop manifesting itself on leopard
[15:59] <vila> and tiger failed this morning but without filling my OSX /
[16:00] <vila> jam: which more or less confirms that I'm right about the cause of the bug, but gives no idea on where to start to fix it... (I have some ideas but none are trivial so I let them mature a bit)
[16:00] <jam> vila: sounds like about as much fun as I've been having with the installers :)
[16:01] <vila> jam: so I'm back working on resolve --interactive.... and realizes there are many conflicts than need more love, to the point I may want to define a new format :-/
[16:01] <vila> jam: yeah ! Lots of fun ! :-D
[16:01] <vila> well many is too strong, but at least 3 or 4 :-/
[16:01] <jam> vila: yeah for conflicts we sort of have the 'minimal set' right now. We could use clearer definitions for 'directory already exists' versus 'parent directory deleted' etc.
[16:02] <jam> Which I had looked at a while back
[16:02] <jam> when we were debugging what was going on w/ mysql
[16:02] <vila> there is also the fact that sometimes we create several conflicts and I'm not sure we really need that...
[16:03] <vila> So my basic concern is about how to change conflicts definition with regard to compatibility,
[16:03] <vila> can we consider that upgrading while having conflicts in a tree is rare enough that we can say:
[16:03] <jam> vila: do it in 2.1.0* and don't overly concern yourself :)
[16:03] <vila> Oh, no luck, I can't read your conflicts anymore, please redo your merge
[16:04] <jam> vila: I would say, if it is a problem, refuse to upgrade if there are conflicts
[16:04] <jam> so let them sort it out how they want
[16:04] <jam> revert, resolve, whatever
[16:05] <vila> hmm, no the code has to be changed, so the data and the code should stay in sync :-/
[16:07] <jam> so when working on old format working trees, I think you need to interpret the conflicts file the same as old clients
[16:07] <jam> there are people that share workingtrees across NFS
[16:07] <jam> (which I don't recommend in any fashion, but it happens)
[16:08] <vila> jam: right, so I need to address the backward compatibility issue at least :-/.
[16:09] <vila> jam: and since I don't want to do that right now, I think I will restrict implementing --interactive for some conflicts only instead
[16:09] <vila> that way I will move forward instead of backward at each step :-/
[16:11] <jam> vila: usually a preferred direction :)
[16:11] <vila> :)
[16:16] <jam> vila: so I'd like to check the current memory status on 64-bit python. Would it be okay if I bring down a copy of the launchpad code base onto 'saw' ?
[16:17] <jam> I think it is ~100-200MB of data
[16:17] <vila> hmm, what size ?
[16:17] <vila> ok, be aware you're on an SSD, so don't burn it too fast :)
[16:18] <vila> jam: if you need HDD instead I can create some dir somewhere you can symlink from your home
[16:18] <vila> but up to 1GB, go for the SSD
[16:19] <jam> vila: I certainly don't need to use the SSD, but if it means you don't have to do more work, I'm happy to use it :)
[16:19] <vila> jam: still 33GB free there, as long as the tmp files for selftest are not on it, SSD ftw !
[16:22] <jam> vila: I'm shocked, I'm only getting 16kB/s downloading launchpad's code from lp
[16:22] <jam> I wonder what is going on...
[16:22] <jam> maybe codehosting is overloaded?
[16:23] <jam> going via http, I'm peaking at around 2MB/s
[16:23] <jam> though it is pretty choppy
[16:23] <vila> jam: don't know what you tried, I get 2MB/s right now
[16:24] <vila> oh, you too
[16:24] <jam> vila: first attempt was 'bzr branch lp:launchpad' which would go via bzr+ssh
[16:24] <jam> And I'm wondering if that wasn't slow because of the bzr:// server side
[16:24] <jam> for example, if codehosting is thrashing into swap
[16:25] <vila> jam: my observations so far are that the rate is highly variable (and different from what a perfmeter will report)
[16:26] <vila> but the difference is due to our processing so not worth fixing IMHO
[16:26] <jam> vila: well we could do better on the filtering
[16:26] <jam> such as using "a = a + b*cur"
[16:26] <jam> (first order filter)
[16:26] <jam> rather than just "a = cur / time"
[16:27] <vila> jam: well we can't satisfy everybody, I think the actual figures are quite representative, if people want more detailed bandwith usage, that's outside bzr (still IMHO :)
[16:28] <vila> right now you're using between 0 and 1MB/s, what did bzr report ?
[16:28] <jam> vila: I think we tend to under-report
[16:29] <jam> because a long download followed by a quick short one
[16:29] <jam> will get overrwritten
[16:29] <vila> jam: nope, I've seen both under and over reports
[16:29] <vila> that's why I didn't report myself :-D
[16:29] <jam> vila: right now it reports ~.5M
[16:29] <jam> so sure
[16:29] <jam> my point is that it is unstable because we mix big reads with short reads
[16:30] <jam> and don't average across them
[16:30] <vila> from the perfmeter that's quite correct, you had peaks at 2MB/s
[16:30] <vila> jam: well, I'd prefer we fix the code so that we always max the bandwith :)
[16:30] <vila> you're flag now
[16:30] <vila> for the last 30 secs
[16:30] <vila> s/flag/flat/
[16:31] <jam> yeah, it is on the 'missing keys' portion
[16:31] <jam> so almost done
[16:31] <vila> peak at 2
[16:31] <vila> flat
[16:34]  * vila cries
[16:34] <vila> what on earth is an 'overwrite' conflict !
[16:34] <fullermd> The thing that conceals an underwrite conflict.
[16:35]  * vila send some anti-bits on fullermd disks just so he too can have his share of fun :)]
[16:35] <fullermd> Anti-bits take up negative space, so it's like getting larger disks for free!
[16:36] <vila> fullermd: you wish !
[16:36] <fullermd> It seems logical.
[16:36] <vila> no, anti-bits erase real bits and disapear, the net result can be smaller sectors for example
[16:37] <vila> so you have your regular 512 bytes sectors and then some at 511 or 510 see
[16:38] <vila> Actually, I *encountered* such behavior in real life... at leasts it looked like that, we found part of files that had shrinked
[16:38] <fullermd> Man, how prejudiced can you be?  anti-bits are just as 'real' as regular bits.  Don't be such a baryogenetic racist.
[16:38] <vila> shrinked in the *middle* of fixed size records...
[16:39] <vila> ..in the end it was an hardware bug, but boy did we wonder...
[16:39] <fullermd> That's why I run ZFS   :p
[16:40] <fullermd> jam: BTW, can you weigh in on the DWIM "looks like a revno but isn't" fallthru thingy?  It's kinda mixed...
[16:46] <jam> jelmer: btw, subvertpy 0.7.0 breaks the build...
[16:46] <jam> subvertpy\repos.c:24:21: apr_md5.h
[16:46] <jam> No such file or directory
[16:46] <jam> perhaps this is a svn 1.6ism?
[16:47] <fullermd> That's part of APR, actually.
[16:48] <jelmer> jam: I've just merged a fix for that
[16:49] <jelmer> jam: will update bzr-windows-installer
[16:49] <jam> fullermd: sure it is apr, but my assumption was that subvertpy was using something from a newer apr which is bundled with a newer svn
[16:49] <jam> jelmer: so a subvertpy 0.7.1 ?
[16:50] <fullermd> Oh.  I didn't know svn bundled APR.
[16:50] <jelmer> jam: there was an incorrect include path in setup.py that for some reason wasn't a problem before now
[16:50] <jam> fullermd: so... the revspec dwim is basically someone doing "bzr branch -r 1.2.3" and there isn't a revno 1.2.3 but there is a *tag* 1.2.3
[16:50] <jam> fullermd: well, it depends on it, and exposes the pools etc as part of svn's pai
[16:50] <jam> api
[16:51] <jam> jelmer: let me know when you've pushed the updates
[16:51] <jam> also is 0.7.0 reasonable to include in 2.0.x series?
[16:51] <jam> (aka, bugfix only?)
[16:51] <fullermd> Or any of the other laters specs tried, but tag is overwhelmingly the most likely to have a hit, yah.
[16:52] <jelmer> jam: no, 0.7.0 is not bug fix only - it contains new bindings as well
[16:52] <jelmer> jam: (enough to make subvertpy-fast-export work)
[16:52] <jelmer> jam: shouldn't have an influence on the stability of the existing bindings that bzr-svn depends on though
[16:54] <jam> jelmer: so I would probably rather do 0.7.0 in the 2.1.0b1 release, and stick with 0.6.9 in the 2.0.x series
[16:55] <jam> I'll probably split of a separate bzr-windows-installer branch for the 2.0.* series
[16:55] <jam> since we also have stuff like qbzr 0.15 vs 0.14 series, etc.
[16:55] <jam> jelmer: at least IMO, if it is different enough to break the build, it is different enough to not include in 'stable' :)
[16:56] <jelmer> jam: sounds ok to me :-)
[16:56] <jelmer> jam: can you create a 2.1 branch for the intsallers?
[16:56] <jelmer> *installers
[16:56] <jam> yeah
[16:56] <jam> well, I was thinking to just use the standard trunk for the 2.1 series
[16:56] <jam> and branch off 2.0 stable series
[16:56] <jelmer> the only reason I added 0.7.0 was because I had probmised to keep bzr-windows-installers up to date on new releases :-)
[16:57] <jam> sure
[16:57] <jam> please do so
[16:57] <jam> i'll branch of a 2.0.x now
[16:58] <jam> ideally this wouldn't be separate branches (because that is a pain to administer)
[16:58] <jam> but instead it would be "make 2.0" vs "make 2.1"
[16:58] <jam> however, separate branches is easier *today*
[16:59] <jam> jelmer: and yes, thank you for keeping bzr-windows-installer up to date
[16:59] <jam> still working through the issues for a 2.0.* stable series versus 2.1.0* dev series
[17:07] <jam> jelmer: do you have an updated bzr-svn release for the 2.1 series ?
[17:13] <jam> igc: when you get a chance, did bzr-explorer 0.9.0 actually get a release? or should I just bundle 0.8.3 w/ 2.1.0b1
[17:15] <jam> abentley: I don't see a tag for 2.1.0b1 in the bzrtools trunk
[17:15] <jam> am I just missing it
[17:15] <jam> ?
[17:17] <abentley> jam: I see it, but perhaps it's not in the mirrored copy of the branch...
[17:18] <jam> abentley: can you tell me the revno?
[17:18] <abentley> jam: No, it's in the mirrored copy too.
[17:19] <abentley> jam: revno 732
[17:19] <jam> abentley: 'bzr pull lp:bzrtools' gives me: 730 Aaron Bentley     2009-09-26 {release-2.0.1}
[17:19] <jam>     revision-id:aaron@aaronbentley.com-20090926174001-f1kpi0tqgizyx5g5
[17:19] <jam>     Release 2.0.1
[17:19] <jam> should I be pulling: lp:~abentley/bzrtools/trunk instead ?
[17:19] <jam> note that dev focus is ~abentley/bzrtools/bzrtools.dev
[17:20] <abentley> jam: yeah, for now.
[17:20] <jam> :'( so much pain
[17:20] <jam> not just you, but about 5 plugins need to be hand crafted for the release seires
[17:20] <jam> series
[17:21] <jam> and running "make" is ~ 30 min as buildout checks all the dependencies, etc...
[17:22] <jam> I'm glad I caught it before uploading at least...
[17:26] <abentley> jam: I've pushed to bzrtools.dev.
[17:27] <abentley> jam: I'll be deleting trunk.
[17:27] <jam> k
[18:26] <vds> anyone have some hints on how to solve this: bzr: ERROR: Connection error: curl connection error (Problem with the SSL CA cert (path? access rights?)) ?
[18:27] <vds> ok solved ca-certificate wasn't installed...
[19:41] <ToyKeeper> Hmm, that was odd.
[19:41] <ToyKeeper> bzr-rebase pulled instead of rebasing, and wiped out all the changes I wanted to rebase.
[19:41] <ToyKeeper> I'm glad I was working on a copy.
[19:58] <jelmer> jam: 1.0.1 will be compatible with 2.1
[20:41] <jam> jelmer: thanks for the heads up. Let me know when subvertpy 0.7.1 and bzr-svn 1.0.1 are out
[20:48] <jelmer> jam: *nod*
[20:55] <jelmer> jam: subvertpy 0.7.1 is out, bzr-svn 1.0.1 on the way
[21:18] <igc> jam: there's no explorer 0.90 release yet - I'm targeting 2.1.0b2 for that
[21:19] <jam> igc: yeah, I noticed
[21:19] <jam> I just saw you mention some work that went into the 0.9 series
[21:19] <jam> and thought that meant you were releasing it
[21:31] <lifeless> moin
[21:37] <thumper> lifeless: morning
[21:37] <thumper> if I have a branch with no tree, what is the easiest way of getting the size of the repo?
[21:37] <thumper> can I get that through bzrlib?
[21:37] <thumper> or just do a du of the .bzr dir?
[21:37] <lifeless> what are you trying to estimate
[21:38] <lifeless> size on disk of a checkout?
[21:38] <thumper> the size on disk
[21:38] <lifeless> size of tree?
[21:38] <thumper> branch size
[21:38] <thumper> it is one of the metrics that we want to store
[21:38] <thumper> for us
[21:38] <thumper> size in the hosting facility
[21:38] <lifeless> ok
[21:38] <lifeless> size in the hosting facility - du -sh .
[21:38] <thumper> kk
[21:38] <lifeless> will include backup.bzr if it exists
[21:39] <lifeless> and thats good, IMO
[21:39] <thumper> hmm...
[21:39] <thumper> I hadn't thought of that bit
[21:39] <thumper> lifeless: is there a python way to do that without shelling out?
[21:39] <lifeless> and naturally for stacked branches this should be a very small number
[21:39] <thumper> exactly
[21:40] <lifeless> thumper: yes, there is. recursive walk statting everything. can do it via the transport interface even
[21:40] <lifeless> should be fast even on huge branches because we don't create many files
[21:41] <lifeless> if we ignore 'dir size', which I think is safe to do:
[21:43] <lifeless> sum(map(lambda p:b.bzrdir.root_transport.stat(p).st_size, b.bzrdir.root_transport.iter_files_recursive())
[21:49]  * thumper tries the mystic map
[21:51] <thumper> lifeless: what is the unit for st_size?
[21:52] <fullermd> stat(2) gives it in bytes; I presume python passes the same through.
[21:53] <lifeless> yes
[21:54] <lifeless> this will give 'content size' not 'allocated size'
[21:54] <lifeless> we have that too if you need it, but you need st_nblocks * blocksize, or something like that
[21:57] <fullermd> Yah.  But in this case, the lions share will be in a few giant .packs, so the different is probably ignorable.
[22:18]  * igc food
[23:09] <lifeless> fullermd: it generally only matters for us on the small incremental packs; there are 5 files per push, so the overhead can be non trivial on 64KB allocation units fs's
[23:11] <fullermd> Oh, perhaps.  I was just thinking that it could be in the noise.  I mean, if we have 20 packs, and waste a full 64k (say having N*64k+1 bytes in each), that's still only 6 megs, when we may have 500 or so in the packs.
[23:11] <lifeless> right
[23:11] <fullermd> Depends on what you're doing with the numbers, I guess.
[23:11] <lifeless> but consider a stacked branch
[23:11] <lifeless> may only be a few hundred k data in total
[23:12] <spiv> And maybe LP still has lots of knit format branches ;)
[23:13] <fullermd> Yeah, I heard about 'em every time I multi-pull in my ~/.bazaar/plugins/   :p
[23:19] <mwhudson> there are ~700 knit branches on lp it seems
[23:19] <mwhudson> that have had updates in about, uh, 18 months
[23:42] <PsyberS> what does this error mean and how do i fix it:
[23:42] <PsyberS> $ bzr unshelve
[23:42] <PsyberS> Unshelving changes with id "2".
[23:42] <PsyberS> bzr: ERROR: The file id "weather-20091020223948-b5odfh732rtw2uvz-1" is not present in the tree <DirStateRevisionTree of chris@szikszoy.com-20091020003650-ytlugguaozazh0u6 in DirState(u'/home/rdyer/branches/docky/.bzr/checkout/dirstate')>.
[23:43] <PsyberS> i shelved a bunch of changes, did a 'bzr pull' (there was nothing new to pull) and then got that when i unshelved
[23:46] <jelmer> PsyberS: did the pull remove a file that you had shelved changes in perhaps?
[23:47] <PsyberS> the pull didnt do anything, i was on the latest revision (apparently)
[23:47] <PsyberS> rdyer@narmada:~/branches/docky/Docky.StandardPlugins$ bzr pull
[23:47] <PsyberS> Using saved parent location: bzr+ssh://bazaar.launchpad.net/~docky-core/docky/trunk/
[23:47] <PsyberS> No revisions to pull.
[23:51] <PsyberS> to think i was just bragging to some people about how nice bzr was =o
[23:52] <PsyberS> oh well, cest la vie