2008-07-30T08:23:26  <dreimark> moin
2008-07-30T08:32:42  <PawelPacana> moin
2008-07-30T08:34:09  <ThomasWaldmann> moin
2008-07-30T08:42:48  <dreimark> PawelPacana: do you have seen the comment on your wiki page?
2008-07-30T08:46:32  <ThomasWaldmann> fan post :)
2008-07-30T08:56:56  <ThomasWaldmann> dennda: i get not edit link any more for nonexistant pages
2008-07-30T08:57:16  <ThomasWaldmann> info action crashes with key error
2008-07-30T08:58:31  <ThomasWaldmann> diff action malfunctions when it reaches rev 0
2008-07-30T08:59:50  <PawelPacana> dreimark: i also got mail with coding/testing help proposal :P)
2008-07-30T09:02:56  <ThomasWaldmann> btw, do we have something like a "init backend storage" meanwhile?
2008-07-30T09:03:42  <ThomasWaldmann> for the fs and mercurial backends, it would likely just create the directory structure / init the repo
2008-07-30T09:08:29  <PawelPacana> fs and hg just need empty directory and do their own stuff in __init__
2008-07-30T09:10:56  <ThomasWaldmann> waldi: zenhase: mitsuhiko: moon: xorAxAx: dennda: johill: PawelPacana: TheSheep: dreimark: meeting today at 11:00 UTC
2008-07-30T09:11:17  <moon> ThomasWaldmann: ok
2008-07-30T09:11:21  <dreimark> ok
2008-07-30T09:17:10  <TheSheep> yeah
2008-07-30T09:18:14  <zenhase> moin
2008-07-30T09:18:55  <zenhase> after giving my wrist a lot of rest yesterday, it feels a lot better today
2008-07-30T09:19:31  <zenhase> but i'll nevertheless see a doctor today, i think
2008-07-30T09:54:06  <dreimark> well wishes zenhase
2008-07-30T09:57:09  <zenhase> great start, first one has no more free appointments and is going to vacation soon :)
2008-07-30T10:16:42  <xorAxAx> http://ptrace.fefe.de/tshirt.jpg
2008-07-30T10:20:17  <ThomasWaldmann> hehe. true or made up?
2008-07-30T10:21:36  <ThomasWaldmann> btw, meeting today will be second last within the coding period
2008-07-30T10:22:18  <ThomasWaldmann> brb
2008-07-30T10:24:48  <blathijs> xorAxAx: Does that mean that T-shirts have become smaller over time?
2008-07-30T10:25:14  <xorAxAx> blathijs: probably
2008-07-30T10:49:49  <gizmach> moin
2008-07-30T10:51:00  <ThomasWaldmann> moin melita
2008-07-30T10:52:34  <gizmach> moin ThomasWaldmann just preparing to do commit, have some conflicts because of TODO and some code changes and I couldn't pull that
2008-07-30T10:52:53  <gizmach> and I have lot's of commits
2008-07-30T10:55:01  <gizmach> is there any easier way than cloning and again changing code?
2008-07-30T10:56:37  <xorAxAx> gizmach: ?
2008-07-30T10:56:42  <xorAxAx> gizmach: when doing what?
2008-07-30T10:56:58  <gizmach> well dreimark changed some code and pushed
2008-07-30T10:57:08  <gizmach> I didn't pull
2008-07-30T10:57:08  <xorAxAx> gizmach: you said that you pulled without having committed first?
2008-07-30T10:57:16  <gizmach> no
2008-07-30T10:57:20  <gizmach> I got commits
2008-07-30T10:57:27  <gizmach> and that pulled reimars code
2008-07-30T10:57:33  <gizmach> and got conflicts
2008-07-30T10:57:43  <xorAxAx> yes, so you have to resolve the conflicts
2008-07-30T10:57:50  <xorAxAx> hg starts hgmerge for that
2008-07-30T10:57:59  <xorAxAx> which starts your favorite conflict resolution program
2008-07-30T10:58:05  <gizmach> :)
2008-07-30T10:58:08  <gizmach> thx
2008-07-30T10:58:22  <xorAxAx> you can just rollback the merge and try again
2008-07-30T10:58:47  <gizmach> I did that
2008-07-30T10:58:51  <gizmach> now
2008-07-30T11:26:51  <CIA-53> MelitaMihaljevic default * 3983:0ad4691d0f28 1.8-ldapgroups-mmihaljevic/MoinMoin/datastruct/backend/ (6 files): renamed group_X.py to X_group.py
2008-07-30T11:26:54  <CIA-53> MelitaMihaljevic default * 3984:874b6f4413ea 1.8-ldapgroups-mmihaljevic/MoinMoin/datastruct/backend/_tests/ (8 files): renamed tests from test_groupX.py to test_Xgroup.py
2008-07-30T11:26:54  <CIA-53> MelitaMihaljevic default * 3985:252b13663d94 1.8-ldapgroups-mmihaljevic/MoinMoin/datastruct/__init__.py: fixed code, given request as first parm
2008-07-30T11:26:54  <CIA-53> MelitaMihaljevic default * 3986:95056ecfc15d 1.8-ldapgroups-mmihaljevic/MoinMoin/ (9 files in 6 dirs): fixed datastruct, datastruct related code and tests to use simplified group backend (not using group manager factory)
2008-07-30T11:26:57  <CIA-53> MelitaMihaljevic default * 3987:473f3337d884 1.8-ldapgroups-mmihaljevic/wiki/config/more_samples/ (3 files): removed group backend wikiconfig snippets (it will be added in one wikiconfig group backend snippet)
2008-07-30T11:27:00  <CIA-53> MelitaMihaljevic default * 3988:c73e370e523a 1.8-ldapgroups-mmihaljevic/wiki/config/more_samples/group_backend_wikiconfig_snippet: added group backend snippet (all group backend snippets at one place)
2008-07-30T11:27:03  <CIA-53> MelitaMihaljevic default * 3989:7f78bfab56bc 1.8-ldapgroups-mmihaljevic/MoinMoin/ (11 files in 6 dirs): global cleanup of datastruct and datastruct related code (docstrings and some pep8 changes)
2008-07-30T11:27:06  <CIA-53> MelitaMihaljevic default * 3990:ae6b00a57d07 1.8-ldapgroups-mmihaljevic/MoinMoin/datastruct/ (7 files in 3 dirs): datastruct: global code cleanup (fixed formating errors, bugs and bad names)
2008-07-30T11:27:11  <CIA-53> MelitaMihaljevic default * 3991:54653dd94744 1.8-ldapgroups-mmihaljevic/MoinMoin/datastruct/ (9 files in 3 dirs): merged with todo code
2008-07-30T11:29:44  <ThomasWaldmann> hey, commits :)
2008-07-30T11:30:50  <dreimark> :)
2008-07-30T11:30:56  <gizmach> :)
2008-07-30T11:31:18  * dreimark had a long phonecall because of some strange installation issues
2008-07-30T11:34:21  <dreimark> lunch
2008-07-30T11:55:40  <zenhase> http://eigensex.org/self-fix/1.jpg http://eigensex.org/self-fix/2.jpg http://eigensex.org/self-fix/3.jpg
2008-07-30T11:55:47  <zenhase> :)
2008-07-30T11:59:38  <TheSheep> duct tape rulez :D
2008-07-30T11:59:48  <zenhase> yeah
2008-07-30T11:59:53  <zenhase> fixes everything
2008-07-30T11:59:55  <zenhase> even humans
2008-07-30T12:00:14  <TheSheep> I always wanted to name my company "ducttape engineering"
2008-07-30T12:00:45  <zenhase> hmm
2008-07-30T12:01:14  <zenhase> ok, but this would have a kind of negative sound to it, wouldn't it? ;)
2008-07-30T12:01:32  <xorAxAx> its just honest :)
2008-07-30T12:01:54  <zenhase> i mean duct tape is THE quick'n'dirty hack tool ;)
2008-07-30T12:02:01  <TheSheep> zenhase: don't you know that ad-hoc solutions are the most persistent?
2008-07-30T12:02:16  <zenhase> TheSheep: not in the case of duct tape :)
2008-07-30T12:02:25  <TheSheep> zenhase: oh yes
2008-07-30T12:02:32  <zenhase> i mean it was designed to ad-hoc fix problems in event-scenarios :P
2008-07-30T12:02:45  <TheSheep> zenhase: and it fixes them good
2008-07-30T12:02:56  <zenhase> yes
2008-07-30T12:03:16  <zenhase> but those fixes are always just meant to be used for some days ;)
2008-07-30T12:03:32  <TheSheep> zenhase: most of the systems I designed carefuly are already replaced by something else. the systems that I just patched together quickly work to this day
2008-07-30T12:03:50  <TheSheep> zenhase: including my generator for dhcp and dns config written in awk
2008-07-30T12:04:03  <zenhase> TheSheep: scary ... this sounds like the equivalent of a rock stage built entirely from duct tape ;)
2008-07-30T12:04:07  <xorAxAx> because nobody understood how they work :)
2008-07-30T12:04:24  <TheSheep> xorAxAx: because they just work
2008-07-30T12:05:03  <xorAxAx> well, thats certainly a different kind of duct tape hack
2008-07-30T12:05:09  <TheSheep> could have been worse, my fried has recently written a script for streamng vide from surveilance cameras in bash
2008-07-30T12:05:10  <xorAxAx> then you have in large software projects
2008-07-30T12:05:18  <xorAxAx> where you often cannot remove the hacks without large refactoring
2008-07-30T12:05:21  <TheSheep> video
2008-07-30T12:05:49  <TheSheep> meaning, he actually stream the video through greps and cuts
2008-07-30T12:06:36  <zenhase> oO
2008-07-30T12:06:47  <xorAxAx> real men code that in sed
2008-07-30T12:06:49  <zenhase> this sounds soooo wrong
2008-07-30T12:07:09  * zenhase doesn't want to be a real man 
2008-07-30T12:07:16  <TheSheep> it's a stream of jpegs which he splits into single images, converts, and recodes into some video format
2008-07-30T12:07:40  <TheSheep> xorAxAx: sed is involved too
2008-07-30T12:08:05  <xorAxAx> TheSheep: completly in sed
2008-07-30T12:08:10  <xorAxAx> sed is turing complete
2008-07-30T12:08:28  <TheSheep> xorAxAx: nah, that would bee too fast and would do too few forks per second :)
2008-07-30T12:09:37  <xorAxAx> you could also write parts of the converter in a DSL, like e.g. brainfuck and run that on the sed transcoding environment -- http://mi.eng.cam.ac.uk/~er258/code/sed/brainf__k.sed
2008-07-30T12:16:22  <zenhase> xorAxAx: brainfuck is a DSL?
2008-07-30T12:16:38  <zenhase> i mean, in which domain? :)
2008-07-30T12:16:45  <xorAxAx> the domain is obviously brainfucking
2008-07-30T12:17:32  <zenhase> doesn't sound like a problem to me, that programmers need to solve often ;)
2008-07-30T12:17:52  <xorAxAx> but there are actually brainfuck programs
2008-07-30T12:21:34  <zenhase> yeah, but most of them solve problems that tend to be extremely simple when done in a non-DSL (mean generic high level programming language)
2008-07-30T12:21:38  <zenhase> ;)
2008-07-30T12:22:11  <zenhase> and my brain tries to avoid brainf*cking itself ...
2008-07-30T12:22:21  <xorAxAx> yeah, but then you have left the domain of brainfucking
2008-07-30T12:22:24  * xorAxAx -> lunch
2008-07-30T12:46:01  <dennda> ThomasWaldmann: I am sorry, how did you get that KeyError? I need a traceback or info on how you procuded it, since I cannot reproduce it.
2008-07-30T12:47:35  <ThomasWaldmann> i just started it and clicked around a bit
2008-07-30T12:48:32  <dennda> That's what I am doing. The only thing I could find is an AttributeError I am already working on
2008-07-30T12:49:09  <dreimark> http://wiki.python.de/User_Group_K%C3%B6ln/MeetingAnnouncements?action=AttachFile&do=get&target=PyCologneAnnouncement_20080813.pdf
2008-07-30T12:49:48  <TheSheep> dreimark: we need a javascript-based pdf viewer for moin :D
2008-07-30T12:50:18  <dreimark> yeah that would be great
2008-07-30T12:51:37  * gizmach found a bug in her code
2008-07-30T12:53:18  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4377:ec8490912ac1 1.8-mercurialbackend-ppacana/MoinMoin/storage/_tests/ (test_backends.py test_backends_hg.py): (backend tests) Removed broken tests. Fixed and moved test_revisions_after_rename to hg tests. Added more item metadata tests.
2008-07-30T12:53:18  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4378:a63722257aca 1.8-mercurialbackend-ppacana/MoinMoin/storage/backends/hg.py: (hg) Fixed list_revisions to show rename history.
2008-07-30T12:53:22  <gizmach> some tests are failin
2008-07-30T12:54:20  <CIA-53> Byeongweon [tasyblue@gmail.com] default * 3944:be43e3973baa 1.8-guieditor-mbyeongweon/MoinMoin/ (2 files in 2 dirs): fix gui editor remove inline comments problem
2008-07-30T12:59:14  <waldi> hi
2008-07-30T12:59:28  <zenhase> 1min to go :)
2008-07-30T12:59:41  <ThomasWaldmann> welcome to today's meeting
2008-07-30T12:59:48  <zenhase> \o/
2008-07-30T12:59:49  <gizmach> :)
2008-07-30T12:59:53  <ThomasWaldmann> this is the second last one in the coding phase
2008-07-30T13:00:00  <ThomasWaldmann> waldi: please begin
2008-07-30T13:00:27  <waldi> what works: parts of the moin wiki parser, pagelinks
2008-07-30T13:00:47  <waldi> what does not work: stateless parsing of the nowiki escape in the moin wiki format
2008-07-30T13:01:22  <ThomasWaldmann> you mean !CamelCase?
2008-07-30T13:01:26  <waldi> no
2008-07-30T13:01:41  <waldi> {{{{\na\n{{{\na\n}}}\n}}}}
2008-07-30T13:02:02  <blackbird> hi zenhase
2008-07-30T13:02:11  <waldi> !CamelCase is no problem
2008-07-30T13:02:25  <dreimark> blackbird: we have a conference currently
2008-07-30T13:02:26  <blackbird> ThomasWaldmann: can we move me and zenhase to the beginning? there are no power sockets on that table and my notebook is at 15% :)
2008-07-30T13:02:36  <zenhase> uh :)
2008-07-30T13:02:45  <zenhase> hi there in scotland ;)
2008-07-30T13:02:48  <dennda> dreimark: blackbird == mitsuhiko :)
2008-07-30T13:02:51  <ThomasWaldmann> hmpf
2008-07-30T13:02:58  <blackbird> ah yes. sorry for the different nick
2008-07-30T13:03:15  <ThomasWaldmann> blackbird: can you just search a location with power?
2008-07-30T13:03:27  <blackbird> ThomasWaldmann: i'm trying
2008-07-30T13:03:44  <ThomasWaldmann> blackbird: you're next after waldi
2008-07-30T13:04:02  <waldi> the moin wiki parser is currently more or less a copy of the creole parser
2008-07-30T13:04:21  <waldi> several things are either similar or identical
2008-07-30T13:04:32  <ThomasWaldmann> hehe. do you think it's all doable that way?
2008-07-30T13:04:33  <waldi> oh, Include works
2008-07-30T13:04:57  <waldi> i think i need to go back to line based parsing with state
2008-07-30T13:05:15  <xorAxAx> a parser without line no info is a bad one :)
2008-07-30T13:05:25  <waldi> it have that info
2008-07-30T13:05:51  <waldi> but the parser themself uses regexps which may match more then one line
2008-07-30T13:06:20  <xorAxAx> well, the regex match objects can be used to deduce line info
2008-07-30T13:06:26  <ThomasWaldmann> ok, we'll discuss some parser stuff afterwards. other blockers?
2008-07-30T13:06:44  <waldi> no
2008-07-30T13:07:09  <ThomasWaldmann> is macro and parser now the same code?
2008-07-30T13:07:31  <waldi> no, still different but rather similar interface
2008-07-30T13:07:58  <ThomasWaldmann> do you have to keep it that way?
2008-07-30T13:08:03  * johill returns from lunch, sorry
2008-07-30T13:08:14  <waldi> i think i will keep it that way for now
2008-07-30T13:08:29  <ThomasWaldmann> ok, plan until next meeting?
2008-07-30T13:08:50  <waldi> moin parser, bugfixing, cleanup
2008-07-30T13:09:15  <ThomasWaldmann> lineno anchors?
2008-07-30T13:09:34  <waldi> will think about
2008-07-30T13:09:50  <johill> who ever uses them?
2008-07-30T13:09:50  <ThomasWaldmann> is creole expected to work completely?
2008-07-30T13:09:56  <ThomasWaldmann> diff does :)
2008-07-30T13:10:24  <waldi> ThomasWaldmann: except table headers
2008-07-30T13:10:44  <ThomasWaldmann> ok, thanks waldi, nice work :)
2008-07-30T13:10:53  <ThomasWaldmann> zenhase: blackbird: your stage
2008-07-30T13:10:56  <zenhase> ok
2008-07-30T13:11:00  <blackbird> okay
2008-07-30T13:11:05  <zenhase> so, what's the progress:
2008-07-30T13:11:15  <zenhase> LDAP tests are mostly working now (more on that later)
2008-07-30T13:11:45  <zenhase> Standalone server should be (finally) working now. The missing config-options are now added automatically (interface, etc.)
2008-07-30T13:11:58  <zenhase> Also standalone log-format is now back to the format moin uses and log-lines aren't doubled anymore.
2008-07-30T13:12:07  <zenhase> I wrote a trusted-proxies middleware, but i still need to configure it somehow.
2008-07-30T13:12:29  <zenhase> Merged 1.8 (28-07), again have some errors with LDAP-tests
2008-07-30T13:12:43  <zenhase> it throws some error with 'already exists' on setup of the test-environment
2008-07-30T13:13:08  <ThomasWaldmann> that happens since your modifications iirc
2008-07-30T13:13:20  <ThomasWaldmann> i also have seen that recently
2008-07-30T13:13:21  <zenhase> working on right now: request_cli replacement (ScriptContext), then i can kill off the request/server packages
2008-07-30T13:13:45  <blackbird> zenhase: trusted proxies == middleware that rewrites remote_addr for proxy environments?
2008-07-30T13:14:09  <zenhase> blackbird: yes
2008-07-30T13:14:27  <CIA-53> Byeongweon [tasyblue@gmail.com] default * 3950:dd7446b5e95c 1.8-guieditor-mbyeongweon/MoinMoin/ (12 files in 8 dirs): merge with recent 1.8 main branch
2008-07-30T13:14:30  <blackbird> if yes, why not just add a config value that is true/false and if true x-forwarded-for is trusted?
2008-07-30T13:14:42  <johill> no you want to trust it only from certain hosts
2008-07-30T13:14:59  <blackbird> johill: isn't that the job of the firewall?
2008-07-30T13:15:01  <zenhase> well, because config gets loaded later :)
2008-07-30T13:15:05  <xorAxAx> "firewall"?
2008-07-30T13:15:10  <ThomasWaldmann> please just take the algorithm as it was
2008-07-30T13:15:12  <xorAxAx> a firewall usually works on the transport level
2008-07-30T13:15:20  <blackbird> xorAxAx: yes, that's the idea
2008-07-30T13:15:25  <ThomasWaldmann> except if you can prove something is wrong with it
2008-07-30T13:15:27  <TheSheep> blackbird: anything that comes in the request from outseide cannot be trusted...
2008-07-30T13:15:33  <xorAxAx> http is not the transport level :) zenhase's idea sounds fine
2008-07-30T13:15:34  <johill> blackbird: that'd be kinda dumb
2008-07-30T13:15:42  <johill> anyhow
2008-07-30T13:15:43  <ThomasWaldmann> (i invested quite some time back then researching that stuff)
2008-07-30T13:15:48  <blackbird> nginx proxies the twisted servers and the firewall ensures only the trusted hosts can access the twisted servers
2008-07-30T13:15:51  <TheSheep> blackbird: sorry, scratch that :)
2008-07-30T13:15:52  <johill> we do it that way now so we want it that way going forward
2008-07-30T13:16:22  <xorAxAx> blackbird: you mean stateful application level gateways
2008-07-30T13:16:26  <xorAxAx> thats something else. next topic?
2008-07-30T13:16:26  <zenhase> well, until now configuring it meant modifying MoinMoin/request/__init__.py
2008-07-30T13:16:30  <zenhase> ok
2008-07-30T13:16:35  <zenhase> wait a sec
2008-07-30T13:16:38  <zenhase> blockers:
2008-07-30T13:16:50  <zenhase> My slightly damaged right wrist.
2008-07-30T13:16:52  <blackbird> xorAxAx: is there a dumb explanation why moin needs a list of trusted proxies?
2008-07-30T13:17:01  <zenhase> But this seems to work a lot better now with my wrist protector and those bandages.
2008-07-30T13:17:07  <zenhase> so i think i can code again
2008-07-30T13:17:11  <dreimark> blackbird: please discuss this later
2008-07-30T13:17:19  <zenhase> as you already see i am able to chat again ;)
2008-07-30T13:17:34  <xorAxAx> blackbird: moin doesnt. please adhere to the meeting rules
2008-07-30T13:18:06  <zenhase> all in all i wasn't that productive the last week, but i think everything will still work out until pencils down date
2008-07-30T13:18:11  <zenhase> time-wise
2008-07-30T13:18:37  <xorAxAx> so its gizmachs turn
2008-07-30T13:18:41  <zenhase> wait
2008-07-30T13:18:44  <zenhase> one more question
2008-07-30T13:18:45  <ThomasWaldmann> plan until next week?
2008-07-30T13:19:15  <zenhase> ThomasWaldmann: request_cli-replacement, killing off request/server packages, write the documentation for different setups
2008-07-30T13:19:39  <ThomasWaldmann> ok
2008-07-30T13:19:50  <zenhase> and: i would like to merge some other repo than 1.8 against my code to test how it works
2008-07-30T13:20:03  <zenhase> which one is the most advanced right now in terms of working state?
2008-07-30T13:20:12  <blackbird> zenhase: will flup replace the current fastcgi gateway?
2008-07-30T13:20:15  <ThomasWaldmann> zenhase: don't do that
2008-07-30T13:20:34  <blackbird> ThomasWaldmann: why?
2008-07-30T13:20:36  <ThomasWaldmann> ok, i guess we have to discuss more details later
2008-07-30T13:20:41  <zenhase> hmm ok
2008-07-30T13:20:45  <dreimark> zenhase: not now, we can do this after gsoc
2008-07-30T13:20:51  <ThomasWaldmann> gizmach: dreimark: your stage (thanks blackbird and zenhase)
2008-07-30T13:20:54  <zenhase> ok
2008-07-30T13:20:56  <gizmach> ok
2008-07-30T13:20:58  <gizmach> here I am
2008-07-30T13:20:59  <gizmach> :)
2008-07-30T13:21:12  <dreimark> please report
2008-07-30T13:21:12  <xorAxAx> ThomasWaldmann: he can merge as much as he likes as long as he doesnt push it into his public repo
2008-07-30T13:21:19  <gizmach> ldap group stuff works now
2008-07-30T13:21:22  <xorAxAx> zenhase: please try to figure that out after the meeting
2008-07-30T13:21:34  <gizmach> also I fixed most things from TODO list
2008-07-30T13:22:01  <gizmach> also I simplified code and it now doesn't use factory backend
2008-07-30T13:22:06  <ThomasWaldmann> xorAxAx: then it is just a waste of time
2008-07-30T13:22:12  <xorAxAx> ThomasWaldmann: not at all
2008-07-30T13:22:17  <gizmach> but today I figured that some tests are failing
2008-07-30T13:22:28  <gizmach> and it's my fault, first I will fix that
2008-07-30T13:22:42  <gizmach> than write a documentation for this part I done
2008-07-30T13:23:03  <gizmach> and wikidicts refactoring
2008-07-30T13:23:14  <gizmach> that are my plans to work on
2008-07-30T13:23:44  <dreimark> when do you think you can start with wikidicts in days?
2008-07-30T13:24:08  <gizmach> dreimark: as soon as I finish fixing this tests and write documentation
2008-07-30T13:24:11  <gizmach> few days
2008-07-30T13:24:18  <ThomasWaldmann> i think we first need some dicts code before
2008-07-30T13:24:25  <gizmach> ThomasWaldmann: ok
2008-07-30T13:25:10  <ThomasWaldmann> and you have to check if something uses (ordered) lists (groups are not ordered now in your code)
2008-07-30T13:25:22  <johill> I use ordered
2008-07-30T13:25:37  <gizmach> ok I will have that in mind
2008-07-30T13:26:05  <dreimark> any blockers ?
2008-07-30T13:26:17  <gizmach> dreimark: no blokers ,except time :)
2008-07-30T13:26:36  <gizmach> dreimark: need to fix those bugs but that are no blokers
2008-07-30T13:26:56  <gizmach> and probably that's all from me
2008-07-30T13:27:07  <dreimark> yeah, 53 failing tests, means you have to run tests more often before com.
2008-07-30T13:27:44  <gizmach> dreimark: yes I figure that in the morning (I was programming until 3 and half am)
2008-07-30T13:27:59  <ThomasWaldmann> gizmach: don't you have vacations and enough time currently?
2008-07-30T13:28:23  <gizmach> ThomasWaldmann: I am at paretns and on friday I'm traveling home
2008-07-30T13:28:33  <gizmach> but I mean time generally
2008-07-30T13:29:55  <dreimark> we are done ?
2008-07-30T13:29:59  <gizmach> I think we are
2008-07-30T13:30:38  <ThomasWaldmann> ok, thanks gizmach and dreimark
2008-07-30T13:30:44  <gizmach> :)
2008-07-30T13:30:58  <ThomasWaldmann> byeongweon: xorAxAx: your stage
2008-07-30T13:30:59  <xorAxAx> byeongweon: its your turn
2008-07-30T13:31:06  <byeongweon> i'm here
2008-07-30T13:31:09  <byeongweon> last week
2008-07-30T13:31:12  <gizmach> gtg
2008-07-30T13:31:27  <byeongweon> I told you process all bugs into fixed and unfixed
2008-07-30T13:31:38  <byeongweon> I finished that job.
2008-07-30T13:31:43  <xorAxAx> nearly :)
2008-07-30T13:31:52  <xorAxAx> (lets talk about that later)
2008-07-30T13:32:01  <byeongweon> and divide unfixed bugs into server side and client side
2008-07-30T13:32:05  <xorAxAx> yeah
2008-07-30T13:32:13  <byeongweon> as you seen my homepage http://moinmo.in/MoonByeongweon/SOC2008
2008-07-30T13:32:15  <xorAxAx> i think i agree
2008-07-30T13:32:36  <byeongweon> I thinks almost javascript side bugs are fixed
2008-07-30T13:33:07  <byeongweon> blockers:
2008-07-30T13:33:32  <byeongweon> as I fix some bugs related with python code
2008-07-30T13:33:57  <ThomasWaldmann> byeongweon: it would be nice if you update the bug reports themselves with your categorization
2008-07-30T13:33:58  <byeongweon> I realize some bugs are more related with moinmoin python code then I thought
2008-07-30T13:34:10  <ThomasWaldmann> so it is in the bug report itself and not only on your homepage
2008-07-30T13:34:31  <xorAxAx> ThomasWaldmann: he did already, they are just not closed yet
2008-07-30T13:34:54  <byeongweon> ThomasWaldmann: ok. I just add comment into discussion section
2008-07-30T13:35:07  <xorAxAx> byeongweon: under "Issues/Tasks" there are a few things left, have you looked at those?
2008-07-30T13:35:12  <xorAxAx> (i just cleaned up the section)
2008-07-30T13:35:22  <ThomasWaldmann> http://moinmo.in/MoinMoinBugs/GuiEditorTableTurnsBlue is classified as server side but no info on bug report page
2008-07-30T13:35:29  <byeongweon> xorAxAx: yes. I consider that too
2008-07-30T13:35:43  <xorAxAx> ThomasWaldmann: indeed, that step is missing
2008-07-30T13:36:05  <byeongweon> xorAxAx: yes some bug reports didn't written carefully
2008-07-30T13:36:15  <xorAxAx> byeongweon: so i think you can move your line from "discussion" into the "status:" line, and close the bug if possible (by changing its category)
2008-07-30T13:36:21  <byeongweon> xorAxAx: I try to reproduce that again.
2008-07-30T13:36:44  <byeongweon> xorAxAx: ok. I will do that work.
2008-07-30T13:36:46  <xorAxAx> byeongweon: also you should add a short line "looks like a server side issue" for all bug reports that you classified as server side
2008-07-30T13:37:02  <byeongweon> xorAxAx: ok.
2008-07-30T13:37:06  <ThomasWaldmann> in the "Component selection" part
2008-07-30T13:37:15  <byeongweon> should I continue say.
2008-07-30T13:37:53  <byeongweon> continue. some bugs are more related with moinmoin code.
2008-07-30T13:38:00  <byeongweon> what I mean is
2008-07-30T13:38:45  <byeongweon> to fix some bugs I would modify parser or some others code
2008-07-30T13:39:13  <byeongweon> I think that makes merge process hard.
2008-07-30T13:39:17  <byeongweon> after gsoc
2008-07-30T13:39:32  <ThomasWaldmann> byeongweon: maybe just fix the easy stuff in the gui editor formatter and converter
2008-07-30T13:39:36  <xorAxAx> hmm, why the parser?
2008-07-30T13:39:55  <ThomasWaldmann> e.g. /* comments */
2008-07-30T13:40:06  <ThomasWaldmann> (esp. the stuff that loses data if not fixed)
2008-07-30T13:40:24  <xorAxAx> ThomasWaldmann: where is that listed?
2008-07-30T13:40:34  <ThomasWaldmann> http://moinmo.in/MoinMoinBugs/GuiEditorRemovesInlineComments
2008-07-30T13:40:52  <byeongweon> so I will sort unfixed bugs by priority and coupling with moinmoin code
2008-07-30T13:41:09  <byeongweon> include issues.
2008-07-30T13:41:26  <xorAxAx> ThomasWaldmann: thats already fixed?!
2008-07-30T13:41:47  <ThomasWaldmann> dennda: johill: you're next after moon has finished
2008-07-30T13:41:51  <ThomasWaldmann> xorAxAx: oops, yes.
2008-07-30T13:41:58  <byeongweon> hm..
2008-07-30T13:42:14  <byeongweon> I will fix more and more bugs :)
2008-07-30T13:42:21  <byeongweon> that's all
2008-07-30T13:42:32  <ThomasWaldmann> ok, thanks moon and xorAxAx
2008-07-30T13:43:27  <dennda> If I may? :)
2008-07-30T13:43:36  <ThomasWaldmann> sure :)
2008-07-30T13:43:51  <dennda> What works: Info-Action (Editlog is not used anymore. The neccessary data, still known as EDIT_LOG_$DATA, is now directly stored in a revisions Metadata.), Diff-Action. (Getting rid of the used Page-objects here.)
2008-07-30T13:43:58  <dennda> (Both mainly. Just figuring out how ThomasWaldmann got those bugs. Should be easy.).
2008-07-30T13:44:56  <dennda> While I was following the meeting, I also started rewriting the other methods like copyPage and renamePage. The former is mostly finished. I will complete the rest of those asap, ideally today.
2008-07-30T13:45:58  <dennda> What does not work: Properly displaying a pages correct revision. Saving works fine, displaying it still has some issues. That bug is on top of my TODO list.
2008-07-30T13:46:52  <dennda> Plan until next meeting: Get those things fixed and integrated asap so I can continue with the remaining subtasks.
2008-07-30T13:48:57  <ThomasWaldmann> i think there might be a general problem with rev == 0
2008-07-30T13:49:10  <johill> attachfile is an important thing you haven't even started yet, right?
2008-07-30T13:49:18  <dennda> johill: Yes
2008-07-30T13:49:19  <TheSheep> ThomasWaldmann: becayse all the if rev: ... ?
2008-07-30T13:49:25  <TheSheep> because
2008-07-30T13:49:30  <dennda> johill: That's one of the subtasks I was talking of
2008-07-30T13:49:45  <ThomasWaldmann> because in old code rev==0 means "current revision" and real revs start from 1
2008-07-30T13:50:20  <dennda> (Which is an odd numbering)
2008-07-30T13:50:22  <dennda> imho
2008-07-30T13:50:36  <dennda> But yes, that must be sorted out of course
2008-07-30T13:50:48  <TheSheep> dennda: rev=-1 is odd to me %)
2008-07-30T13:50:57  <TheSheep> dennda: but it's ok as long as it's all consistent
2008-07-30T13:51:13  <dennda> TheSheep: In computer science you usually start counting with zero :)
2008-07-30T13:51:18  <johill> -1 is a lot more special than 0
2008-07-30T13:51:19  <zenhase> TheSheep: at least it mimics list-indexing
2008-07-30T13:51:21  <johill> so that makes a lot more sense
2008-07-30T13:51:29  * dennda agrees
2008-07-30T13:51:35  <dennda> zenhase: that too
2008-07-30T13:51:54  * TheSheep would prefer a separte get_last_revision, but that's not really important
2008-07-30T13:52:57  <ThomasWaldmann> backend mig script is also still todo, right?
2008-07-30T13:53:09  <dennda> Yep
2008-07-30T13:53:13  <PawelPacana> ThomasWaldmann: i thought it was my todo? :)
2008-07-30T13:53:13  <ThomasWaldmann> and ACLs
2008-07-30T13:54:03  <PawelPacana> however i'm not insisting on that
2008-07-30T13:54:09  <ThomasWaldmann> PawelPacana: it is? well, you can have it :) just make an agreement with dennda.
2008-07-30T13:54:13  <PawelPacana> dennda: we could collaborate
2008-07-30T13:54:21  <dennda> PawelPacana: I'd be delighted
2008-07-30T13:54:51  <PawelPacana> ThomasWaldmann: there is no much sense in providing specific migration script for hg
2008-07-30T13:55:03  <ThomasWaldmann> correct
2008-07-30T13:55:03  <dennda> Neither for any backend
2008-07-30T13:55:19  <PawelPacana> generic one suits all cases with new api
2008-07-30T13:55:48  <ThomasWaldmann> dennda: blockers?
2008-07-30T13:56:27  <dennda> ThomasWaldmann: This one issue I listed above not working correctly. I already spent literally hours on figuring it out, but wasn't too successful thus far. I'll give it another shot tho
2008-07-30T13:56:46  <xorAxAx> which issue?
2008-07-30T13:56:50  <ThomasWaldmann> did you succeed in getting a debugger working?
2008-07-30T13:56:55  <xorAxAx> yes, the -1 stuff sucks
2008-07-30T13:56:58  <dennda> ThomasWaldmann: Yes, I did
2008-07-30T13:57:38  <ThomasWaldmann> so it should be discoverable rather fast
2008-07-30T13:58:03  <dennda> It certainly helps, but even a debugger is not a spring of wisdom :)
2008-07-30T13:58:16  <dennda> But as said, it's high on my priorities list
2008-07-30T13:58:27  <ThomasWaldmann> ok, sure, we can continue on that later. anything else, dennda?
2008-07-30T13:58:41  <xorAxAx> dennda: the advantage of pdb is that you can easily fix issues in screen pair programming sessions
2008-07-30T13:58:49  <dennda> ThomasWaldmann: No
2008-07-30T13:59:10  <ThomasWaldmann> ok, thanks dennda / johill, PawelPacana and TheSheep - your stage :)
2008-07-30T13:59:18  <PawelPacana> so
2008-07-30T13:59:32  <PawelPacana> was planned till today: revision metadata merging
2008-07-30T13:59:58  <PawelPacana> not even started because of bugs that shown up after adding new tests and cleaning up old ones
2008-07-30T14:00:09  <PawelPacana> we had also rename issues and thus some ideas: http://www.moinmo.in/PawelPacana/MercurialBackend/HadItem
2008-07-30T14:00:20  <PawelPacana> so my work was focused on tests and bugfixes (103/105 hg tests passing)
2008-07-30T14:00:52  <PawelPacana> next plans:
2008-07-30T14:01:10  <PawelPacana> (today) bugifx caused by misconception and fix get_revision including rename history
2008-07-30T14:01:25  <PawelPacana> (till friday) revision metadata merging extension
2008-07-30T14:01:34  <PawelPacana> (till sunday) generic backend migration script with tests
2008-07-30T14:01:54  <PawelPacana> after that: start mesing with upper layer stuff = better (tree) info action, merge heads action, view heads action: all to take advantage of lower layer stuff
2008-07-30T14:02:40  <PawelPacana> but this upper layer stuff will span after next meeting
2008-07-30T14:02:48  <PawelPacana> probably
2008-07-30T14:02:52  <xorAxAx> PawelPacana: regarding haditem - i think renamed and deleted are completly different states in the current api
2008-07-30T14:03:09  <xorAxAx> PawelPacana: because rename is copy and purge and delete is new rev with metadata, right?
2008-07-30T14:03:16  <TheSheep> xorAxAx: renamed is not even a state -- it's not tracked in any way
2008-07-30T14:03:22  <xorAxAx> or does delete imply purge on  this level?
2008-07-30T14:03:32  <PawelPacana> purge?
2008-07-30T14:03:32  <xorAxAx> TheSheep: well, we had this discussion already :)
2008-07-30T14:03:37  <TheSheep> xorAxAx: there is no delete in the backend itself
2008-07-30T14:03:44  <xorAxAx> PawelPacana: removal of an item and all of its items
2008-07-30T14:03:47  <xorAxAx> umm, revs
2008-07-30T14:04:01  <xorAxAx> TheSheep: then how is purging implemented?
2008-07-30T14:04:53  <johill> deleted != gone
2008-07-30T14:04:54  <TheSheep> xorAxAx: it's not
2008-07-30T14:05:00  <johill> removal does not exist
2008-07-30T14:05:04  <johill> at least currently
2008-07-30T14:05:05  <xorAxAx> huh
2008-07-30T14:05:25  <xorAxAx> doesnt thomas regularly say that he needs that feature? :)
2008-07-30T14:05:34  <johill> yeah, but I contend that ;)
2008-07-30T14:05:35  <PawelPacana> in hg you cant just purge, unless falling back to some name-mappings
2008-07-30T14:05:41  <TheSheep> xorAxAx: we can implement it as soon as we have a spec :)
2008-07-30T14:05:49  <johill> seriously though, if we wanted to add all the features then we'd need at least a year
2008-07-30T14:05:51  <xorAxAx> PawelPacana: thats the practical issue, not the api one :)
2008-07-30T14:06:02  <xorAxAx> TheSheep: yeah, ask johill :)
2008-07-30T14:06:07  <xorAxAx> TheSheep: he invalidated the old docs :)
2008-07-30T14:06:18  <xorAxAx> johill: "all the features"?
2008-07-30T14:06:34  <johill> deletion of various things
2008-07-30T14:06:40  <johill> history modification in various ways
2008-07-30T14:06:41  <xorAxAx> PawelPacana: any blockers?
2008-07-30T14:06:49  <xorAxAx> johill: who wants to modify the history?
2008-07-30T14:06:56  <johill> deletion basically is history modification
2008-07-30T14:07:01  <johill> well actual removal
2008-07-30T14:07:13  <xorAxAx> i think rev purging is not so important, item purging is
2008-07-30T14:07:26  <xorAxAx> because rev purging can be emulated by copying
2008-07-30T14:07:28  <johill> fow now, I sacrificed that for being able to achieve something sanely
2008-07-30T14:07:45  <xorAxAx> but without item purging, you are seriously limited
2008-07-30T14:07:46  <ThomasWaldmann> item purging is important if you have big items
2008-07-30T14:07:58  <xorAxAx> hmm, but you could do whole backend copying
2008-07-30T14:08:03  <xorAxAx> i think thats fine
2008-07-30T14:08:04  <ThomasWaldmann> and as we will allow arbitrary item types, we'll have them
2008-07-30T14:08:06  <xorAxAx> we just need a script
2008-07-30T14:08:36  <xorAxAx> so purging is not necessary at all :)
2008-07-30T14:08:42  <johill> will just be slow ;)
2008-07-30T14:08:55  <xorAxAx> well, its a very seldomly occuring use case
2008-07-30T14:09:04  <xorAxAx> you could even accompany it with a "flag for deletion" action
2008-07-30T14:09:09  <xorAxAx> like in the old dbase days
2008-07-30T14:09:13  <johill> heh
2008-07-30T14:09:30  <ThomasWaldmann> btw, do we have a backend init call, that create dirs, tables, repos, whatever?
2008-07-30T14:09:40  <johill> not really
2008-07-30T14:09:43  <johill> how would that be possible?
2008-07-30T14:09:48  <johill> just check in __init__
2008-07-30T14:09:51  <ThomasWaldmann> i guess pawel will want that soon :)
2008-07-30T14:09:56  <xorAxAx> if not do automatically?
2008-07-30T14:09:59  <xorAxAx> i think thats sane
2008-07-30T14:10:03  <johill> yeah
2008-07-30T14:10:03  <xorAxAx> sqlite does it like that
2008-07-30T14:10:06  <johill> I mean
2008-07-30T14:10:13  <johill> how would the frontend code know that it needs to be initialised?
2008-07-30T14:10:15  <xorAxAx> it creates the datafile on the first opened transaction
2008-07-30T14:10:21  <johill> for all it knows, an empty directory could be initialised just fine
2008-07-30T14:10:31  <johill> and if it's a db connection how would it be able to tell?
2008-07-30T14:10:44  <johill> the only sane way I see is to just create whatever you need on __init__ of your backend class
2008-07-30T14:10:50  <xorAxAx> PawelPacana: none?
2008-07-30T14:10:56  <johill> needs to be atomic, of course!
2008-07-30T14:10:58  <PawelPacana> blockers?
2008-07-30T14:11:01  <xorAxAx> PawelPacana: yes
2008-07-30T14:11:04  <johill> (fs backend uses a lock)
2008-07-30T14:11:04  <PawelPacana> ah
2008-07-30T14:11:24  <PawelPacana> hg backend uses mercurial internal locks
2008-07-30T14:11:28  <PawelPacana> on repo init
2008-07-30T14:11:39  <xorAxAx> is that a locker or blocker?
2008-07-30T14:11:42  <PawelPacana> blockers:
2008-07-30T14:11:46  <PawelPacana> ;)
2008-07-30T14:11:53  <dennda> xorAxAx: that's another 5 EUR :)
2008-07-30T14:11:57  <PawelPacana> so far that HadItem case
2008-07-30T14:12:20  <xorAxAx> PawelPacana: currently the backend doesnt know about deletion so its an abstraction inversion
2008-07-30T14:12:21  <johill> what is haditem?
2008-07-30T14:12:25  <xorAxAx> johill: see his link
2008-07-30T14:12:29  <PawelPacana> not sure if it will fit into Page.py without mass destruction
2008-07-30T14:12:37  <johill> what link?
2008-07-30T14:12:44  <xorAxAx> PawelPacana: how is page.py concerned here?
2008-07-30T14:12:49  <ThomasWaldmann> HasItem/HadItem was formerly known as Page.exists(deleted=False/True)
2008-07-30T14:12:57  <TheSheep> xorAxAx: that's where the exists() check is
2008-07-30T14:13:10  <xorAxAx> true
2008-07-30T14:13:11  <johill> uh huh
2008-07-30T14:13:14  <dennda> backend.has_item(name)?
2008-07-30T14:13:16  <xorAxAx> well, but thats irrelevant
2008-07-30T14:13:23  <xorAxAx> as long the abstraction inversion isnt cleared
2008-07-30T14:13:25  <TheSheep> ThomasWaldmann: it's not the same, has_item reports True for deleted pages (in the sense of DeletePage)
2008-07-30T14:13:28  <xorAxAx> any proposals?
2008-07-30T14:13:46  <johill> page.exists(deleted) goes to find_item(name=name && hasmetadata('deleted') if deleted )
2008-07-30T14:14:06  <TheSheep> johill: that's suboptimal for some backends
2008-07-30T14:14:08  <johill> TheSheep: has_item is _supposed_ to return True for items that were deleted in the delete page sense
2008-07-30T14:14:21  <dennda> just check their metadata then
2008-07-30T14:14:30  <xorAxAx> yes
2008-07-30T14:14:32  <johill> how is that suboptimal? the backends know nothing about deletepage
2008-07-30T14:14:43  <TheSheep> johill: that's exactly what's suboptimal
2008-07-30T14:14:49  <xorAxAx> TheSheep: in which sense?
2008-07-30T14:14:59  <TheSheep> johill: considering that this test can be done hundreds of times during page rendering
2008-07-30T14:15:04  * johill repeats himself, how?
2008-07-30T14:15:11  <xorAxAx> yes, its slow
2008-07-30T14:15:22  <xorAxAx> to read metadata of the most current rev of every linked item
2008-07-30T14:15:25  <TheSheep> johill: you can implement deleted pages in the backend in more optimal ways
2008-07-30T14:15:45  <johill> I don't care whether you can or not, it makes little sense to me to litter the API with that
2008-07-30T14:15:48  <xorAxAx> TheSheep: yes, so?
2008-07-30T14:15:49  <TheSheep> johill: for example, if you di hg rm in hg backend, you don't need to retrieve the revision at all
2008-07-30T14:15:54  <johill> if it's too slow we can fix that in other ways
2008-07-30T14:16:01  <TheSheep> ok
2008-07-30T14:16:01  <xorAxAx> indeed, it can be transparently sped up
2008-07-30T14:16:05  <johill> TheSheep: you don't even rm in the hg bakcend
2008-07-30T14:16:10  <xorAxAx> this metadata key is not arbitrary
2008-07-30T14:16:12  <TheSheep> I just thought I'll mention this suggestion :)
2008-07-30T14:16:18  <xorAxAx> johill: hmm?
2008-07-30T14:16:34  <xorAxAx> how about just doing hg rm in those cases
2008-07-30T14:16:42  <xorAxAx> should work fine, no?
2008-07-30T14:16:45  <johill> xorAxAx: well maybe they do rm? I couldn't care less
2008-07-30T14:16:50  <TheSheep> xorAxAx: hs_item will return False and you won't have access to item's history
2008-07-30T14:16:56  <xorAxAx> TheSheep: well, thats a bug
2008-07-30T14:16:58  <johill> xorAxAx: but you can technically store data in a DELETED=true revision
2008-07-30T14:17:01  <TheSheep> johill: there is no delete in API :)
2008-07-30T14:17:03  <xorAxAx> TheSheep: has item has to amend the manifest
2008-07-30T14:17:10  <ThomasWaldmann> btw, are we already in the after meeting discussion or did PawelPacana want to say something officially still? :)
2008-07-30T14:17:18  <xorAxAx> johill: then you wouldnt do hg rm :)
2008-07-30T14:17:28  <PawelPacana> ThomasWaldmann: after
2008-07-30T14:17:31  <johill> xorAxAx: then why do hg rm in the first place?
2008-07-30T14:17:37  <xorAxAx> ThomasWaldmann: we are discussing his last blocker
2008-07-30T14:17:39  <johill> to avoid storing an empty data file?
2008-07-30T14:17:41  <xorAxAx> ThomasWaldmann: and are therefore finished
2008-07-30T14:17:51  <xorAxAx> johill: to speed up the access
2008-07-30T14:17:52  <TheSheep> johill: because it's the sane thing to do and it makes existence checks very fast
2008-07-30T14:18:02  <ThomasWaldmann> ok, then meeting is closed now, let's continue with aftermeeting discussion. :)
2008-07-30T14:18:13  <xorAxAx> johill: but indeed it doesnt work
2008-07-30T14:18:17  <zenhase> :)
2008-07-30T14:18:21  <johill> umm
2008-07-30T14:18:24  <xorAxAx> johill: just because its not in the manifest, it doesnt mean that it is DELETED
2008-07-30T14:18:30  <johill> deleted in a wiki sense is a property of the REVISION not the ITEM
2008-07-30T14:18:43  <xorAxAx> johill: no
2008-07-30T14:18:50  <xorAxAx> johill: in the storage api sense
2008-07-30T14:18:57  <johill> sure, you can always look at history of a deleted page
2008-07-30T14:19:02  <johill> try it
2008-07-30T14:19:05  <xorAxAx> that doesnt contradict itself
2008-07-30T14:19:09  * zenhase grabs something to eat
2008-07-30T14:19:17  <xorAxAx> a deleted page doesnt have no history
2008-07-30T14:19:26  <xorAxAx> still, deleted is a page property
2008-07-30T14:19:28  <TheSheep> anyways, there is another place where we need has_item/had_item
2008-07-30T14:19:31  <xorAxAx> that is modelled as a rev property
2008-07-30T14:19:53  <dennda> which is what he was saying, isn't it?
2008-07-30T14:20:10  <johill> had_item makes absolutely no sense in the storage API
2008-07-30T14:20:36  <xorAxAx> dennda: no
2008-07-30T14:20:39  <dennda> There are other ways to speed up the check, as far as I can tell
2008-07-30T14:20:52  <xorAxAx> PawelPacana: yes, i think this problem needs to be solved more fundamentally
2008-07-30T14:20:57  <TheSheep> johill: ok, so it's decided, thanks
2008-07-30T14:21:03  <xorAxAx> PawelPacana: probably by changing how deleted works
2008-07-30T14:21:25  <xorAxAx> PawelPacana: but didnt you say that metadata is stored in special hg properties?
2008-07-30T14:21:29  <johill> how do you _want_ deleted to work, and why does that make sense (and why doesn't the current model?)
2008-07-30T14:21:32  <TheSheep> xorAxAx: but as it is now, it's the responsibility of higher layers, independed of backend
2008-07-30T14:21:36  <xorAxAx> PawelPacana: why is it slow to query DELETED then?
2008-07-30T14:21:43  <xorAxAx> TheSheep: what?
2008-07-30T14:22:03  <johill> besides, a page instance can keep track of the item it has and the metadata of the revision will be kept in memory, so I really don't see a problem
2008-07-30T14:22:08  <TheSheep> xorAxAx: backend doesn't have delete, it's upper layers that save an empty revision with DELETED metadata
2008-07-30T14:22:14  <xorAxAx> TheSheep: so?
2008-07-30T14:22:27  <xorAxAx> TheSheep: i see one problem that you didnt talk about at all
2008-07-30T14:22:34  <TheSheep> xorAxAx: so it acts the same no matter what backend you use -- the backend cannot change it
2008-07-30T14:22:41  <xorAxAx> deleted items will appear in the manifest therefore confusing the user
2008-07-30T14:22:41  <johill> which is a good thing!
2008-07-30T14:22:46  <xorAxAx> TheSheep: "change"?
2008-07-30T14:22:57  <johill> backends are not supposed to change any semantics of the wiki above them
2008-07-30T14:22:59  <xorAxAx> (confusing him when he tries to use it outside moin)
2008-07-30T14:23:32  <TheSheep> xorAxAx: that's why I tried to propose, to have such a method in the backend, possibly implemented already by default, just so that other backends can override it
2008-07-30T14:23:51  <xorAxAx> TheSheep: "such a method"?
2008-07-30T14:23:59  <TheSheep> xorAxAx: delete()
2008-07-30T14:24:02  <xorAxAx> please answer my last question
2008-07-30T14:24:05  <xorAxAx> what do you mean by change?
2008-07-30T14:24:15  <johill> but then you need mark_as_deleted(revision), is_marked_deleted(revision), find_item(last_revision_not_marked_deleted) and other junk like it
2008-07-30T14:24:19  <xorAxAx> who wants to change what when?
2008-07-30T14:24:41  <johill> it just doesn't make sense when the upper layers treat the delete state as revision metadata
2008-07-30T14:24:44  <TheSheep> xorAxAx: some backend can implement marking items as deleted by editing their metadata, as has been proposed now, others can have other means that might make more sense for them
2008-07-30T14:24:54  <xorAxAx> johill: well, thats a design question
2008-07-30T14:25:15  <xorAxAx> TheSheep: how is that related to has/had item?
2008-07-30T14:25:46  <johill> only very tangentially is that a design question, the upper layers definitely want to revision deleted state
2008-07-30T14:26:02  <TheSheep> xorAxAx: had_item works like current has_item -- reports any item that has any history/ever existed, has_item checks for deleted and renamed pages
2008-07-30T14:26:33  <xorAxAx> TheSheep: how are renamed pages related to the first class deleted state that you propose to implement?
2008-07-30T14:27:01  <xorAxAx> johill: yeah, i dont see any contradiction yet, though
2008-07-30T14:27:13  <TheSheep> xorAxAx: because we are takin an advantage of hg backend, we keep history of renamed pages both under old name and new name
2008-07-30T14:27:14  <xorAxAx> johill: delete() could automatically add a new revision, for example
2008-07-30T14:27:16  <xorAxAx> johill: an empty one
2008-07-30T14:27:59  <johill> xorAxAx: I'd pretty much see that as a layering violation, you'd just be implementing deleted metadata in the backend
2008-07-30T14:28:05  <ThomasWaldmann> johill: dennda: btw, in the storage / backends package are some backends implementations. I am not quite sure if they are up-to-date and which ones are up-to-date. It would be nice to put some note into the module level docstring of the ones that are not considered up-to-date.
2008-07-30T14:28:09  <TheSheep> xorAxAx: this is a difference with the moin api, and it's one of the failing tests, but forcing it to pass would actually cripple the hg backend and make it no better than any other backend
2008-07-30T14:28:17  <xorAxAx> johill: probably
2008-07-30T14:28:27  <johill> ThomasWaldmann: none actually work, except my fs and dennda's memb
2008-07-30T14:28:41  <ThomasWaldmann> ok, then please document that in the files
2008-07-30T14:28:41  <xorAxAx> TheSheep: i see that one central requirement is to make it usable with pure hg as well
2008-07-30T14:28:56  <johill> ThomasWaldmann: we'll probably just remove them entirely, if somebody wants to forward port they can look at history
2008-07-30T14:29:00  <xorAxAx> TheSheep: and johill pointed out the conflict - how would you ensure revisionability?
2008-07-30T14:29:09  <xorAxAx> johill: we wanted to talk today about the RC issues
2008-07-30T14:29:19  <johill> wrt. rename?
2008-07-30T14:29:23  <TheSheep> xorAxAx: yes, and then doing hg rm to pages would make sense, because then your working dir would match the actual page index in the wiki
2008-07-30T14:29:26  <xorAxAx> johill: yes
2008-07-30T14:29:26  <PawelPacana> xorAxAx: which wont be easy with name-mapping stuff and hashes/ids as item names
2008-07-30T14:29:28  <johill> let's finish this first tho
2008-07-30T14:29:37  <xorAxAx> PawelPacana: hmm
2008-07-30T14:29:56  <xorAxAx> PawelPacana: so there are fundamental issues anyway? then we can drop it completly? :)
2008-07-30T14:30:00  <xorAxAx> (the req)
2008-07-30T14:30:09  <johill> there's the filename length limit
2008-07-30T14:30:13  <johill> which people used to hit
2008-07-30T14:30:22  <johill> so the tests actually include a very long page name
2008-07-30T14:30:40  <johill> pretty much forcing the backends to not use the item name as a filename
2008-07-30T14:30:41  <TheSheep> johill: we shorten long file names, that's not a problem
2008-07-30T14:31:08  <johill> there's also the rename issue, but you can possibly solve that differently
2008-07-30T14:31:20  <johill> where when you have an item reference, you should be able to use it even if it's concurrently renamed
2008-07-30T14:31:34  <TheSheep> johill: sure, we can reimplement your fs backend in hg, but does it make much sense?
2008-07-30T14:31:45  <johill> how _do_ you solve the rename issue though?
2008-07-30T14:31:52  <johill> keep a pointer to the right revision?
2008-07-30T14:32:08  <TheSheep> johill: out history is a DAG
2008-07-30T14:32:08  <johill> if so that's fine
2008-07-30T14:32:10  <TheSheep> johill: our
2008-07-30T14:32:17  <TheSheep> johill: it has branches and stuff
2008-07-30T14:32:28  <xorAxAx> but the api does not and requires a linear view
2008-07-30T14:32:39  <xorAxAx> so should not be an issue
2008-07-30T14:32:43  <johill> I think you guys are way way way too ambitious
2008-07-30T14:32:49  <TheSheep> xorAxAx: regular api will see a flattened view of every page history
2008-07-30T14:32:52  <johill> trying to think of every possible hg usecase and shoe-horning it into moin's api
2008-07-30T14:32:55  <xorAxAx> yes, TheSheep
2008-07-30T14:33:01  <TheSheep> xorAxAx: we plan to have extended api for the cutsom PageInfo action
2008-07-30T14:33:06  <johill> just make the damn thing work first
2008-07-30T14:33:07  <xorAxAx> yes, i remember
2008-07-30T14:33:28  <johill> and don't make that custom API, make it available to all backends
2008-07-30T14:33:31  <xorAxAx> still, how is that related to the rename topic?
2008-07-30T14:33:35  <johill> after all, linear history is a subset of a DAG
2008-07-30T14:33:42  <xorAxAx> i heard that it conflicts with has_item, why?
2008-07-30T14:33:46  <TheSheep> johill: that's what I've written, no?
2008-07-30T14:33:50  <ThomasWaldmann> johill: btw, the 1.6 compatible backend is required, of course
2008-07-30T14:34:00  <johill> ThomasWaldmann: read-only, yes, it still needs to be done
2008-07-30T14:34:15  <ThomasWaldmann> it's getting late X)
2008-07-30T14:34:33  <johill> yeah I know
2008-07-30T14:34:34  <xorAxAx> TheSheep: can you describe the problems with renaming? i think i understood that deleted is a problem because of speed
2008-07-30T14:34:39  <johill> I told you guys upfront I'd be away for a week ;)
2008-07-30T14:34:57  <johill> s/understood /\0that you think/
2008-07-30T14:34:59  <xorAxAx> (and i havent read any other reason because the manifest is ugly anyway because the files are indirecly named)
2008-07-30T14:35:08  <TheSheep> xorAxAx: basically, we leave the item history of renamed items under old name too
2008-07-30T14:35:24  <TheSheep> xorAxAx: but to access it, has_item would have to return True
2008-07-30T14:35:37  <xorAxAx> TheSheep: there is no old item
2008-07-30T14:35:40  <TheSheep> xorAxAx: and then you wouldn't be able to rename to that ffreed name
2008-07-30T14:35:41  <johill> has_item isnt suposed to return true after rename
2008-07-30T14:35:47  <xorAxAx> TheSheep: the storage api mandates that there is a single item that changes its name
2008-07-30T14:35:54  <xorAxAx> this name change is a wiki-wide event
2008-07-30T14:36:08  <johill> I agree that we still have to figure out how to get that into RC
2008-07-30T14:36:10  <xorAxAx> hmm, storage directory wide. so talking about an old item doesnt make sense
2008-07-30T14:36:12  <johill> but that's entirely separate
2008-07-30T14:36:14  <xorAxAx> johill: thats another issue
2008-07-30T14:36:16  <TheSheep> xorAxAx: can you read that wiki page please?
2008-07-30T14:36:23  <xorAxAx> TheSheep: i did
2008-07-30T14:36:31  <xorAxAx> doesnt make much sense to me
2008-07-30T14:36:37  <johill> can you point me to it?
2008-07-30T14:36:43  <xorAxAx> johill: /lastlog http
2008-07-30T14:36:43  <johill> "that wiki page" is not very helpful
2008-07-30T14:36:58  <johill> haditem thing?
2008-07-30T14:36:59  <TheSheep> johill: http://moinmo.in/PawelPacana/MercurialBackend/HadItem
2008-07-30T14:37:19  <xorAxAx> TheSheep: i think you are not very clear wrt reqs
2008-07-30T14:37:20  <TheSheep> johill: you can also tell me if I got it right :)
2008-07-30T14:37:40  <xorAxAx> first of all you said that you want to retain certain invariants in the dag of manifests
2008-07-30T14:37:43  <TheSheep> xorAxAx: I tried to make it as clear as possible, without obstructing details :)
2008-07-30T14:37:53  <xorAxAx> to avoid breaking the hg merging code i guess
2008-07-30T14:38:04  <xorAxAx> this seems to conflict with the above api requirement
2008-07-30T14:38:18  <xorAxAx> but why you suggest to solve it with a new had_item method is totally unclear to me
2008-07-30T14:38:35  <johill> TheSheep: that hg mv stuff looks just totally wrong
2008-07-30T14:38:36  <TheSheep> xorAxAx: it's weakly related
2008-07-30T14:38:53  <TheSheep> johill: well, that's how it works in hg, you cannot edit history
2008-07-30T14:38:53  <johill> we do not preserve anything on the "old" item
2008-07-30T14:38:55  <johill> there is no "old" item
2008-07-30T14:39:01  <xorAxAx> i think that wiki page needs a bit more thoughts about the problem before going into the direction of a solution
2008-07-30T14:39:28  <TheSheep> johill: we cannot remove history from the old item, because we cannot edit history
2008-07-30T14:39:36  <johill> TheSheep: I don't see your point
2008-07-30T14:39:44  <xorAxAx> TheSheep: nobody removes an item or history
2008-07-30T14:39:52  <johill> if I hg mv a b, then I have no a any more
2008-07-30T14:40:01  <TheSheep> johill: we cannot remove item permanently with all of its revisions
2008-07-30T14:40:03  <xorAxAx> TheSheep: people rename the item - that might map to modifying the map that you have for itemname -> manfiest filename entry
2008-07-30T14:40:20  <TheSheep> johill: hg mv is implemented as hg cp; hg rm internally in hg
2008-07-30T14:40:31  <johill> unless I go bakc through history, but surely hg has a way to track the actual contents rather than the name
2008-07-30T14:40:46  <TheSheep> xorAxAx: you cannot modify old entries of manifest
2008-07-30T14:40:50  <xorAxAx> TheSheep: i dont see the point, you said that naming is indirect in your backend anywy
2008-07-30T14:40:51  <johill> which is fine
2008-07-30T14:40:59  <xorAxAx> TheSheep: thats a good point
2008-07-30T14:41:01  <TheSheep> xorAxAx: it's direct
2008-07-30T14:41:01  <johill> I don't see how it matters either way
2008-07-30T14:41:02  <PawelPacana> johill: you dont have this a in latest changeset -> you cannot create 0 rev with that name
2008-07-30T14:41:20  <xorAxAx> TheSheep: well, then you need to take the mapping from the current rev
2008-07-30T14:41:22  <johill> why can I not re-create a??
2008-07-30T14:41:27  <xorAxAx> TheSheep: to obtain correct semantics
2008-07-30T14:41:58  <johill> seriously, I don't understand
2008-07-30T14:42:18  <TheSheep> xorAxAx: we can artifically mark the renamed items somehow and hide its history in the api, but it's crippling the backend
2008-07-30T14:42:42  <TheSheep> johill: you can recreate A, just not with rev==0
2008-07-30T14:42:49  <TheSheep> johill: because it already has some revisions
2008-07-30T14:43:00  <xorAxAx> TheSheep: no!
2008-07-30T14:43:06  <TheSheep> xorAxAx: yes!
2008-07-30T14:43:13  <xorAxAx> TheSheep: i mean, you didnt understand me
2008-07-30T14:43:16  <johill> http://pastebin.com/m4ab8952e
2008-07-30T14:43:16  * TheSheep waves his hands frantically
2008-07-30T14:43:23  <xorAxAx> TheSheep: please explain how you map from item names to files
2008-07-30T14:43:36  <TheSheep> xorAxAx: liburl.quote()
2008-07-30T14:44:01  <TheSheep> xorAxAx: with aditional hack to rim long filenames and append md5 to them
2008-07-30T14:44:02  <johill> oh so your revision abstraction is fucked
2008-07-30T14:44:06  <TheSheep> trim
2008-07-30T14:44:28  <TheSheep> johill: one of the requirements is to make it usable from filesystem, without wiki
2008-07-30T14:44:59  <johill> I still don't see why you cannot create revision 0 of a after you have renamed a to b
2008-07-30T14:45:27  <TheSheep> johill: because after rename a and b share the history
2008-07-30T14:45:38  <johill> why the hell would they share history?
2008-07-30T14:45:48  <johill> the fact that b used to be named a shouldn't matter at all
2008-07-30T14:45:50  <TheSheep> johill: because hg tracks history of renamed files
2008-07-30T14:45:51  * dreimark thinks an example does help here
2008-07-30T14:45:58  <johill> so?
2008-07-30T14:46:05  <johill> that should only matter when you're actually looking at history
2008-07-30T14:46:06  * dennda gets a shower
2008-07-30T14:46:07  <johill> which we're not
2008-07-30T14:46:10  <TheSheep> johill: and that's not something you can change by swaring
2008-07-30T14:46:13  <TheSheep> swearing
2008-07-30T14:46:41  <johill> to my knowledge, hg doesn't even track file revisions
2008-07-30T14:46:44  <johill> but rather tree revisions
2008-07-30T14:46:45  <TheSheep> I have to run, sorry
2008-07-30T14:47:04  <TheSheep> johill: maybe we use different hgs then, bye
2008-07-30T14:47:09  <johill> rofl
2008-07-30T14:47:14  <johill> maybe hg is just useless
2008-07-30T14:47:31  <johill> seriously though
2008-07-30T14:47:31  <xorAxAx> PawelPacana: hmm, so you compute a trimmed hash, where do you store the mapping itemname -> trimmed hash?
2008-07-30T14:47:36  <johill> it doesn't track tree revisions?!
2008-07-30T14:47:39  <johill> sounds like CVS to me!
2008-07-30T14:47:47  <xorAxAx> PawelPacana: or is that a pure function?
2008-07-30T14:47:53  <xorAxAx> so you only need to compute it
2008-07-30T14:48:01  <xorAxAx> hmm, looks like it
2008-07-30T14:48:03  <johill> you need to store it for lookups
2008-07-30T14:48:09  <johill> so you can iterate all items
2008-07-30T14:48:24  <johill> and give them the right name when you find them
2008-07-30T14:48:38  <xorAxAx> cool down a bit, johill
2008-07-30T14:49:06  <xorAxAx> hmm, indeed. how do you generate a list of all items, PawelPacana?
2008-07-30T14:50:00  <johill> "Append-only storage model with transaction journalling"
2008-07-30T14:50:04  <johill> sounds like tree revisioning to me
2008-07-30T14:50:15  <xorAxAx> johill: hmm?
2008-07-30T14:50:17  <johill> maybe underneath it has some weird way of storing revisions per item?
2008-07-30T14:50:27  <johill> sorry, file
2008-07-30T14:50:33  <xorAxAx> storing revisioned files is a central property of hg
2008-07-30T14:50:44  <xorAxAx> these revs are combined to views with the manifest
2008-07-30T14:50:58  <johill> ok so they just implemented it wrongly
2008-07-30T14:50:58  <xorAxAx> the revisions of the manifest make up the revision of the repo
2008-07-30T14:51:18  <johill> you shouldn't be iterating a file revision list but rather a repo revision history to get at that
2008-07-30T14:51:35  <johill> because, after all, renamed items are moving around including history
2008-07-30T14:52:36  <xorAxAx> johill: as thesheep pointed out, this doesnt work for points in the past
2008-07-30T14:52:46  <xorAxAx> then i suggested to use the mapping of the current rev
2008-07-30T14:52:56  <xorAxAx> then he came up with another point
2008-07-30T14:53:42  <johill> what does hg log do if I give it a filename?
2008-07-30T14:54:30  <johill> or rather, hg log -f
2008-07-30T14:54:39  <xorAxAx> PawelPacana: hmm, you didnt reply yet so let me amend my last question (would really like to see an answer): may it be possible that iteritems returns internal names with hashes?
2008-07-30T14:55:11  <xorAxAx> johill: it will look into the revisions of the referenced file
2008-07-30T14:55:14  <johill> and why can the hg backend not do the same that hg log -f does?
2008-07-30T14:55:50  <johill> I think it's just a counting issue
2008-07-30T14:55:59  <johill> I'll try a dummy hg repo
2008-07-30T14:56:01  <PawelPacana> xorAxAx: i must have forgotten about that, but real name should be stored in extra dict
2008-07-30T14:56:21  <xorAxAx> johill: http://www.selenic.com/mercurial/wiki/index.cgi/Design
2008-07-30T14:56:26  <PawelPacana> johill: what do you mean?
2008-07-30T14:56:37  <xorAxAx> PawelPacana: please write a test for that
2008-07-30T14:56:43  <xorAxAx> PawelPacana: so we dont forget it
2008-07-30T14:56:56  <PawelPacana> ok
2008-07-30T14:57:42  <johill> ok this is interesting
2008-07-30T14:57:53  <johill> hg is indeed not capable of doing this
2008-07-30T14:57:59  <johill> add a (1)
2008-07-30T14:58:02  <johill> [1] is the contents
2008-07-30T14:58:05  <johill> change a (2)
2008-07-30T14:58:09  <johill> rename a -> b
2008-07-30T14:58:12  <johill> add a (1) [again]
2008-07-30T14:58:27  <johill> hg log -f a doesn't even show the last revision!
2008-07-30T14:58:29  <PawelPacana> johill: modify and commit a to see waht you want
2008-07-30T14:58:35  <xorAxAx> because hg doesnt have a native mv
2008-07-30T14:58:44  <johill> nor does git, but it handles it just fine
2008-07-30T14:58:54  <PawelPacana> johill: after last add a
2008-07-30T14:59:35  <johill> PawelPacana: no, hg log -f a just ignores everything I do to a now
2008-07-30T14:59:37  <johill> which is fairly pointless
2008-07-30T15:00:40  <PawelPacana> cant be
2008-07-30T15:00:58  <johill> it does, wanna see the repo?
2008-07-30T15:01:11  <xorAxAx> bundle -r 0
2008-07-30T15:01:25  <xorAxAx> bundle --base 0
2008-07-30T15:01:46  <johill> -a
2008-07-30T15:01:54  <xorAxAx> not yet in mine :)
2008-07-30T15:02:18  <johill> :)
2008-07-30T15:02:27  <johill> http://johannes.sipsolutions.net/files/hg-test-rename-repo.bundle
2008-07-30T15:03:15  <johill> compare hg log and hg log -f a
2008-07-30T15:03:18  <johill> or hg log a
2008-07-30T15:03:48  <johill> my opinion of hg just dropped even more
2008-07-30T15:04:58  <dennda> By the way, I had a theoretical brainfart the other day
2008-07-30T15:05:15  <dennda> wouldn't an sqlalchemy backend be a nice idea?
2008-07-30T15:05:28  <xorAxAx> dennda: much too useful
2008-07-30T15:05:41  <dennda> hm?
2008-07-30T15:05:58  <xorAxAx> dennda: i agree that it would be useful :)
2008-07-30T15:06:03  <dennda> oh ok :)
2008-07-30T15:06:20  <xorAxAx> ok, i think i dont have any idea how to make hg and storage api's rename work
2008-07-30T15:06:29  <dennda> that's already enough feedback on that matter for now :)
2008-07-30T15:06:36  <PawelPacana> johill:  http://pastebin.com/d3380340f
2008-07-30T15:06:40  <dennda> now really for a shower
2008-07-30T15:07:16  <xorAxAx> one could break the hg repo format by hacking a native rename into it
2008-07-30T15:07:26  <johill> maybe my hg is borked
2008-07-30T15:07:33  <johill> PawelPacana: import my bundle please
2008-07-30T15:07:36  <xorAxAx> but then old manifests will be invalid
2008-07-30T15:07:48  <johill> but if that works, what problem do you have?
2008-07-30T15:07:52  <PawelPacana> johill: ok
2008-07-30T15:07:54  <johill> just use the revisions as hg log -f would show them
2008-07-30T15:08:07  <johill> ah no
2008-07-30T15:08:13  <johill> hg log -f doesn't stop when the thing was renamed
2008-07-30T15:08:14  <johill> that's dumb
2008-07-30T15:08:43  <johill> xorAxAx: you don't need an actual rename
2008-07-30T15:08:53  <xorAxAx> johill: you need an indirection
2008-07-30T15:09:02  <johill> xorAxAx: you only need to see that it was renamed when going through history, to stop at that point
2008-07-30T15:09:15  <xorAxAx> hmm
2008-07-30T15:09:30  <xorAxAx> possible as well, yes
2008-07-30T15:09:48  <xorAxAx> so then there is no need to had/has item either
2008-07-30T15:10:23  <johill> see
2008-07-30T15:10:30  <johill> there's a changeset here where 'a' didn't exist
2008-07-30T15:10:31  <johill> the rename one
2008-07-30T15:10:50  <johill> so why does hg log not stop at that one?
2008-07-30T15:11:00  <johill> or a manifest, where it didn't exist
2008-07-30T15:11:09  <xorAxAx> jespern: we are doing a small poll. why do you like mercurial better than git? :)
2008-07-30T15:11:25  <jespern> xorAxAx: less complicated, good code
2008-07-30T15:11:40  <johill> now, when it's renamed and re-added, it gets a bit icky, but we don't actually care here, and git implements this by checking the file contents (i fyou want)
2008-07-30T15:11:42  <xorAxAx> johill: so indeed, its just a matter of doing -f or not when dealing with rev history
2008-07-30T15:12:00  <johill> xorAxAx: well no, because hg log -f doesn't actually stop at manifests where it didn't exist
2008-07-30T15:12:04  <xorAxAx> johill: yes, indeed
2008-07-30T15:12:14  <xorAxAx> PawelPacana: do you agree?
2008-07-30T15:12:16  <johill> but that's imho a problem in hg to start with
2008-07-30T15:12:42  <johill> now, of course, hg log -f probably has to walk manifests
2008-07-30T15:12:42  <xorAxAx> yeah, probably one has to add revlog traversal code somewhere
2008-07-30T15:12:46  <xorAxAx> if its not flexible enough
2008-07-30T15:12:48  <johill> rather than revisions
2008-07-30T15:12:56  <johill> I always thought that was a given
2008-07-30T15:13:01  <jespern> what are you discussing?
2008-07-30T15:13:05  <johill> because I thought hg actually did the right thing, based on my experience with git
2008-07-30T15:13:13  <xorAxAx> jespern: how to implement wiki page renaming
2008-07-30T15:13:21  <johill> jespern: import this bundle: http://johannes.sipsolutions.net/files/hg-test-rename-repo.bundle
2008-07-30T15:13:26  <johill> and hg log -f a
2008-07-30T15:13:34  <johill> compare with hg log
2008-07-30T15:14:15  <xorAxAx> PawelPacana: where does this problem come from? "You can only rename items to completely new names, never before used in the wiki, and it will simply move whole item, with all its revisions, to the new name:"
2008-07-30T15:14:20  <xorAxAx> (thats from the wiki page)
2008-07-30T15:14:44  <johill> I think it comes from their implementation of revisioning
2008-07-30T15:14:50  <PawelPacana> xorAxAx: hmm, moment please
2008-07-30T15:14:58  <johill> because they don't stop at when the item never existed
2008-07-30T15:15:07  <johill> and thus, cannot create revision 0 again because they think rev 0 already is there
2008-07-30T15:15:12  <xorAxAx> i remember the words "history merging" ehre - yeah, you would end up doing so
2008-07-30T15:15:12  <johill> which it's actually not
2008-07-30T15:15:16  <xorAxAx> but only //internally//
2008-07-30T15:15:42  <johill> I don't see what you mean by history merging
2008-07-30T15:16:24  <xorAxAx> johill: suppose there are wiki pages A, B. A is renamed to C. then B is renamed to A. in this case, the internal history file for A contains the history of 2 items
2008-07-30T15:16:33  <xorAxAx> but the user wont see that
2008-07-30T15:17:01  <johill> yeah the internal history file doesn't matter though if the revision history is right
2008-07-30T15:17:06  <xorAxAx> so one implicated question is how hg handles merging in such merge at rev0 cases
2008-07-30T15:17:17  <johill> just think of the file revision file as a storage for revisions
2008-07-30T15:17:48  <xorAxAx> if hg did badly at this, it might not be a problem for the backend
2008-07-30T15:17:53  <xorAxAx> but for sane usage on the command line
2008-07-30T15:18:11  <xorAxAx> i guess this has to be tried out :)
2008-07-30T15:18:38  <jespern> on another subject, do you guys mind that we advertise moin on the bb homepage?
2008-07-30T15:19:45  <xorAxAx> jespern: not at all i think
2008-07-30T15:19:51  <xorAxAx> but in which way?
2008-07-30T15:19:55  <johill> whatever bb is?
2008-07-30T15:20:00  <jespern> bitbucket, sorry
2008-07-30T15:20:11  <jespern> xorAxAx: just thought I'd ask permission now that I'm here :-)
2008-07-30T15:20:14  <johill> anyhow, bbl, tea
2008-07-30T15:20:19  <xorAxAx> a blinking animated gif?
2008-07-30T15:20:29  <johill> the blinky wiki!
2008-07-30T15:20:36  <jespern> no, I just mean in the list on the frontpage
2008-07-30T15:20:50  <xorAxAx> jespern: ah, thats totally fine
2008-07-30T15:20:54  <xorAxAx> all people here love hg
2008-07-30T15:21:09  <xorAxAx> except johill sometimes
2008-07-30T15:21:55  <jespern> so you're using hg to version wiki pages?
2008-07-30T15:22:14  <xorAxAx> jespern: yes, thats a SOC project
2008-07-30T15:22:24  <jespern> ah, cool
2008-07-30T15:23:13  <PawelPacana> xorAxAx: i dont know the source from this one, TheSheep will know it better, it's provided as a background and not strictly related to backend behaviuor
2008-07-30T15:24:04  <xorAxAx> PawelPacana: in the realm of the storage api, its wrong. in the realm of pure hg, it is correct for files. but as i said, you can nevertheless implement in the backend by merging the history of both items
2008-07-30T15:24:26  <xorAxAx> hmm, i think in hg its wrong as well
2008-07-30T15:24:55  <xorAxAx> hg should support: add A; commit; add B; commit; mv A C; commit; mv B A; commit
2008-07-30T15:26:03  <xorAxAx> yes, it does
2008-07-30T15:26:17  <xorAxAx> exactly like the bcakend would implement it
2008-07-30T15:26:26  <xorAxAx> so i dont see the only issue in the revlog traversal code
2008-07-30T15:26:31  <xorAxAx> s/dont//
2008-07-30T15:26:41  <xorAxAx> that returns all revs of an item
2008-07-30T15:26:45  <xorAxAx> PawelPacana: do you concur?
2008-07-30T15:27:06  <jespern> if a file disappears from a manifest, you can mark is as "deleted", no?
2008-07-30T15:27:44  <PawelPacana> xorAxAx: true
2008-07-30T15:27:46  <xorAxAx> jespern: thats the other way around, i think that has been deferred already
2008-07-30T15:28:02  <xorAxAx> jespern: using such a repo with hg itself ...
2008-07-30T15:28:27  <jespern> xorAxAx: well, if you want to find all revs of a certain file, not including a file that earlier had the same name, you can do it that way
2008-07-30T15:28:38  <jespern> there's a few tricks that makes this very cheap to do, as well
2008-07-30T15:28:48  <xorAxAx> jespern: yeah
2008-07-30T15:29:18  <xorAxAx> johill: can we talk about the RC issue at 16:00CEST?
2008-07-30T15:32:54  * waldi just parsed RC as release critical ...
2008-07-30T15:52:23  * johill returns from tea
2008-07-30T15:53:20  <johill> xorAxAx: yeah I agree, the only issue is the revlog traversal, and that's pretty bugged in hg itself
2008-07-30T16:10:03  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com default * 4379:0654dda2b62a 1.8-storage-cdenter/MoinMoin/PageEditor.py: storage: PageEditor.py: First rewrite-attempt for PageEditor.copyPage
2008-07-30T16:10:04  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com default * 4380:e78be0183b64 1.8-storage-cdenter/MoinMoin/PageEditor.py: storage: PageEditor.py: Removing call to deprecated attribute. Should be obsolete due to the new API's functionality anyway
2008-07-30T16:10:05  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com default * 4381:dacc7816f8be 1.8-storage-cdenter/MoinMoin/action/diff.py: (just merging with my other machine's branch for synchronity)
2008-07-30T16:10:34  <xorAxAx> PawelPacana: hmm, the code already tries to handle renames in the list revs code
2008-07-30T16:11:27  <xorAxAx> but probably not well enough if you still see issues
2008-07-30T16:11:49  <xorAxAx> if you need generic unit tests for this, i can try to write them
2008-07-30T16:16:54  <xorAxAx> johill: so, what do you think about my store state item?
2008-07-30T16:17:42  <xorAxAx> hmm, wikiwide state item
2008-07-30T16:17:48  <xorAxAx> its necessary to store eg. wiki metadata
2008-07-30T16:18:00  <xorAxAx> and probably renames
2008-07-30T16:30:59  <xorAxAx> johill: ping
2008-07-30T16:47:19  <CIA-53> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 3992:447ac45f1cbe 1.8-ldapgroups-mmihaljevic/MoinMoin/datastruct/ (8 files in 3 dirs): more cleanup needed: added hints with **
2008-07-30T16:52:05  <johill> pong
2008-07-30T16:52:06  <johill> sorry
2008-07-30T16:53:07  <johill> xorAxAx: I don't think I like a store state item, it's not really possible to do atomically
2008-07-30T16:53:13  <xorAxAx> johill: ??
2008-07-30T16:53:39  <xorAxAx> as i said, its edited seldeomly it will have ~ 5 modifications per day in a semilarge wiki
2008-07-30T16:54:00  <johill> but you can have a state where the rename isn't yet in that item, yet is done already, no?
2008-07-30T16:54:16  <johill> or do you want to fill that item automagically in the backend? if so, I'd prefer new api
2008-07-30T16:54:26  <xorAxAx> yes, the backend has to do that
2008-07-30T16:54:29  <xorAxAx> "new api"?
2008-07-30T16:54:38  <xorAxAx> we have a rename method, dont we ..
2008-07-30T16:54:49  <johill> yes but I wouldn't want the data to show up as an item
2008-07-30T16:54:59  <johill> but rather something like "iter_wikistate()" or whatever
2008-07-30T16:55:14  <xorAxAx> thats incompatible to the news interface
2008-07-30T16:56:13  <johill> fold it into that?
2008-07-30T16:56:43  <xorAxAx> i am not convinced. that would change the way it works a lot
2008-07-30T16:56:53  <xorAxAx> currently news() is kind of non-authorative
2008-07-30T16:56:59  <xorAxAx> and therefore yields a nice normalized design
2008-07-30T16:57:09  <xorAxAx> you propose to add certain info only to this interface
2008-07-30T16:57:24  <xorAxAx> the info that is not reflected in ordinary items
2008-07-30T16:58:26  <johill> true, but a special item seems kinda wrong to me
2008-07-30T16:58:32  <johill> because items are mostly standalone
2008-07-30T16:58:39  <xorAxAx> hmm?
2008-07-30T16:58:48  <xorAxAx> also the current model cant store wiki wide metadata
2008-07-30T16:58:50  <johill> well they don't really depend on each other
2008-07-30T16:58:54  <johill> yeah
2008-07-30T16:59:35  <xorAxAx> i dont even propose to have this item in the namespace
2008-07-30T16:59:41  <xorAxAx> it could be returned by a special call
2008-07-30T16:59:43  <johill> oh, how do you get it then?
2008-07-30T16:59:58  <xorAxAx> and news would refer to it with None or something like that :)
2008-07-30T17:00:10  <xorAxAx> (if news() still returns strings)
2008-07-30T17:00:13  <johill> ok well metadata we could fold into the api like item/rev metadata
2008-07-30T17:00:20  <johill> news returns items now iirc
2008-07-30T17:00:29  <johill> yeah that's the only race-free way
2008-07-30T17:00:31  <johill> but anyhow
2008-07-30T17:00:41  <xorAxAx> backend.metaitem
2008-07-30T17:00:53  <johill> what would the revision data contain?
2008-07-30T17:01:15  <xorAxAx> in all use cases we described, it would be empty
2008-07-30T17:01:26  <xorAxAx> but we dont need to limit to that
2008-07-30T17:01:33  <johill> do we need revisioned metadata for the whole wiki?
2008-07-30T17:01:40  <johill> or just mutable metadata like items have
2008-07-30T17:01:53  <johill> and what are "wiki revisions" then?
2008-07-30T17:01:55  <xorAxAx> well, the revisions are the rename ops
2008-07-30T17:02:07  <xorAxAx> so you need the timeline
2008-07-30T17:02:18  <xorAxAx> the wiki metadata is not revisioned
2008-07-30T17:02:38  <johill> then can't we just have backend['metakey'] for wiki metadata
2008-07-30T17:02:50  <xorAxAx> metakey?
2008-07-30T17:02:51  <johill> and have some sort of "item log" that logs item creation/renames?
2008-07-30T17:03:06  <johill> we don't currently log item creation
2008-07-30T17:03:08  <xorAxAx> why not my suggestion?
2008-07-30T17:03:10  <johill> just revision creating within an item
2008-07-30T17:03:29  <xorAxAx> i dont see any reason to clutter the interface - just having a special item fits it well
2008-07-30T17:03:32  <xorAxAx> everything is an item )
2008-07-30T17:03:45  <johill> I don't like using special items with item semantics, it just feels somehow wrong to provide that
2008-07-30T17:03:57  <johill> yeah but this item is so special it doesn't really seem to be one
2008-07-30T17:04:03  <xorAxAx> what is wrong about it?
2008-07-30T17:04:19  <johill> I don't know, it feels too special-cased while being rather generic
2008-07-30T17:04:27  <johill> as in: it's a generic item, but it's very special-cased
2008-07-30T17:04:38  <johill> it could entirely be implemented in the frontend by creating an item named '//meta'
2008-07-30T17:04:41  <xorAxAx> the only difference is that its revisions are not monotonic
2008-07-30T17:04:42  <johill> (which is an impossible page name)
2008-07-30T17:05:02  <xorAxAx> or, steady i mean
2008-07-30T17:05:15  <xorAxAx> hmm, yes, it could also be solved by the frontend
2008-07-30T17:05:31  <xorAxAx> but not sure how sane that is in metabackend scenarios
2008-07-30T17:06:00  <xorAxAx> because you would have a splitbrain when removing the backend which has //meta
2008-07-30T17:06:01  <johill> that's the thing though
2008-07-30T17:06:14  <johill> in metabackend you'd need to merge this special item together
2008-07-30T17:06:20  <johill> which special cases such a generic item again
2008-07-30T17:06:32  <xorAxAx> yes, thats why its not in the namespace :)
2008-07-30T17:07:00  <xorAxAx> merging an item or a revlog - both should work equally
2008-07-30T17:07:09  <johill> yeah, but it just feels wrong to me to merge an item like that
2008-07-30T17:07:10  <xorAxAx> if the modification timestamp has a well known name
2008-07-30T17:07:17  <johill> especially since its revisions also have to be split up again when changed
2008-07-30T17:07:28  <johill> and it's always changed implicitly rather than explicitly
2008-07-30T17:07:42  <johill> it just has so much special behaviour that it seems wrong to me to hide it under the "generic item" cover
2008-07-30T17:08:06  <xorAxAx> its not a cover
2008-07-30T17:08:12  <xorAxAx> its an interface
2008-07-30T17:08:24  <xorAxAx> the implementation is irrelevant as long as the api is the item api
2008-07-30T17:10:24  <xorAxAx> but there is a single difference
2008-07-30T17:10:38  <xorAxAx> i asked lately who has to fill the metadata dict when creating a new rev
2008-07-30T17:10:39  <johill> but it's "concept pollution"
2008-07-30T17:10:47  <xorAxAx> who has to? :)
2008-07-30T17:10:58  <johill> the frontend code, of course, the backend knows nothing about request etc
2008-07-30T17:11:43  <johill> the whole item concept is "you put something into it to retrieve later", and this special item violates that by filling it magically
2008-07-30T17:12:19  <xorAxAx> well, so every use of the new storage api has to deal with that?
2008-07-30T17:12:28  <xorAxAx> that looks like a large design issue
2008-07-30T17:12:41  <johill> well you go through Page() or so of course
2008-07-30T17:12:43  <johill> or User()
2008-07-30T17:12:53  <xorAxAx> Page is legacy, isnt it?
2008-07-30T17:13:01  <johill> I don't see it that way
2008-07-30T17:13:08  <xorAxAx> its incompatible to the new concept of items everywhere
2008-07-30T17:13:15  <johill> it's the higher-level page abstraction, where item is just the storage abstraction
2008-07-30T17:13:25  <xorAxAx> you need a new page-like class
2008-07-30T17:13:35  <xorAxAx> yes, a frontend item is necessary
2008-07-30T17:13:43  <johill> yes maybe, but we shouldn't stick it into item
2008-07-30T17:13:48  <xorAxAx> no
2008-07-30T17:13:49  <johill> espcially not since we use that for user storage too
2008-07-30T17:13:52  <xorAxAx> delegation
2008-07-30T17:14:45  <johill> so it really isn't about "item everywhere" but rather "item for all storage"
2008-07-30T17:14:54  <xorAxAx> hmm?
2008-07-30T17:15:12  <johill> well macros wouldn't really want an item, they'd want a User or Page instance
2008-07-30T17:15:22  <johill> which provides higher-level operations
2008-07-30T17:16:00  <xorAxAx> as i said, a new class is necessary
2008-07-30T17:16:12  <johill> yes
2008-07-30T17:16:16  <xorAxAx> i recognize that this is out of scope for the running soc projects
2008-07-30T17:16:29  <xorAxAx> i just want to point out that page is therefore legacy
2008-07-30T17:16:42  <johill> well we could mostly probably merge Page/PageEditor to get the new class
2008-07-30T17:17:07  <johill> anyhow, it doesn't really make a difference to what we were discussing
2008-07-30T17:17:49  <johill> for me, the storage is about not doing magic, but rather provide clearly defined semantics, like "Item has mutable metadata, immutable revisions with data/metadata, and just stores whatever you give it"
2008-07-30T17:19:17  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station PERIOD com> default * 4382:15741a0fd12c 1.8-storage-cdenter/MoinMoin/PageEditor.py: storage: PageEditor.py: Rewriting PageEditor.renamePage to use new storage API
2008-07-30T17:19:24  <xorAxAx> johill: no, these new classes are different for different item types
2008-07-30T17:19:39  <xorAxAx> johill: yes, the storage is unrelated
2008-07-30T17:19:44  <xorAxAx> still you were wrong :-P
2008-07-30T17:19:54  <xorAxAx> ok, back to RC
2008-07-30T17:20:03  <johill> new classes for different item types? we already have a user class
2008-07-30T17:20:06  <johill> not sure what you mean
2008-07-30T17:20:34  <xorAxAx> depending on mime type, items are rendered differently, metadata editing is different etc.
2008-07-30T17:20:46  <xorAxAx> why would a new interface for change logging of the whole wiki make it easier?
2008-07-30T17:20:47  <johill> ah
2008-07-30T17:20:51  <johill> ok, good point
2008-07-30T17:21:08  <johill> well I woudl only changelog /item/ changes, not their revisions
2008-07-30T17:21:25  <johill> i.e. news stays an optimisation, and the item changelog gets "item created/renamed/(removed)"
2008-07-30T17:21:26  <xorAxAx> huh, what to log is yet another question
2008-07-30T17:21:41  <xorAxAx> the question is how the item changelog would be implemented in the api
2008-07-30T17:21:52  <xorAxAx> you wanted to see a new interface
2008-07-30T17:22:17  <johill> yes, I would prefer a new interface, because imho using a special item would pollute the item concept of "just store what I want you to"
2008-07-30T17:25:38  <xorAxAx> well, that would be the case
2008-07-30T17:25:40  <xorAxAx> hmm
2008-07-30T17:25:42  <xorAxAx> no
2008-07-30T17:25:42  <johill> or let me ask that way: do you see any semantic advantage to using the item api? all the special-casing would probably be much easier to implement if that was actually just the log
2008-07-30T17:26:18  <xorAxAx> less implementation necessary because the interface is the same and the storage can use the existing code as well
2008-07-30T17:26:39  <johill> whether it uses the same code beneath is pretty much unimportant
2008-07-30T17:26:46  <xorAxAx> hmm, yeah
2008-07-30T17:26:54  <johill> but you'd also have special metadata key names
2008-07-30T17:27:00  <johill> which right now, just don't matter, backends simply don't care about them
2008-07-30T17:27:14  <xorAxAx> some backends have to
2008-07-30T17:27:23  <xorAxAx> metabackends
2008-07-30T17:27:43  <johill> hmm, possibly, depending on how they work, but generally I don't see why they need to know much
2008-07-30T17:27:44  <xorAxAx> by design. if you have a backend that stores on the fs if the rev is larger than x MB for example
2008-07-30T17:27:55  <xorAxAx> also for indexing they need knowledge
2008-07-30T17:28:01  <johill> that's not "metadata" though, that's metadata about the revision data
2008-07-30T17:28:11  <johill> yes, for indexing, but that's not fundamental
2008-07-30T17:28:16  <johill> they can index on any key, in theory
2008-07-30T17:28:28  <xorAxAx> ok. can you try to come up with an additional interface?
2008-07-30T17:28:56  <xorAxAx> that works fine together with/merges in news()
2008-07-30T17:29:09  <johill> well I would mandate that backends need to keep a log of create/rename(/remove)
2008-07-30T17:29:21  <johill> you can get it by item_log_iter() or so
2008-07-30T17:29:33  <johill> and news, which by design is just an optimisation, simply folds it in
2008-07-30T17:29:46  <dennda> Are users supposed to copy Pages? I am just trying to find the appropriate button/widget/link since ten minutes and havn't found it yet
2008-07-30T17:30:01  <johill> there's a CopyPage action
2008-07-30T17:30:58  <xorAxAx> johill: can you write it down on a page?
2008-07-30T17:31:29  <dennda> johill: How is it invoked? That's what I can't find
2008-07-30T17:31:32  <johill> I need to go back and write down a bunch of things I think
2008-07-30T17:32:29  <johill> dennda: it's disabled by default
2008-07-30T17:32:45  <dennda> That explains a lot :)
2008-07-30T17:33:56  <xorAxAx> for the same reasons python doesnt have goto by default
2008-07-30T17:34:15  <dennda> Because you get a spagetthi wiki?
2008-07-30T17:34:31  <xorAxAx> yes
2008-07-30T17:34:45  <dennda> You may want to copy a template page or something
2008-07-30T17:34:52  <xorAxAx> yes
2008-07-30T17:34:55  <johill> then you can use the template mechanism while editing
2008-07-30T17:34:56  <dennda> but sure, understandable
2008-07-30T17:35:01  <johill> we discussed that a lot with dreimark :)
2008-07-30T17:35:05  <dennda> :)
2008-07-30T17:35:13  <dennda> Now I just need to find that config option...
2008-07-30T17:35:14  <johill> and I said that if anything, the template mechanism is lacking, rather than an actual need to copy
2008-07-30T17:35:15  <xorAxAx> i think a copypage action with template knowledge would be best
2008-07-30T17:35:25  <xorAxAx> copypage realising "this page came from template X" and using it
2008-07-30T17:35:42  <johill> needs metadata :)
2008-07-30T17:35:45  * dennda hopes he didn't kick off another design-decision-discussion :)
2008-07-30T17:35:46  <xorAxAx> nah
2008-07-30T17:36:15  <xorAxAx> furthermore, moin doesnt have templates like mediawiki
2008-07-30T17:36:20  <xorAxAx> they reduce issues a lot as well
2008-07-30T17:36:37  <johill> what are those?
2008-07-30T17:36:59  <xorAxAx> they work like html templating languages from a conceptual point of view
2008-07-30T17:37:00  <dennda> Is that documented anywhere? The configuration for this, I mean
2008-07-30T17:37:04  <xorAxAx> you do var replacement
2008-07-30T17:37:36  <xorAxAx> but the vars can have nice names and multiline vlaues
2008-07-30T17:37:43  <xorAxAx> so in the end it doesnt look too cryptic AFAIK
2008-07-30T17:37:45  <johill> dennda: actions_disabled or something
2008-07-30T17:37:57  <johill> xorAxAx: ah, neat, needs a new editor then?
2008-07-30T17:38:06  <xorAxAx> new editor?
2008-07-30T17:38:15  <xorAxAx> mediawiki works with a normal textarea
2008-07-30T17:38:19  <johill> well an editor that queries for the fields, rather than the text
2008-07-30T17:40:27  <xorAxAx> well, you embed these templates into the wiki page
2008-07-30T17:40:53  <xorAxAx> so its not trivial to offer such a nice editor (and maybe pointless)
2008-07-30T17:40:57  <johill> ok
2008-07-30T17:46:22  <dennda> hm can't find it...
2008-07-30T17:46:23  <dennda> dreimark: ping
2008-07-30T17:48:12  <xorAxAx> dennda: HelpOnConfiguration
2008-07-30T17:48:53  <dreimark> dennda: pong
2008-07-30T17:49:45  <dreimark> dennda: it is in actions_excluded
2008-07-30T17:51:30  <dennda> ah great, thanks
2008-07-30T17:53:30  <xorAxAx> doesnt the help page list it?
2008-07-30T17:53:43  <xorAxAx> esp. with the new always-uptodate config syste
2008-07-30T17:53:46  <johill> it hasn't been rewritten for that yet
2008-07-30T17:53:51  <johill> i.e. it's still the old page, not the macro
2008-07-30T17:54:36  <dreimark> it looks like the page content is wrong of that page
2008-07-30T17:54:56  <dreimark> http://master17.moinmo.in/HelpOnConfiguration
2008-07-30T17:54:59  <dreimark> is correct
2008-07-30T17:55:45  <dreimark> ThomasWaldmann: it looks like we don't have the 1.7 page on MM
2008-07-30T17:56:43  * johill leaves
2008-07-30T17:59:10  <ThomasWaldmann> dreimark: look now
2008-07-30T17:59:18  <ThomasWaldmann> (should be 1.7.1 now)
2008-07-30T17:59:31  <dennda> johill: found a bug in fs.py, i think
2008-07-30T17:59:39  <johill> well possible, but I have to go :)
2008-07-30T17:59:42  <johill> send mail
2008-07-30T17:59:44  <dennda> and fixed it, I think
2008-07-30T17:59:50  <johill> ok even better :)
2008-07-30T18:00:19  <xorAxAx> dennda: where is the failing test? :)
2008-07-30T18:00:55  <xorAxAx> as long as you cant show it to johill, we cant agree upon whether it is a bug or some of us interpreted the non-existing spec wrongly
2008-07-30T18:01:19  <johill> heh
2008-07-30T18:01:21  <johill> seriously, I have to go
2008-07-30T18:01:22  <johill> :)
2008-07-30T18:01:39  <dreimark> ThomasWaldmann: :)
2008-07-30T18:01:41  <dennda> nothing big
2008-07-30T18:01:48  <dennda> he's just catching the wrong exception afaict
2008-07-30T18:03:15  <xorAxAx> dennda: even small bugs are worth to be nailed down with a test
2008-07-30T18:03:18  <xorAxAx> esp. the small ones are
2008-07-30T18:03:29  <xorAxAx> because large ones arent easy to nail down with a test
2008-07-30T18:03:38  <dennda> this one isn't
2008-07-30T18:03:55  <xorAxAx> isnt what?
2008-07-30T18:04:02  <dennda> worth to be nailed down
2008-07-30T18:04:15  <xorAxAx> why???
2008-07-30T18:04:30  <dennda> because it's just s/IOError/OSError/
2008-07-30T18:04:42  <xorAxAx> thats not a reason
2008-07-30T18:10:04  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station PERIOD com> default * 4383:ffc93ff3478b 1.8-storage-cdenter/MoinMoin/PageEditor.py: storage: PageEditor.py: Fixes to copyPage
2008-07-30T18:10:04  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station PERIOD com> default * 4384:784720673b63 1.8-storage-cdenter/MoinMoin/storage/backends/fs.py: storage: backends/fs.py: Fixing bug. Expected wrong exception.
2008-07-30T18:10:40  <dennda> you are right, tho
2008-07-30T18:11:03  <dreimark> hmm,  IOError and OSError are very different, why do you see it now
2008-07-30T18:11:10  <dreimark> dennda:
2008-07-30T18:11:25  <dennda> dreimark: Hm?
2008-07-30T18:11:45  <dreimark> why wasn't an exception not raised before ?
2008-07-30T18:12:06  <dreimark> s/an/this/
2008-07-30T18:12:11  <dreimark> dennda:
2008-07-30T18:12:16  <xorAxAx> dennda: an exception is part of the public api
2008-07-30T18:12:21  <xorAxAx> dennda: you are doing the refactoring task
2008-07-30T18:12:31  <xorAxAx> dennda: you have to ensure that the related code is tested
2008-07-30T18:12:36  <xorAxAx> on a generic level ...
2008-07-30T18:12:44  <dennda> xorAxAx: 18:10 < dennda> you are right, tho
2008-07-30T18:12:59  <xorAxAx> dennda: but you didnt commit a test
2008-07-30T18:13:03  <xorAxAx> in the above changeset
2008-07-30T18:13:33  <dennda> yeah, I am writing it
2008-07-30T18:22:55  <dreimark> test_packages of 1.8 shows a test failing
2008-07-30T18:28:02  <dreimark> xorAxAx: hmm, I think it does not make sense for the guieditor to show "Remove trailing whitespace from each line"
2008-07-30T18:29:06  <xorAxAx> dreimark: why not?
2008-07-30T18:30:38  <dreimark> we don't write wikimarkup in the editor, I cannot enter a blank after a table row
2008-07-30T18:30:53  <dreimark> or after a heading
2008-07-30T18:31:28  <dreimark> a blank does not do any change
2008-07-30T18:31:52  <dreimark> xorAxAx:
2008-07-30T18:34:30  <xorAxAx> hmm, sure you can add blanks in any normal line
2008-07-30T18:34:36  <xorAxAx> technically the option makes sense
2008-07-30T18:34:45  <xorAxAx> whether there is any use case i doubt as well
2008-07-30T18:35:54  <dreimark> adding blanks at the end of a line seemed to be removed automaticly.
2008-07-30T18:36:53  <xorAxAx> hmm, then it could be hidden, yes
2008-07-30T18:44:02  <dreimark> hmm, the functionality of the source button has changed
2008-07-30T19:03:17  <dreimark> byeongweon: what is the meaning of word wrap in cell properties
2008-07-30T19:04:13  <dreimark> if that is not supported is it easy to disable it?
2008-07-30T19:05:13  <dreimark> same for border color.
2008-07-30T19:07:21  * dreimark wishes to have something similiar to the highlighting of macros for normal text, that I can mark some parts. We do this with the parser attributes currently, but that is not rendered.
2008-07-30T19:09:14  <dreimark> byeongweon: where does the description of the macros comes from?
2008-07-30T19:13:05  <dreimark> PawelPacana: ThomasWaldmann does one already thought on an annotate info action for the mercurial backend?
2008-07-30T19:13:34  <dreimark> seeing who has contributed to a page
2008-07-30T19:15:50  <dennda> Hm, seems I was wron
2008-07-30T19:15:51  <dennda> g
2008-07-30T19:16:43  * dreimark goes home now. bbl
2008-07-30T19:25:10  * ThomasWaldmann goes LUG :)
2008-07-30T19:26:02  <PawelPacana> dreimark: no, no one mentioned this idea before
2008-07-30T21:23:02  <dreimark> ThomasWaldmann: http://moinmo.in/ColinBennett he likes to work on reST
2008-07-30T21:25:32  <dreimark> bbl
2008-07-30T21:55:00  <TheSheep> moin
2008-07-30T23:14:21  <dreimark> re
2008-07-30T23:15:48  <dreimark> TheSheep: PawelPacana http://moinmo.in/FeatureRequests/LineByLineAuthorView
2008-07-30T23:30:30  <PawelPacana> dreimark: its not our priority but worth doing, will keep that on mind
2008-07-30T23:36:41  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4379:418c7f224338 1.8-mercurialbackend-ppacana/MoinMoin/storage/_tests/test_backends.py: (backend tests) New test for item metadata after rename.
2008-07-30T23:36:41  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4380:adc7824a85bb 1.8-mercurialbackend-ppacana/MoinMoin/storage/backends/hg.py: (hg) Additional comments for later time.
2008-07-30T23:36:42  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4381:3099d52bbbe1 1.8-mercurialbackend-ppacana/MoinMoin/storage/backends/hg.py: (hg) Bugfix in _commit checks. Plus additional comments, unused print statement purge amd tiny optimizations.
2008-07-30T23:36:43  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4382:5355da8db3bd 1.8-mercurialbackend-ppacana/MoinMoin/storage/_tests/test_backends.py: (test backends) Test for iterating over (too) long item names.
2008-07-30T23:36:46  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4383:6322acca7d6c 1.8-mercurialbackend-ppacana/MoinMoin/storage/_tests/test_backends.py: (test backends) Another test for iteritems.

MoinMoin: MoinMoinChat/Logs/moin-dev/2008-07-30 (last edited 2008-07-30 06:30:02 by IrcLogImporter)