/srv/irclogs.ubuntu.com/2014/01/10/#bzr.txt

rozzinIs it possible to do a lightweight checkout of a remote git branch using bzr-git?02:39
SamBI heard bzr-git was unfinished, with no plans to finish it02:39
=== jamesh__ is now known as jamesh
zygahi, I ran the trunk test suite on 14.04 and got 8 failures, is that expected?20:27
zygathis is a part of the failure log (gee, thanks gnome-terminal for insane default of 512 lines of backlog): http://paste.ubuntu.com/6728629/20:28
rozzinI'm not even sure how to read that log and identify what the 8 things are.20:52
zygarozzin: I'm getting a fresh run with all of the failures20:58
zygarozzin: a few were caused by missing python-lzma, now installed20:59
zygarozzin: what remained now are tests related to gpg21:00
zygarozzin: note, this is stock trunk on python2.7, nothing fancy yet21:00
zygafull failure log: http://paste.ubuntu.com/6728825/21:05
rozzinzyga: It looks like the ones that failed due to missing python-lzma were excluded from the `8' count, though.21:30
rozzinzyga: Do you know which 8 tests are actually the ones referred to be "failures=8"?21:31
rozzinzyga: I'm not really all that familiar with how any of this is implemented, but I'm willing to dig in and try to help. I used to be a Python programmer.21:32
zygare22:04
zygarozzin: I guess each of FAIL is one test22:04
jderosezyga: so i wont have time to dig into anything till this weekend, but i'm highly excited about your python3 porting effort :)22:21
jderosezyga: also, those failures seem (mostly) related to python-gpgme, so i'd first see if its tests pass on trusty - http://packages.ubuntu.com/search?keywords=python-gpgme22:22
jderosepossibly related to gpg 1.4.15 being in trusty, dunno - http://packages.ubuntu.com/search?keywords=gnupg22:22
zygajderose: thanks, I was suspecting the same thing22:23
zygajderose: I'm looking at the code now, I think the first attempt will cut a lot of functionality, I'm quite surprised by how much stuff is inside bzr, I think that some strong decisions to drop things could make the (huge) effort doable but I'm not yet sure about what to consider dropping22:25
jderoseif it is a python-gpgme issue, you should ping James Henstridge (dunno his IRC nick) - https://plus.google.com/u/0/+JamesHenstridge/posts22:25
zygajderose: I'm currently removing lazy imports so that 2to3 can be more productive22:25
zygajderose: once I get --help to run I'll post my code22:25
jderosesweet :)22:25
jderosei think there are areas that should probably be trimmed, but dropping support for any old formats kinda scares me :P22:26
zygajderose: this is a fork, you can still use bzr --upgrade for old stuff22:27
jderosetrue22:27
zygajderose: and the game is lost anyway, so it's not about keeping what we have, it's about making something that people want22:27
jderosegood point22:27
zygajderose: or what we can still *have*22:27
jderosedoes bzr still use pyrex? (been a while since i've looked at the bzr code)22:28
zygajderose: yeah22:28
zygajderose: more scary stuff for me ;)22:28
jderosehow's that as far as python3?22:28
jderosehehe22:28
zygajderose: not sure, I never wrote any, I'm considering dropping that if needed22:28
zygajderose: as there are pure python versions too22:28
zygajderose: right now I want to see bzr --help22:28
jderosemight be something that would be better replaced with c extensions22:29
jderoseyeah22:29
jderosesorry, getting ahead of myself... especially considering that fact that i haven't done anything yet :)22:29
zygajderose: hey, I didn't do anything at all :) I just want to :>22:29
jderosei'm pretty sure you're a lot closer to `bzr --help` than i am :P22:30
zygaI wonder if some parts of bzr could be dropped/replaced by existing libraries, I feel that a lot of bzr is actually now available as readily-available modules that we don't have to maintain22:32
zygaespecially a lot of the network code22:32
fullermdI'd not worry overmuch (at least at the moment_ about the server shutdown failure.  I think that's a somewhat touchy area in general, so...22:32
zygafullermd: thanks!22:32
zygafullermd: as long as trunk fails the same way as my neutered version I'm happy22:32
* zyga reads the launchpad plugin code22:33
fullermdAnd the builddeb stuff...  well, shoot, nobody uses that "deb" thing anyway.22:33
zygathe single most important plugin22:33
jderosefullermd: yeah, speak for yourself :P22:33
fullermdNaturally; I always speak for all right-thinking people   :P22:34
jderosezyga: i think for the HTTP/HTTPS transport stuff, yes, the standard lib could replace a lot of things. BTW, I have a lot of experience with the Python3 `http.client` module.22:34
zygaOOHHH22:34
jderosehehe22:34
zygaso lp_api_lite22:34
zygathat's so sweet, no lauchpadlib22:34
zygajderose: for all networking I was hoping to use requests, it's nice and shiny and has lots of usage, it seems to handle auth very well out-of-the-box22:35
jderosezyga: but there is also the custom SSH implementation (can't recall the python package name)... that might be a lot harder to replace22:35
zygajderose: paramiko22:35
zygajderose: yeah22:35
jderoseright22:35
fullermdparamiko isn't actually used most of the time.22:35
zygajderose: I haven't looked at that yett22:35
jderosezyga: er, requests? is that part of httplib2?22:35
fullermdOnly on Windows sometimes I think, unless you forcibly call it.  Usually just calls the command-line ssh.22:36
zygajderose: I don't think so: http://docs.python-requests.org/en/latest/22:36
jderosefullermd: so even when using the SSH transport (say, with launcphad), paramiko isn't used all the time?22:36
fullermdEr, wait, maybe paramiko is still used for sftp.22:36
zygafullermd: ah, good, something that can be dropped then22:36
fullermdBut yeah, bzr+ssh calls ssh(1).22:36
zygafullermd: TBH, I only care about lp and local work, everything else is gone22:36
jderosegotcha, then that's easy to replace22:37
fullermdOr even putty or something on Win, I think.22:37
zygafullermd: I don't care for windows yet, lots of issues for no gain for now22:37
fullermdBut thinking about it, it probably IS used for sftp.  How common that still is, I dunno; it's probably mostly OBE when the smart server came in, but I'll bet there are still niches.22:37
jderosefullermd: what is this "Win" you right-thinking people speak of? :P22:37
zygajderose: the thing with metal bars ;)22:38
fullermdIt's a recursive toy.  You get Win so you can toss it out a Win, for the Win   :p22:38
jderosefullermd: i think if you have a launchpad account, most tend to use SSH as the transport. stuff like lp:foo automatically gets transformed into a bzr+ssh URI when you've set your launchpad username22:39
jderosehehe22:39
fullermdOh, sure.  I'm not even sure LP still supports sftp (though of course it used to)22:39
fullermdBut people do once in a while use bzr on something other than LP   :p22:39
jderoselaunchpad definitely supports SSH still22:40
fullermdYou mean sftp, or bzr+ssh?  They're two vastly different things.22:40
jderoseer, yeah, i mean bzr+ssh:// not sftp://22:40
jderosenot sure about the later22:40
fullermdYeah, bzr+ssh [almost] always calls out to a command-line ssh(1) if it can.  Pretty sure sftp is all done via paramiko though.22:41
jderoseinteresting... i would have guessed the oposite22:41
jderosebut dropping a dependencies is always good :)22:41
fullermdWell, over ssh it just uses it as a tunnel to blat bytes over.  It could probably be made to support bzr+rsh in about 2 minutes if somebody wanted to.22:41
fullermdBut sftp, you'd have to interactively script a program or something to call out like that, which is icky.22:42
jderosegotcha22:42
fullermdI'm not sure that e.g. OpenSSH's sftp(1) even lets you do all the stuff bzr tries behind the scenes.  The sftp protocol is hyuge compared to the 2 or 3 things 99% of the uses do.22:43
zygammm22:43
zygaI'm quite interested in what github did22:43
zygawith their move to abandon git:// and ssh and use https for everything22:43
zygathey still support that but actively discourage it22:43
fullermdObviously, got hold of some very good drugs.  They went with git, after all.22:43
zygafullermd: indeed22:44
zygagit has a very simple model and no content type conflicts ;)22:44
jderoseplus their excellent security track record :D22:44
zygajderose: who cares, they are being used22:44
jderosei'm pretty sure these days you can replace "who" with "governments, large companies, non profits, etc..." :P22:45
zygajderose: the same ones that run java and winxp22:46
fullermdNo, I'm pretty sure nobody cares about security, just like the last 20 years...22:46
zygajderose: I agree that security is good but secure dead software is not useful22:46
jderosetrue22:46
zygathey care about wiretaps but they don't really care that $vendor got owned $number of times as everyone gets owned once in a while22:47
zygajderose: if security was important we'd be running solaris, not linux ;)22:47
fullermdNah, I'd vote for AIX.22:48
* zyga is too young for that22:48
fullermdWhen I _adminned_ an AIX box, I could never get it to do what it was supposed to.  How's somebody who's not root gonna pull it off?22:48
zygabtw, is knit a word I should know or some fancy invention?22:49
fullermdWell, I'd expect you to know it as a word in general.  The application into version control is a bit of an analogical invention.22:50
zygafullermd: I'm not familiar with it22:50
zygafullermd: what does it mean?22:50
jderosefullermd: knit was a specific repository format, right?22:50
* zyga is google lazy while reading python on the next monitor22:50
fullermdThe way you make socks and sweaters and scarves and such?22:51
zygaaaah22:51
zygafrom tiny threads and such?22:51
fullermdIn bzr, it was a history storage format, succeeding weaves.22:51
jderosefullermd: is knit the current history format then?22:51
fullermd(hence the choice of naming; knits are like weaves, but append-only instead of constantly re-weaving, and since you knit purely from a top end...)22:51
fullermdNo, [pure-]knit was replaced by pack-0.92 which used knits internally, and that was replaced by 2a.22:52
jderoseah, gotcha22:52
fullermdI still come across pack-0.92 stuff occasionally, but it's gotten pretty rare.22:52
jderoseah, i remember when pack-0.92 was the new hotness :P22:53
fullermdThe re-weaving with weaves was crazy expensive.22:53
fullermdI remember back when bzr.dev was still in weaves, and I had to carefully time my daily pulls, because they would nail up the CPU for about 20 minutes.22:54
jderosehehe22:54
fullermd(the crazy-slow reputation bzr still carries may be almost totally historical, but it sure was earned at one time...)22:54
jderoseyeah, i do remember those days22:55
fullermdknits were a huge improvement.  packs made a number of things better too; for one thing, I could take annoying hacks out of my Apache config to avoid interpretting the knit filenames.22:56
zygawell22:56
zygait's not crazy slow22:56
zygabut noticeably slower than git on anything22:56
zygaand pushing is dead slow22:56
fullermdTry it with weaves; you'll get a great appreciation for how fast it is now  :p22:56
zyganot sure if lp or bzr are to blame there22:56
zygahehe22:56
zygaI remember all the old versions of bzr22:57
fullermdBut it is python, so stuff like startup is always gonna be way slower.22:57
zygaI was using it from the start, almost22:57
zygaway before I joined Canonical22:57
fullermdThose lazy imports you were talking about were a major improvement in that.22:57
zygayeah, I know22:57
zyganow I'm just killing the magic to get 2to3 to see stuff22:57
* fullermd pictures you with a 7 foot spear standing over a dead unicorn...22:57
zygafullermd: but they are full of candy inside22:58
zyga;)22:58
fullermdI have vague memories of 2to3 experiments a couple years ago.  Seems like a few bumps were hit and then it was set aside due to nobody caring enough at the time.23:01
fullermdProbably far enough back now that whatever lessons were learned are pretty stale.23:02
zygafullermd: I think that 2 and 3 codebase is hard23:02
zygafullermd: especially since bzr still supports really old code syntax23:02
fullermdI think the really old stuff is gone (or at least not necessary); think the last few major releases have been 2.6+ only.23:03
fullermd(3 being a major reason behind that)23:03
zygafullermd: the code is full of 3.0 incompatible syntax though23:04
zygafullermd: one thing I learned to like about recent pythons23:04
zygafullermd: is that I can drop hacks23:04
fullermdOh, sure.  But dropping 2.4 meant we could dump a lot of _required_ 3.0 incompatible stuff.23:04
zygafullermd: drop static copies of stuff I needed but wasn't around23:04
zygafullermd: and that my code kept getting smaller and easier to follow23:04
zygafullermd: I think that 3.2+ is good enough though 3.3 could be sweeter as it has even more goodies that can replace bzrlib home-grown code23:05
fullermdI'd bet there's a lot of stuff hiding around in bzrlib that's still 2.4 compatible but doesn't have to be.23:05
zygayeah23:05
* zyga just read 'this is not present in python2.2 so here's a copy' in one file23:06
zyga2.223:06
zygaconfigobj.py23:06
fullermdHey, it's a palindromic version.  Gotta support those.23:07
zygawhat is rio23:07
fullermdSerialization format, I vaguely remember?23:07
zygahmm23:07
zygarelevant?23:07
fullermdI _think_ it was something from old formats, like pre-pack knits and before.  But that's very vague memory.23:08
zygaone thing I always liked about bzr is that it was a promise of pythonic api for vcs'es23:08
zygabut it was so complex that I never really got to like it or felt it was simple23:08
zygaand the layers of layers of indirections were a major factor each time I tried following the code23:09
fullermdHey, don't tell that to me; I'm the guy who doesn't like OO wholesale   :p23:10
zygapython2.4 support is alive and strong in some files :)23:11
fullermdLooks like it was the 2.4 release series that officially dropped py2.4 and 2.5 support.  Appropriate.23:15

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!