[00:02] <jelmer> jaj.
[00:02] <jelmer> argh
[00:03] <jelmer> glad to hear that, otherwise we'd have a nasty bug on our hands :)
[00:04] <AuroraBorealis> its because "location information" shows the shared repositiory on the local disk
[00:04] <AuroraBorealis> not necessarily the one on the server
[15:49] <ESphynx> hey guys, I'm trying to use bzr-git with dulwich here, and I get this  'bzr: ERROR: No module named posix' erro ? any idea?
[16:12] <mgz> ESphynx: this is on windows I take it?
[16:13] <mgz> look at your .bzr.log for the traceback showing where the import is happening
[16:40] <ESphynx> yes!
[16:41] <ESphynx> mgz: I've figured out it was in bzr-git's workingtree.py
[16:41] <ESphynx> i've commented that 'import posix' line out and then it worked
[16:42] <mgz> it sounds like a bug, the normal thing to do is `import os` which then resolves the correct platform functions
[16:42] <ESphynx> then I got this other error
[16:43] <ESphynx> which I found in a post that I should add 'raise' on top of a line
[16:43] <ESphynx> on top of the delete_tree line...
[16:43] <ESphynx> a db in use type thing, and now that I added that I get a whole bunch of new errors :(
[16:44] <mgz> it sounds like bzr-git is just not tested (at all) on windows.
[16:44] <ESphynx> http://pastebin.com/qT5RcBLr
[16:45] <mgz> hm. that one might need jelmer magic to understand.
[16:45] <ESphynx> the line I added as 'raise' on top of             to_transport.delete_tree('.')
[16:46] <ESphynx> in bzrlib/builtins.py
[16:46] <ESphynx> Without that 'raise', I get: bzr: ERROR: Permission denied: "E:/bzr/sdk/./.bzr/repository/git/idmap.db": [Error 32] The process cannot access the file because it is being used by another process: u'E:/bzr/sdk/./.bzr/repository/git/idmap.db'
[16:47] <ESphynx> I've waste more than enough time on this, so I think I'll opt for launchpad importing my git repo for me :|
[16:49] <ESphynx> jelmer :)
[16:49] <ESphynx> you're the magician?
[16:51] <mgz> jelmer, does the error in <http://pastebin.com/qT5RcBLr> say anything to you?
[16:51] <jelmer> hey mgz
[16:51] <jelmer> ESphynx: mawho ? :)
 hm. that one might need jelmer magic to understand.
[16:53] <jelmer> hmm, that's a tricky one
[16:53] <ESphynx> jelmer how about:  Without that 'raise', I get: bzr: ERROR: Permission denied: "E:/bzr/sdk/./.bzr/repository/git/idmap.db": [Error 32] The process cannot access the file because it is being used by another process: u'E:/bzr/sdk/./.bzr/repository/git/idmap.db'
[16:53] <ESphynx> that was  'raise' on top of             to_transport.delete_tree('.')
[16:53] <jelmer> ESphynx: ah, you're on windows?
[16:53] <ESphynx> I am
[16:53] <ESphynx> Mainly because Ubuntu random freezes on my system :P
[16:54] <ESphynx> (I find that quite depressing)
[16:54] <mgz> there seem to be a few shallow problems with bzr-git on windows (importing posix as well as os), perhaps also so subtle ones that can cause revisions to go missing?
[16:55] <jelmer> mgz: I wouldn't be surprised\
[16:55] <jelmer> ESphynx: can you try running "bzr selftest -s bp.git" ?
[16:55] <ESphynx> Would I have been aware of that, I would have tried it on Linux :P but now I set up bazaar etc. on Windows and don't feel like doing it again, I had launchpad auto-import it for me :P
[16:55] <ESphynx> sure I can try that
[16:56] <ESphynx> bzr: ERROR: No module named testtools
[16:56] <ESphynx> I get this too now with my version from source: bzr: warning: some compiled extensions could not be loaded; see <https://answers.launchpad.net/bzr/+faq/703>
[16:56] <jelmer> ESphynx: hmm, yeah, you'll need testtools to run the testsuite
[16:56] <jelmer> ESphynx: you haven't build the C extensions, which means you'll get less than optimal performance
[16:56] <ESphynx> why did they not build?
[16:57] <jelmer> ESphynx: did you try to build them ? :)
[16:57] <ESphynx> Cython and Pyrex missing?
[16:57] <mgz> probably you don't have cython or pyrex, again .bzr.log will tell you what exactly you don't have
[16:57] <mgz> it's not (or shouldn't) be relevent for correctness, only speed
[16:57] <ESphynx> don't take this the wrong way, i'm trying to be constructive here ;) but all this is way too complicated to setup folks :P
[16:58] <mgz> yup.
[16:58] <ESphynx> of course the bugs don't make it easier :P
[16:59] <mgz> we have easy (installer with lots of stuff added), but if you want to do more on top of that you need to be okay with compiling C python extensions and such like
[16:59] <ESphynx> jelmer: Would it be helpful if I install the testtools?
[16:59] <mgz> ESphynx: I'll do it here to save you the bother.
[16:59] <ESphynx> I got launchpad importing from github directly so I don't care anymore at this point, but I'm all for helping fix open source software :P
[16:59] <ESphynx> mgz thanks man :)
[17:00] <mgz> if you could file a bug against bzr-git for your original `import posix` problem with the traceback, that would be helpful
[17:00] <jelmer> ESphynx: dulwich/bzr-git isn't really tested on Windows, so if it works that's mostly luck. It would be nice to get it to the point where it does work though :)
[17:00] <mgz> and maybe that one where you added a raise too, if there wasn't one already
[17:00] <ESphynx> jelmer it would :)
[17:00] <ESphynx> mgz: that was from a launchpad bug comment
[17:00] <ESphynx> that's where I got the idea
[17:01] <mgz> great, what was the bug number?
[17:01] <ESphynx> let me try to find it :)
[17:02] <ESphynx> mgz: https://bugs.launchpad.net/bzr-git/+bug/734145/comments/14
[17:02] <mgz> great, so jelmer knows about that one :)
[17:03] <ESphynx> oh, right, he's the one who suggested raise :P
[17:03] <ESphynx> didn't light up here :P
[17:03] <mgz> file the import posix bug and I'll see how much of this I can quickly squash
[17:03] <ESphynx> k
[17:06] <ESphynx> mgz https://bugs.launchpad.net/bzr-git/+bug/841177
[17:06] <mgz> thanks ESphynx!
[17:08] <ESphynx> yh :) I've otherwise had more success with launchpad importing it for me: https://code.launchpad.net/ecere =)
[17:08] <ESphynx> yw*
[17:09] <jelmer> just removing the posix import isn't sufficient - we need stat_result
[17:09] <ESphynx> oh.
[17:11] <mgz> using os instead should be fine though.
[17:12] <ESphynx> os is already there :P
[17:12] <mgz> indeed,
[17:15] <mgz> meh, fastimport as well?
[17:16] <jelmer> fastimport is used for testing
[17:16] <mgz> what's the lp project name?
[17:17] <mgz> python-fastimport and bzr-fastimport too I guess.
[17:18]  * mgz continues branching and building
[17:19] <mgz> ...and sqlite?
[17:19] <mgz> dammit, now I need to rebuild python
[17:30] <mgz> okay. with ESphynx's bug fixed, I get on the test suite: FAILED (failures=1, known_failure_count=1)
[17:30] <mgz> Ran 211 tests in 4.875s
[17:30] <mgz> FAILED (failures=1, known_failure_count=1)
[17:30] <mgz> and a bunch of non-fatal file lifetime issues
[17:32] <jelmer> mgz: what's the remaining failure?
[17:32] <mgz> it's shallow, seem to just be expecting a nix-style file: url in a repr
[17:32] <mgz> the file lifetime issues seem more relevent
[17:34] <mgz> I'll put up a mp or two for you.
[17:38] <jelmer> mgz: cool, thanks
[18:14] <mgz> okay, that was a pain but it worked finally
[18:16] <mgz> jelmer: http://float.endofinternet.org/xmlbin/bp.git
[18:16] <mgz> click little coloured boxes for details, the yellow ones are various warnings about file usage etc
[18:17] <jelmer> mgz: that still indicates one failure
[18:17] <mgz> yeah, I had to fix my runner, so haven't fixed that test yet :)
[18:18] <jelmer> mgz: hah, ok
[18:18] <jelmer> mgz: awaiting your mps ;-)
[18:47] <jelmer> mgz: does stat_result have the same contents on Windows?
[18:48] <mgz> the tests pass :P
[18:49] <mgz> I think the struct in posixmodule.c has only one definition, it's only how it's populated that is platform dependant.
[18:49] <mgz> I will double check
[18:51] <mgz> well, nearly. the ifdefs only kick in on the 14th item
[18:51] <mgz> so they way you're constructing it is portable.
[18:54] <mgz> whoa, weird conflicts thing in the diff, I wonder how I messed that up.
[18:56] <mgz> using uncommit and push twice was probably pretty bogus, I should have just let one branch depend on the other
[19:04] <mgz> ah, I didn't, you were just already touching that code while I was fiddling with my test runner
[20:19] <jelmer> mgz: posixpath is correct, the index file always contains slashes
[20:19] <mgz> yeah, and I think the bug I just filed is mistargetted, I can reproduce it without plugins
[20:21] <mgz> looks like a bzr 2.5 regression
[20:27] <mgz> food first, then I'll fix that...
[21:17] <mgz> jelmer: so the good news is bzr-git kicks ass and just branched a big git repo locally in windows no problem
[21:18] <mgz> the bad news is bzr itself is broken on trunk and the blame is on one of your colo changes :)
[21:20] <jelmer> mgz: heh, ok
[21:20]  * jelmer is still working on getting more bzr.dev tests passing against bzr-svn
[21:21] <jelmer> down to ~140 failing ones now
[21:32] <mgz> okay, so _win32_extract_drive_letter is broken if given a url to a drive with no trailing slash
[21:32] <AuroraBorealis> isn't there a python function that gives you the drive letter?
[21:33] <mgz> this is for file urls, which python didn't have proper handling for
[21:33] <AuroraBorealis> hmm.
[21:33] <mgz> but... why is the drive being used here at all? bzrdir is stripping off all the directories for reasons I don't understand
[21:34] <AuroraBorealis> i dunno xD
[21:34] <AuroraBorealis> what file is this?
[21:34] <mgz> bug 841322
[21:38] <AuroraBorealis> extract_drive_letter looks correct
[21:38] <AuroraBorealis> since its just stripping off /C:
[21:38] <AuroraBorealis> and then returning the rest of the string
[21:39] <mgz> what's not correct is `if len(path) < 3` ... `path[3]`
[21:39] <mgz> needs to either be `< 4` or not index the fourth character
[21:40] <AuroraBorealis> the len(path) < 3 seems right
[21:40] <AuroraBorealis> because if its less then 3, then its just C:
[21:40] <AuroraBorealis> or it can't be a valid path cuase you need the drive letter
[21:41] <mgz> this is in the context of file urls
[21:41] <mgz> and I'm not certain if file:///C: is valid or if it needs to be file:///C:/
[21:42] <AuroraBorealis> so what are file urls? just file://<whatever> ?
[21:42] <mgz> different implementations give me different results at least :)
[21:42] <mgz> ^it's a bit more than that
[21:42] <AuroraBorealis> i dunno much about the bzr code base but this still seems right
[21:43] <mgz> throwing an IndexError off a string isn't ever really correct
[21:43] <mgz> either we need to raise an exception saying the url is invalid,
[21:44] <mgz> or handle it.
[21:45] <AuroraBorealis> hmm the code changed from when i last checked out
[21:45] <AuroraBorealis> so or path[2] not in ':|' or path[3] != '/': is throwing the index out of range?
[21:46] <mgz> read as "/C:"[3] != "/"
[21:46] <AuroraBorealis> so there needs to be a check to see if the url is less then 4 then
[21:46] <AuroraBorealis> or 3
[21:47] <AuroraBorealis> depending on what you were talking about
[21:48] <mgz> then there's the problem of LocalTransport.abspath trying to produce such a thing
[21:49] <AuroraBorealis> its hard to see whats going on >.>
[21:49] <AuroraBorealis> are you trying to fix it? my code is going to conflict if i update cause i'm changing things
[21:50] <mgz> feel free to fix the bottom level function, that needs doing whatever
[21:51] <mgz> the rest of it, as you say, is tough to comprehend
[21:51] <AuroraBorealis> localtransport.abspath?
[21:55] <mgz> or I guess Transport.__init__? I'm not really sure where to put the blame
[21:55] <AuroraBorealis> i can try to take a look but i'm pretty noobish at this codebase xD
[22:09] <mgz> okay, I'm pretty sure the rstrip there wants changing, you can't just strip abitrary urls
[23:19] <poolie> hi all
[23:23] <jelmer> 'evening poolie
[23:23] <poolie> hi there
[23:36] <mgz> hey poolie!
[23:36] <poolie> hello mgz, how are you?
[23:37] <mgz> rather short of sleep and stressed, but I've had this evening to hack on things at least :)
[23:44] <poolie> i'm sorry to hear about that first part