/srv/irclogs.ubuntu.com/2009/04/14/#bzr.txt

spivMorning.00:00
pooliehello lifeless, spiv00:00
lifelessspiv: we really need to finish that fix off; will it benefit from pairing00:04
spivlifeless: just paging it back in after the break...00:08
pooliespiv, lifeless, i'm planning to be pretty short with mail this morning and then do fetch progress and bugs00:08
spivlifeless: so I'm about to send the client-side fix to the list for review; it's basically the same patch as before, but the fix is duplicated to InterDifferingSerializer too.00:20
lifelessok00:20
spivlifeless: (I'm not thrilled by the duplicated code in InterDifferingSerializer, but then I'm not thrilled about InterDifferingSerializer existing in the first place)00:20
spivlifeless: and I have the server-side fix that I need to add tests for00:21
jmlmerging/pulling in changes that delete directories sucks.00:22
spivlifeless: the big outstanding item is NoSuchRevision errors from the server when doing recreate_search on a vanilla SearchResult00:22
lifelessspiv: ack on both points about IDS00:22
spivlifeless: I haven't yet dug into exactly what's going on there, maybe these patches will fix it, but I suspect they might not.00:23
lifelessspiv: indeed00:23
spivlifeless: it appears there's a problem that the client, which sees the full graph, has a different len(included_keys) to the server00:23
lifelessspiv: that would make sense00:23
spivif the search spans the stacking boundary.00:24
lifelessthe client knows where the keys came from; it could choose to split the search differently00:24
spivI'm not sure what we should do there; perhaps in the client, if the server is stacked and the server gives NoSuchRevision, it could switch to asking for the ancestry-of the heads and then fetch the missing bits elsewhere?00:25
spivOr as you say ask only for the right keys in the first place.00:25
beunospiv, hi. Do you have any news on bug 354036?00:25
ubottuLaunchpad bug 354036 in bzr "ErrorFromSmartServer - AbsentContentFactory object has no attribute 'get_bytes_as' exception while pulling from Launchpad" [Critical,Confirmed] https://launchpad.net/bugs/35403600:25
spivlifeless: so I'm not sure that pairing is necessary, but if you want to start tackling that part while I finish off the bits I've got, that would be extremely helpful.00:26
spivlifeless: What I have should fix initial pull, but I'd expect the NoSuchRevision flavour could happen if there's already a local repo... I suppose a workaround would typically be "update your trunk branch in that repo then try pull/update of the affected branch again".00:27
spivlifeless: Also, while it's a related bug, I'm going to give the NoSuchRevision bug its own bug report I think.00:28
spivbeuno: that's just what we are talking about right now :)00:28
lifelessbeuno: its been easter00:28
spivbeuno: in short: I have a candidate fix to stop the client creating broken branches, and also another fix for the server to stop unfixed 1.13 (and 1.14rc1) smart clients from making broken branches.00:31
beunoyay00:32
beunothanks00:32
beunoI keep having to downgrade to 1.13 to work on launchpad00:32
LeoNerdSo... debian updated my bzr/bzrtools, and now I have the new shelf format.. how do I get at my old shelved data? :)00:38
lifelessLeoNerd: shelve100:42
LeoNerdAhhh...00:42
spivlifeless: I've filed bug 36079100:45
ubottuLaunchpad bug 360791 in bzr "get_stream on stacked branch causes "Error received from smart server: ('NoSuchRevision',)"" [Undecided,New] https://launchpad.net/bugs/36079100:45
beunorockstar, if you're around. Do you know what this would be happening with bzr-autoreview?  http://paste.ubuntu.com/150478/00:45
rockstarbeuno, jaunty00:45
beunorockstar, python 2.6?00:46
spivlifeless: Having written that bug report I'm pretty much certain its a separate bug introduced by the get_stream verb.00:46
rockstarbeuno, yeah, it's python 2.6's fault.00:46
beunorockstar, is it launchpadlib?00:46
lifelessspiv: yes, I agree00:47
james_wbeuno: "apt-cache policy python-httplib2"?00:48
beunojames_w,  Installed: 0.4.0-100:49
beuno     0.4.0-0ubuntu2 000:49
beuno        500 http://archive.ubuntu.com jaunty/universe Packages00:49
james_wbeuno: err, where does it say 0.4.0-1 comes from?00:49
beunojames_w, ah. Launchpad deps00:50
beunoPPA00:50
james_wplease let whoever controls that PPA know about best versioning practices00:51
beunojames_w, ironically, it's celso  :)00:51
james_wyou can "sudo apt-get install python-httplib2=0.4.0-0ubuntu2" for now00:51
james_wheh :-)00:51
beunojames_w, thanks00:53
beunoworks now00:53
lifelessspiv: I think I'll do for BzrDir.get_config what I did for Branch.get_config01:11
lifelessspiv: to keep moving the ratchets01:12
igcmorning all01:31
beunohiya igc01:32
igchi beuno01:34
beunohow's it going igc?01:35
igcbeuno: pretty tired actually - slept most of the last 4-5 days01:37
SamBjelmer: why do your branches for bzr-svn have to have version numberes?01:38
SamBer. numbers.01:38
beunoigc, sorry to hear that  :/01:39
beunowill we be seeing you at all hands?01:39
jelmermoin01:39
jelmerSamB: ?01:40
SamBjelmer: apparantly I've been stuck on the 0.5 branch without realizing it!01:40
jelmerSamB: ah, you mean the release series?01:40
jelmerSamB: you can use the 'bzr.dev' branch, which symlinks to whatever release series works with bzr.dev01:40
SamBdo I just use --overwrite with pull to switch?01:41
SamBconsidering that I have no local commits?01:41
igcbeuno: no unfortunately - I'm still unable to travel for a while01:41
igchi jelmer01:41
jelmerSamB: yeah, and --remember01:41
SamBjelmer: why not have lp:bzr-svn -> lp:~jelmer/bzr-svn/bzr.dev ?01:42
SamBbesides the fact that that's a bad URL01:43
SamBjelmer: what's a URL that will always be for bzr.dev ?01:45
jelmerSamB: lp:bzr-svn already points at the 0.6 branch01:45
jelmerSamB: but bzr stores the expanded URL, not the short one01:45
SamBexactly01:45
jelmerSamB: what URL lp:bzr-svn points at depends on the active release series01:46
jelmerSamB: and there is no 'bzr.dev' release series, only 0.4, 0.5, 0.6, etc01:46
jelmerSamB: anyway, http://people.samba.org/bzr/jelmer/bzr-svn/bzr.dev should always works01:46
SamBheh01:47
SamBjelmer: so ... why *don't* you have a bzr.dev series ?01:47
SamBbzr does01:48
pooliespiv: happy birthday to mary (i think)01:50
jelmerSamB: because I don't actually have a separate 'main development' branch like bzr01:51
SamByou could just split off your numbered branches after release ;-P01:52
jelmerSamB: but I do actually keep working on these branches for a while when I do minor release01:53
SamBI noticed01:53
SamBotherwise I wouldn't have needed --overwrite ;-P01:53
=== mario__ is now known as pygi
SamBhmm ... I'm still getting asked for username/password :-(01:55
jelmerSamB: see the recent thread on the mailing list01:56
jelmerSamB: bzr does a POST request to the HTTP server first01:56
jelmerand the server replies with a 401 Auth required reply01:56
SamBjelmer: oh, I thought you said it should be fixed?01:57
jelmerSamB: where did I say that ? :-)01:57
jelmerSamB: you can work around the issue by removing get_smart_medium() at bzrlib/transport/http/__init__.py:14201:58
SamB<jelmer> SamB: should be fixed now (0.6 branch)01:59
SamBabout 12 hours ago, I think?01:59
jelmerSamB: ah, that was the prefix issue for svn-import01:59
SamBoh!02:00
SamBheh02:00
SamBdid you know that jelmer sometimes says ambiguous things? you should fix that ;-P02:01
spivpoolie: yes :)02:06
jelmerSamB: :-P02:08
* SamB wishes firegpg wouldn't invoke gpg --import synchronously ...02:29
SamBor whatever that option actually is02:30
jelmerlifeless: so, now that it's tuesday..02:40
jelmerlifeless: Any chance you can have a look at my InterBranch.pull() patch ? :-)02:41
=== jamesh_ is now known as jamesh
SamBjelmer: what do you mean? it won't be tuesday for about two hours and 6 minutes yet!02:54
lifelessjelmer: yes, I will try to02:55
pooliespiv, do you want me to review your bug 354036 patch? or is lifeless going to?03:02
ubottuLaunchpad bug 354036 in bzr "ErrorFromSmartServer - AbsentContentFactory object has no attribute 'get_bytes_as' exception while pulling from Launchpad" [Critical,Confirmed] https://launchpad.net/bugs/35403603:02
spivpoolie: I hope lifeless will, but another pair of eyeballs is certainly welcome!03:03
lifelessspiv: done03:05
spivlifeless: thanks03:12
spivlifeless: it's not immediately obvious to me how to make a good helper function, because the I find the parents in the two different code paths is pretty different.03:14
lifelessthe variable names, or the data?03:15
spivlifeless: in RepoFetcher we just ask the target after we've inserted the stream, but in InterDifferingSerializer it's a bit messier... perhaps it doesn't need to be.03:15
spivIn InterDifferingSerializer I reuse the Revision objects that we already have (in pending_revisions), for instance.03:16
lifelessparent data should be either cheap, or cached03:16
lifelessI'd use the same code03:16
spivAnd also I'm doing this before the revision objects are inserted.03:17
lifelessuhm03:17
spivWhich has the nice property of making sure all the inventories are there before the revisions that depend on them.03:17
spivBut perhaps that's not so important?03:18
lifelessinterdiffering topological anway03:18
lifelessbah, insert missing words03:18
spivAnd letters ;)03:18
spivBut even working topologically, if we do "insert inventories; insert revisions; insert the other inventories needed by those revisions", then there's a window when we have nearly-but-not-quite complete data there.03:20
lifelessindeed, and agreed03:20
spivWhich maybe doesn't matter, because probably if anything goes wrong it'll abort the write group, etc.03:20
lifelesscan't depend on write groups in this code03:20
lifelessuhm03:20
lifelessok, go without a helper03:20
lifelessbut we want to get to pre-checking it everywhere, or something like that03:21
spivYeah.03:21
lifelessany idea about03:22
lifelessSmartMessageHandlerError: The message handler raised an exception:03:22
lifelessTraceback (most recent call last):03:22
lifeless  File "/home/robertc/source/baz/pending/push.roundtrips/bzrlib/smart/protocol.py", line 1034, in done03:22
lifeless    self.message_handler.end_received()03:22
lifeless  File "/home/robertc/source/baz/pending/push.roundtrips/bzrlib/smart/message.py", line 161, in end_received03:22
lifeless    self.request_handler.end_received()03:22
lifeless  File "/home/robertc/source/baz/pending/push.roundtrips/bzrlib/smart/request.py", line 345, in end_received03:22
lifeless    self._run_handler_code(self._command.do_end, (), {})03:22
lifelessAttributeError: 'NoneType' object has no attribute 'do_end'03:22
spivHuh, no.03:22
spivSomething is resetting _command prematurely?03:23
lifelessdunno yet03:24
lifeless  File "/home/robertc/source/baz/pending/push.roundtrips/bzrlib/smart/protocol.py", line 893, in accept_bytes03:26
lifeless    _StatefulDecoder.accept_bytes(self, bytes)03:26
lifeless  File "/home/robertc/source/baz/pending/push.roundtrips/bzrlib/smart/protocol.py", line 388, in accept_bytes03:26
lifeless    self.state_accept()03:26
lifeless  File "/home/robertc/source/baz/pending/push.roundtrips/bzrlib/smart/protocol.py", line 998, in _state_accept_expecting_message_part03:26
lifeless    self.done()03:26
lifelessI think its the unknown verb handling on the server03:26
spivHmm, it could be, yeah.03:26
spivI thought that was tested, but perhaps there's a gap.03:26
* SamB ponders the various difficulties sure to be involved in any attempt to use bzr-svn in DOS ;->03:28
=== bob2 is now known as Guest28280
=== Guest28280 is now known as bob2
thumperigc: Composite tree review pring03:49
thumpers/pring/ping/03:49
igchi thumper04:02
igcthumper: I'm half way through - hope to finish today04:02
thumperigc: that's great, thanks04:02
lifelessI'm still really unsure that a different tree class is the right approach04:03
lifelessit just seems to move the complexity around04:03
lifelessand adds to it04:03
thumperlifeless: in which case you really need to talk with abentley and others about this04:06
thumperI don't know enough to give intelligent answers04:06
thumperbut I want to make sure we have a good story here04:07
lifelessthumper: I have talked to aaron about it; we disagree04:10
lifelessdoing it with an external object means we have to have a index for subtrees, and that adds complexity.04:10
lifelessiMNSHO04:10
lifelessOTOH aaron has working code and thats important04:11
lifelessthe big thing is to make sure that  there are no performance regressions as the changes land in trunk04:11
thumperI think that we are in agreement on that last point04:11
* igc lunch04:50
lifelessspiv: branch done05:40
lifelessspiv: onto the next one after a short break05:40
lifelessspiv: man, I found another cheap win06:44
spivlifeless: hooray06:51
lifelesson the order of 12 round trips06:52
lifeless!06:52
lifelessrunning the full test suite now to find issues06:52
lifelesswell, some stuff breaks07:04
thumperlifeless: what are you working on that you found 12 round trips?07:08
vilahi all07:09
lifelessperformance07:11
lifelessthumper: I don't have enough info to answer what I think you are asking07:17
thumperlifeless: <lifeless> on the order of 12 round trips07:18
thumperlifeless: HPSS something or other>07:18
thumper?07:18
lifelesswell yes, everything is hpss07:19
thumperlifeless: I'm just curious07:19
thumperlifeless: just wondering if push/pull is going to get faster07:19
lifelessthumper: thats the idea :)07:19
* thumper pokes lifeless in the eye for being obtuse07:19
thumperlifeless: it seems you are trying to read too much into my curiousity07:20
lifelessthumper: it will get faster as we fix more things; I'm investigating a possible improvement at the moment; it doesn't work so its not an improvement07:20
lifelessand I *don't know* what it changes07:20
thumperthat seems kinda weird07:20
lifelessthat I don't know?07:20
fullermdPshaw.  This is software; since when is 'working' a necessary ingredient?07:21
lifelessfullermd: when you have users07:21
lifelessthumper: I don't know because we still have over 50 different method calls on common use cases07:22
lifelessthumper: and its hard to tell what actually changes when you tweak something and 10 or so dissapear07:22
lifelessI specifically moved around the set_parent method on Branch, thats all07:22
lifelessuntil I diff the network traffic, complete the test run, and so on - its all speculation; and I try to avoid speculating07:23
lifelessthumper: also please, enough with the eyepoking, its unpleasant imagery07:24
lifelessthumper: so I can answer now, while I still don't know why, getting rid of the set_parent method on RemoteBranch gets rid of 6 hpss calls in our same server use case08:09
lifelessand in our push --stacked use case08:09
=== serg_ is now known as serg
speakmanlifeless: Regarding https://blueprints.launchpad.net/bzr/+spec/merge-commit-reuses-log are you willing to guide me where to start, and hopefully I could contribute with code some day?08:26
* igc dinner09:17
lifelesshmm, I'm going to write some code10:48
lifelessspeakman: well, I'd start with a plugin myself, because I could create a new command, tweak it until it does what I want and get some people to try it out10:49
lifelessif its liked, the logic can be yanked out as a patch for bzr  itself10:49
speakmanplugin sounds like a good idea. But I've never written anything for bzr(lib), so is there any existing plugin you'd recommend tweaking instead of start a new from scratch?10:52
lifelessuhm10:54
lifelessmy plugin-info plugin is nice and small10:54
lifelessyou could use that as a template for a plugin10:54
lifelessand grab the code from bzrlib.builtins.cmd_commit as a starting point for your own command10:55
lifelesshttps://edge.launchpad.net/bzr-plugin-info is the plugin I'm referring to10:56
lifelessspiv_: didn't you do a coverage option for selftest?10:58
james_wspeakman: there's actually a hook to seed the commit message offered to you in the editor11:34
james_wso you could create a plugin to provide that hook, and then plain "bzr commit" would offer you an editor with that message that you could edit to your liking11:34
james_wwould that suit you?11:34
speakmanI'm sorry for beeing a bit off, but I'm currently at work12:01
speakmanlifeless: I'll definitly check that plugin out! Thanks alot!12:02
speakmanjames_w: Sorry for not understanding, but what is "seed the commit message" really?12:02
speakmanand "the editor"?12:02
speakmanoh, the diff and stuff of course.12:03
james_wwhen you run "bzr commit" with no "-m" argument you are given an editor window to provide the commit message12:03
james_wthat editor can be "seeded" with a message, but normally isn't12:03
speakman--with-diff does seed it?12:03
james_wnope12:03
james_wthat makes changes below the "Everything below this line will be ignored line"12:04
speakman(i'm not really sure what "seed" really means. I'm no english expert :) )12:04
lifelessspeakman: 'prepare'12:04
james_wyou can also make changes above it12:04
speakmanlifeless: okay! thanks!12:04
james_wso that if you do nothing and save and quit the message that was "seeded" will be used12:04
speakmanjames_w: wow! is there anything that utilize this already?12:05
james_wbzr-builddeb is the only thing that I know about12:05
speakmanBut then again; I have no clue how hooks works in bzrlib, and I'm pretty short of sparetime for a while :(12:06
james_whttp://bazaar.launchpad.net/~bzr-builddeb-hackers/bzr-builddeb/trunk/annotate/head%3A/__init__.py12:06
james_wthe "debian_changelog_commit_message" function12:06
speakmanGreat thanks! I really hope to contribute more self-going in the feature. People are talking about bzrlib as an example how beatiful Python code could be. I probably have alot of thing to learn when getting me into the bzrlib code.12:09
jelmermoin12:10
james_wspeakman: something like http://paste.ubuntu.com/150747/12:10
james_wmorning jelmer12:10
james_wspeakman: save that code as ~/.bazaar/plugins/merge_commit.py and give it a test12:11
james_wspeakman: oh, it needs "from bzrlib import msgeditor" at the top12:11
vilalifeless: the coverage option is global, not specific to selftest12:12
speakmanjames_w: great thanks! I'll try it as soon as my job ends for the day.12:13
lifelessvila: yes I've found it. Its now what I want12:13
lifeless*not*12:14
vilaok12:14
=== `6og is now known as Kamping_Kaiser
* vila goes back to tweaking pronto.tell_me_what_tests_run_me()12:18
=== bob2 is now known as Guest77410
=== AfC1 is now known as AfC
=== bob2 is now known as Guest92688
spiv_lifeless: no, I did a global --coverage option13:44
=== spiv_ is now known as spiv
spiv(it was originally just for selftest, but it was simpler to as a global, and potentionally useful too)13:45
lifelessspiv: do you happen to know of code to go from line number in a py file to method ?13:58
lifelessnight all, I'll finish this tomorrow I think14:05
spivlifeless: possibly the inspect module has something, otherwise I don't know of any off-hand.14:07
lifelessspiv: not needed14:09
lifelesstrace has what I wanted, just different params14:09
spivlifeless: cool14:09
lifelessat least for this part of my plugin14:09
lifelessI'm generating an index of function -> test14:09
lifelessits a little long to do lineno->test14:10
lifelessanyhoo, will finish tomorrow14:11
vilalifeless: you do that for all functions or just on demand14:17
lifelessvila: selftest --index14:21
lifelessvila: then selftest --changes uses the index14:21
vilachanges since the last --index ?14:22
lifelesssince the last commit14:24
lifelessmust go, very tired14:24
=== beuno_ is now known as beuno
rahul Wanna get your pic on magazine cover??? http://techbuddha.blog.co.in/2009/04/14/wanna-get-your-pic-on-magazine-cover/          --            http://techmaharshi.blogspot.com/14:46
awilkins"K-lined" : not seen that in a while14:59
awilkins<nelson>Ha-ha</nelson14:59
jelmerbeuno: is there any loggerhead release in the pipeline?15:02
beunojelmer, oh, I really do want to make a release15:02
jelmerbeuno: including the start-loggerhead -> serve-branches transition?15:02
beunojelmer, that's the blocker. No config yet15:03
jelmerbeuno: ahh15:03
rockstarbeuno, I have a secret plan to re-write large parts of loggerhead.15:03
jelmerbeuno: any rough idea on when that would be possible?15:03
jelmerbeuno: (one of the alioth maintainers is asking me for a backport)15:03
beunojelmer, I could make a release anyway15:03
jelmerbeuno: well, I'm mainly interested in doing the backport *after* the changes15:04
beunorockstar, I hear that, really looking forward to it15:04
jelmeras they will affect users15:04
beunojelmer, after the start -> serve migration?15:04
jelmerbeuno: yeah15:04
beunojelmer, ok. I have had zero time to work on that  :(15:04
rockstarbeuno, you heard already?  I guess it's not a secret plan then.15:04
beunorockstar, well, unless it's something different than the wholehistory and revnocache bits15:05
jelmerbeuno: no worries, I was just wondering what the status was on that15:05
beunoit can be *our* secret15:05
beunojelmer, "stalled", but mwhudson and rockstar are working on all kinds of places15:05
rockstarbeuno, drastically different.  wholehistory is not going to be trivial to remove without ripping out all sorts of things.15:05
beunorockstar, oh!  interesting15:06
jelmerbeuno: ah, thanks15:07
jelmerrockstar: wholehistory?15:08
rockstarjelmer, wholehistory cache is the bane of loggerhead's existence.15:09
jelmerah, teh cache15:11
rockstarjelmer, I'm almost positive that it's the reason loggerhead leaks memory.15:14
=== abentley1 is now known as abentley
=== nevans1 is now known as nevans
jamrockstar: well, IIRC when talking with mwh at pycon, we found the problem wasn't strictly the whole-history cache, as much as the 3-4 copies of it17:26
jamwhich is some of the stuff we uncovered with the memory_dump stuff17:27
jelmerwhoa18:03
jelmermerge pulls the revisions for the other tree into the this repo18:04
luke-jrjelmer: uh?18:07
jelmerif you run "bzr merge" in a subversion working copy (with .svn directories)18:08
jelmerit will push the pending merges into the repository, but that happens to be a remote svn repository18:08
jelmerand revisions are always visible in svn18:09
=== abentley1 is now known as abentley
cody-somervilledoh19:44
cody-somervilleI imported a git branch to bzr19:45
cody-somervilleand its clearly missing files and whole directories :/19:45
jelmercody-somerville: how did you import it?19:46
cody-somervillejelmer, git fast-export --all | (cd ../.bzr-repo; bzr fast-import - &> /dev/null)19:46
jelmerok, no clue then19:47
cody-somervilleIs there another way to do it?19:48
jelmercody-somerville: bzr-git19:48
cody-somervilleIs there a package in Ubuntu with that?19:50
jelmernot yet19:52
pygithere is an archlinux package however :p19:54
ronnythat doesnt fix all the other reasons for not using archlinux19:54
cody-somervillelol19:55
pygironny, :P19:55
pygironny, like what? :D19:55
ronnywell, they ship a broken gvim since years19:55
pygiit'd take you 5 secs to fix it... whats the problem exactly?19:56
ronnyand there have been other incompetence issues - like the package manager doing silent corruption19:56
ronnypygi: the vim people told them many times, they dont fix19:56
pygironny, o.O19:56
pygironny, could you pm me, so I can do it?19:57
ronnythe main issue is that their custom gvimrc breaks all colorshemes19:57
pygi(not in official repos tho)19:57
ronnyevery few weeks we get a unhappy pida user cause of this, and god knows how many dont even ask19:58
pygironny, I am just looking at the package...19:59
pygironny, it ships with gvimrc_example.vim from vim tarball as gvimrc?19:59
ronnypygi: last time i brothered /etc/gvimrc or /etc/vim/gvimrc was a custom mess of color hacks in archlinux20:01
ronnythe fix was to just delete it20:01
pygirockstar, ok, at least now it doesn't seem to be20:01
rockstarpygi, please watch your tab completion.20:02
pygirockstar, ups, I did that yesterday too, no? :D20:02
pygironny*20:02
ronnywell, shortly after that the archlinux package-manager silently corrupted my install and the package db due to absolute ignorance of a filled harddisk20:02
pygironny, right :)20:03
ronnywell, end of the story is - i discourage everyone from using arch20:04
pygihehe nice :)20:04
pygido I have your forgiveness for using it then? :P20:05
ronnyi just discourage fro using it20:05
ronnybut i might commit hate-crimes against rpm based things20:05
=== abentley1 is now known as abentley
=== beuno_ is now known as beuno
jelmervila: hi21:48
pygijelmer, new bzr git requires 1.15?22:01
pygiw00t? :D22:02
jelmerpygi: yeah, bzr.dev22:03
pygimeh, so I have to install that too22:03
pygiso un-cool xD22:03
=== _thumper_ is now known as thumper
=== Guest92688 is now known as bob2
jelmerlifeless: ping23:26
lifelessjelmer: pong23:55
poolielifeless, jelmer, hi23:57

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