Perl 6 - the future is here, just unevenly distributed

IRC log for #darcs, 2014-08-05

| Channels | #darcs index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:04 Rastus_Vernon joined #darcs
01:20 edwardk joined #darcs
01:36 mizu_no_oto joined #darcs
02:01 mizu_no_oto joined #darcs
02:46 favonia joined #darcs
02:56 stepkut` joined #darcs
02:58 mizu_no_oto joined #darcs
03:38 amgarching joined #darcs
09:00 edwardk joined #darcs
10:55 mizu_no_oto joined #darcs
11:05 mizu_no_oto joined #darcs
13:15 vikraman joined #darcs
13:15 qsuscs joined #darcs
13:15 DarkFox joined #darcs
13:26 byorgey joined #darcs
13:43 favonia joined #darcs
13:56 mdiaz joined #darcs
14:03 gh_ joined #darcs
14:09 favonia joined #darcs
14:23 alegadea joined #darcs
14:36 mizu_no_oto joined #darcs
15:57 mdiaz joined #darcs
16:02 dolio joined #darcs
17:24 favonia joined #darcs
17:51 n-dolio joined #darcs
17:57 gh_ hi
18:03 Heffalump hi
18:06 amgarchIn9 joined #darcs
18:09 Heffalump mdiaz: I just added some comments to your patch from last week. What have you done since sending that patch?
18:15 mdiaz Hi Heffalump.
18:15 mdiaz Nothing, I was just waiting for more comments :-).
18:16 mdiaz Hmm, and what do you think about the UI?
18:16 Heffalump I haven't actually tried that yet.
18:17 Heffalump err, you didn't think there was anything else you could be doing in the meantime??
18:18 Heffalump back in a while
18:20 mdiaz About my project does not seem to have too much to do. Tests and minor changes.
18:33 Heffalump so how about doing some of those things, like the documentation we discussed, writing the tests, etc?
18:34 Heffalump The previous features all need tests too, for example
18:34 Heffalump and if you were up to date on all those things now, then there'd be scope for making undo better, e.g. by managing changes to working
18:45 mdiaz I don't follow your reasoning.
18:46 Heffalump which reasoning?
18:46 mdiaz We can make undo better now  if you want :). And I always prefer to do the tests and documentation at the end of the project.
18:48 Heffalump ok, so could we make it able to undo changes that affect working, e.g. obliterate?
18:50 Heffalump writing documentation for the undo on-disk format would make it much easier for me to review that
18:51 mdiaz I think that's a question that you can answer better. The last time we talked you said that "undo" wouldn't undo changes in working.
18:53 Heffalump that was a starting point, to get something basic working
18:57 mdiaz Anyways, are you sure you want to do that?
18:58 Heffalump do what? Have it able to undo changes to working? Yes, I think that would be very useful. I imagine that obliterate is likely to be one of the commands people would really like to undo. Also revert, in which case "undo" would generalize the handling of the existing "unrevert" patch.
19:05 mdiaz Ok
19:06 mdiaz Sounds good, but it wouldn't be too much?
19:07 Heffalump too much for what?
19:07 mdiaz I was worried about doing a darcs above darcs.
19:14 Heffalump I don't think it'd amount to that exactly, but it is a valid concern
19:17 Heffalump I guess that each undo state would need to have an associated "patch to working" with it
19:17 Heffalump but when we came to re-apply it, it may not work any more
19:18 gh_ I guess there are various approaches and each one requires an evaluation of its pros and cons
19:20 gh_ like , say: performance cost on regular commands / performance of undo / ability to restore working (yes/no) / ability to restore pending (yes/no) / covered commands / space use
19:20 gh_ initially I was just thinking of storing inventories, and running "repair" on the undo'ed inventories.
19:20 Heffalump I can't actually imagine space use being anything other than linear in the change being undone (short of an extreme implementation that actually copies working)
19:20 Heffalump oh, so you could undo obliterate at the cost of clobbering working? Interesting.
19:21 Heffalump or at least having to use revert to get back to the actual working state
19:23 gh_ yes
19:25 gh_ you mean running unrevert, undo/repair, then revert?
19:28 Heffalump I mean that if you undid an obliterate with what you describe above, then you'd need to use revert to get working back in sync.
19:35 gh_ yes
19:38 mdiaz So... what do I have to do? :)
19:44 gh_ You could contribute to the decision making process by evaluating the alternatives as I described above, and sharing that evaluation with the rest of us.
19:45 gh_ That can be done fast.
19:45 gh_ (sorry I'm leaving for a couple of hours)
19:48 mdiaz I don't understand the alternatives.
19:48 mdiaz Can you explain them?
19:54 Heffalump my idea is to store a patch with each undo state
19:54 Heffalump does that one make sense?
19:57 mdiaz And as we move from one state to another which patch we apply?
19:59 Heffalump this would be easier to describe with reference to your existing on-disk state :-)
19:59 Heffalump but each time you undo an operation, you restore an old inventory + pending, right? So you could also apply a patch at that point.
19:59 Heffalump the patch would be associated with the inventory + pending
20:00 mdiaz Oh, ok, sorry, now I understand.
20:02 mdiaz But that patch will be applied  to... what?
20:03 mdiaz Does not depends on which state we are?
20:05 Heffalump it'd be applied to working
20:06 Heffalump undo is generally expressed as a stack - you push things on when you do something that could be undone, and pop them off when you undo something. As you pop things off the stack the previous elements should naturally make sense.
20:09 mdiaz Ok.
20:09 mdiaz and the other alternative is using repair?
20:11 Heffalump right, so then you just restore the inventory, and use repair to fix pristine
20:12 mdiaz I can't see any difference in ability to undo commands.
20:13 Heffalump repair would be quite slow, and it wouldn't fix up working
20:14 Heffalump so then you'd have you use revert to restore working, and then your existing local changes get tangled up
20:21 mdiaz The only cons against the other option is that it is more difficult to implement?
20:35 Heffalump and it requires more space on disk, but only marginally
20:37 favonia joined #darcs
20:37 mdiaz Ok, then I propose to implement that. But I'm gonna need some help on how to start :).
20:38 Heffalump is there something called 'applyToWorking' ?
20:38 Heffalump could you record the patches that get passed to that?
20:41 mdiaz Hmm, I just only need to do that?
20:42 Heffalump in theory...
20:43 mdiaz Ok, I'll work on that.
20:44 mdiaz Thank you! :)
21:48 amgarchIn9 joined #darcs
22:56 mizu_no_oto joined #darcs

| Channels | #darcs index | Today | | Search | Google Search | Plain-Text | summary