Re: [darcs-users] How to avoid extra last regrets question?

2013-07-03 Thread Eric Kow
I like the general style of thinking below (thorough, careful, looking
at the *whole* picture).

Unfortunately, I'm not yet really in a position myself to get into it
(and was really just responding out of impulsiveness).

I'd only add that we might have it in there out of desire for
consistency across commands (but maybe minimising last regrets usage
is important: for example, we try to avoid last regrets if there is
only one prompt anyway?)

I'm not sure destructiveness is really the decision basis, partly was
about “aww, man, do I have to go through and make all my decisions
again?”, but there is a more general point that for some commands, the
alternative may be clunky (eg. you have to amend, or in the worst
case, you have to unrecord and record again), but that the clunkiness
may be a lesser evil than the last regrets

I'll also throw in that the last time I complained about LR, Florent
did successfully persuade me it was a useful thing to have.  It's on
IRC somewhere, probably ages back, shortly after the Southampton
sprint, would be great to find the conversation again

On 2 July 2013 17:04, Benjamin Franksen
benjamin.frank...@helmholtz-berlin.de wrote:
 Hi Eric

 Eric Kow wrote:
 I seem to remember this was under discussion, how to make the last
 regrets prompt less annoying.  I'd suggest we avoid going down the
 route of making this configurable just to please people who both find
 it annoying and are willing to configure their darcs, and instead
 focus on the problem at hand.

 It's one of these seeming rock-and-hard-places problems: how else do
 we offer the ability to revisit the very last choice (not to mention
 the IMHO less important review function)?

 How about the following strategy:

 First and foremost, skip the last regrets question if the user's selection
 amounts to a no-op. I hope this is un-controversial. Bonus points for
 restoring the nice message that Darcs used to issue in that case.

 Next, decide for which commands the last regrets makes sense. For instance,
 'darcs record' can be so easily un-done (just say darcs unrecord), that IMHO
 last regrets make little sense. The last regrets should be reserved for
 operations that irreversibly destroy some information: unrecord, amend-
 record, obliterate without -O (BTW, -O should be the default), etc.

 A more difficult candidate is pull; this is (or can be) destructive if you
 have local unrecorded changes; I'd say push and pull should both check
 whether allow-conflicts (marked or unmarked) is on and in case it is on the
 last regrets make sense, else not.

 I would also exclude the cases in which Darcs asks for extra confirmation
 anyway, such as when it says: This will make unrevert impossible, are you
 sure?.

 If we did all that together, systematically reviewing all commands under
 this aspect, then I predict that the remaining last regrets questions will
 not be considered annoying by anyone but instead as helpful. Problem solved.

 More bonus points for making the result of this review and the decisions
 taken publicly visible in the form of a simple table on the wiki. Something
 like

 Command Last RegretsSide Condition(s)
 
 record  no  -
 changes no  -
 unrecordyes chosen set of changes /= empty
 rebase
   unsuspend no  -
   suspend   yes chosen set of patches /= empty

 etc, maybe with an added column for a short rationale.

 I still hold that [dq] is better for last regrets than accepting [yn],
 precisely for the reason that it's easy to accidentally say yn when
 you don't mean it.  (And that UIs should be designed to forgive users
 like me who tend to tell the computer things they don't really mean
 like ?yeah yeah, ok I really do want to delete that file? oh wait, no!
 what was I saying?! Argh!?)

 I fully agree with your reasoning: *if* we (and in consequence Darcs) decide
 that it makes sense to ask the last regrets question, then it should not be
 possible to accidentally answer it by hitting the [y] key once too often.

 Cheers

 On 1 July 2013 13:56, Benjamin Franksen
 benjamin.frank...@helmholtz-berlin.de wrote:
 This regularly happens to me lately:

 franksen@tiber: ...support/seq/branch-2-2  darcs push
 Mon Jul  1 14:37:59 CEST 2013  benjamin.frank...@helmholtz-berlin.de
   * top level Makefile: pdf and docs no longer variables, restructured
   extra
 targets
 Shall I push this patch? (1/1)  [ynW...], or ? for more options: n
 Do you want to push these patches? [Yglqk...], or ? for more options: q
 push cancelled.

 I find the extra question extremely annoying, especially (but not only)
 when I selected no patches as in the above example. The above always
 makes me stop, thinking, What? Did I accidentally press 'y' when I meant
 to press 'n'? I'm sure I didn't!.

 I loved how Darcs used to tell me You don't want to push any patches,
 and that's fine with me! which 

Re: [darcs-users] How to avoid extra last regrets question?

2013-07-03 Thread Benjamin Franksen
Eric Kow wrote:
 I like the general style of thinking below (thorough, careful, looking
 at the *whole* picture).

Thanks :-)

 I'm not sure destructiveness is really the decision basis, partly was
 about ?aww, man, do I have to go through and make all my decisions
 again??, 

Right, absolutely. It may not be as bad as deleting all the changes I made 
in my source tree (like e.g. revert does), but I did add important 
information to my tree making the selection (possibly editing a number of 
hunks on the way) and that should not be lost due to a stupid mistake.

If (after making lots of decisions) I say Yes, record these changes I do 
not loose any information. So, with darcs record the default should be to 
err on the side of yes, record please, not no, better not. That is to 
say, for 'darcs record' it would make more sense (IMO) to offer the last 
regrets when the user hits the [q] button, and Darcs asked me: Are you sure 
you don't want to record anything? You'll loose all the choices you made so 
far. [yN].

In order to get some structure into all the possibilities, I propose to 
classify commands into positive and negative ones: a positive command (like 
record) /adds/ information. Undoing its effect is simple, redoing after 
cancel or interrupt can be hard. Negative commands (like obliterate) 
/subtract/ information. Undoing their effect is hard, if not impossible. 
Redoing them after a cancel is easy.

Commands like amend-(un)record don't seem to fit into this classification, 
though. While I do the selection, I create valuable information, but once I 
commit, I also destroy some. I would solve this by separating the two stages 
and acting according to which stage we're in: as long as we are in the 
positive stage we guard against accidentally cancelling the operation; 
however, when the user is about to commit, we guard against accidentally 
deciding to irreversibly update an existing patch.

We can do even better: what I would **love** to have is Darcs saving my 
selection (including hunk edits), so that I can later continue where I left 
off. Even better, this need not be confined to a single command: when I make 
a selection out of a large number of hunks, say during a darcs amend-record, 
then decide against, I might later want to use the same selection but for a 
normal 'darcs record'. I also want to be able to incrementally add and/or 
remove atomic changes (hunks, etc) from such a selection.

I think there is no other VCS out there that has such a feature built in. 
Once again Darcs could /set/ the trend instead of trying to catch up.

Cheers
-- 
Ben Franksen
()  ascii ribbon campaign - against html e-mail 
/\  www.asciiribbon.org   - against proprietary attachm?nts


___
darcs-users mailing list
darcs-users@darcs.net
http://lists.osuosl.org/mailman/listinfo/darcs-users


Re: [darcs-users] How to avoid extra last regrets question?

2013-07-02 Thread Eric Kow
I seem to remember this was under discussion, how to make the last
regrets prompt less annoying.  I'd suggest we avoid going down the
route of making this configurable just to please people who both find
it annoying and are willing to configure their darcs, and instead
focus on the problem at hand.

It's one of these seeming rock-and-hard-places problems: how else do
we offer the ability to revisit the very last choice (not to mention
the IMHO less important review function)?

I still hold that [dq] is better for last regrets than accepting [yn],
precisely for the reason that it's easy to accidentally say yn when
you don't mean it.  (And that UIs should be designed to forgive users
like me who tend to tell the computer things they don't really mean
like “yeah yeah, ok I really do want to delete that file… oh wait, no!
what was I saying?! Argh!”)


On 1 July 2013 13:56, Benjamin Franksen
benjamin.frank...@helmholtz-berlin.de wrote:
 This regularly happens to me lately:

 franksen@tiber: ...support/seq/branch-2-2  darcs push
 Mon Jul  1 14:37:59 CEST 2013  benjamin.frank...@helmholtz-berlin.de
   * top level Makefile: pdf and docs no longer variables, restructured extra
 targets
 Shall I push this patch? (1/1)  [ynW...], or ? for more options: n
 Do you want to push these patches? [Yglqk...], or ? for more options: q
 push cancelled.

 I find the extra question extremely annoying, especially (but not only) when
 I selected no patches as in the above example. The above always makes me
 stop, thinking, What? Did I accidentally press 'y' when I meant to press
 'n'? I'm sure I didn't!.

 I loved how Darcs used to tell me You don't want to push any patches, and
 that's fine with me! which always made me smile, whereas the new one makes
 me moan.

 Is there a switch that gets me back to old behaviour, preferably one that I
 can put in my ~/.darcs/defaults?

 Cheers
 --
 Ben Franksen
 ()  ascii ribbon campaign - against html e-mail
 /\  www.asciiribbon.org   - against proprietary attachm?nts


 ___
 darcs-users mailing list
 darcs-users@darcs.net
 http://lists.osuosl.org/mailman/listinfo/darcs-users



-- 
Eric Kow http://erickow.com
___
darcs-users mailing list
darcs-users@darcs.net
http://lists.osuosl.org/mailman/listinfo/darcs-users


Re: [darcs-users] How to avoid extra last regrets question?

2013-07-02 Thread Benjamin Franksen
Hi Eric

Eric Kow wrote:
 I seem to remember this was under discussion, how to make the last
 regrets prompt less annoying.  I'd suggest we avoid going down the
 route of making this configurable just to please people who both find
 it annoying and are willing to configure their darcs, and instead
 focus on the problem at hand.

 It's one of these seeming rock-and-hard-places problems: how else do
 we offer the ability to revisit the very last choice (not to mention
 the IMHO less important review function)?

How about the following strategy:

First and foremost, skip the last regrets question if the user's selection 
amounts to a no-op. I hope this is un-controversial. Bonus points for 
restoring the nice message that Darcs used to issue in that case.

Next, decide for which commands the last regrets makes sense. For instance, 
'darcs record' can be so easily un-done (just say darcs unrecord), that IMHO 
last regrets make little sense. The last regrets should be reserved for 
operations that irreversibly destroy some information: unrecord, amend-
record, obliterate without -O (BTW, -O should be the default), etc.

A more difficult candidate is pull; this is (or can be) destructive if you 
have local unrecorded changes; I'd say push and pull should both check 
whether allow-conflicts (marked or unmarked) is on and in case it is on the 
last regrets make sense, else not.

I would also exclude the cases in which Darcs asks for extra confirmation 
anyway, such as when it says: This will make unrevert impossible, are you 
sure?.

If we did all that together, systematically reviewing all commands under 
this aspect, then I predict that the remaining last regrets questions will 
not be considered annoying by anyone but instead as helpful. Problem solved.

More bonus points for making the result of this review and the decisions 
taken publicly visible in the form of a simple table on the wiki. Something 
like

Command Last RegretsSide Condition(s)

record  no  -
changes no  -
unrecordyes chosen set of changes /= empty
rebase
  unsuspend no  -
  suspend   yes chosen set of patches /= empty

etc, maybe with an added column for a short rationale.

 I still hold that [dq] is better for last regrets than accepting [yn],
 precisely for the reason that it's easy to accidentally say yn when
 you don't mean it.  (And that UIs should be designed to forgive users
 like me who tend to tell the computer things they don't really mean
 like ?yeah yeah, ok I really do want to delete that file? oh wait, no!
 what was I saying?! Argh!?)

I fully agree with your reasoning: *if* we (and in consequence Darcs) decide 
that it makes sense to ask the last regrets question, then it should not be 
possible to accidentally answer it by hitting the [y] key once too often.

Cheers

 On 1 July 2013 13:56, Benjamin Franksen
 benjamin.frank...@helmholtz-berlin.de wrote:
 This regularly happens to me lately:

 franksen@tiber: ...support/seq/branch-2-2  darcs push
 Mon Jul  1 14:37:59 CEST 2013  benjamin.frank...@helmholtz-berlin.de
   * top level Makefile: pdf and docs no longer variables, restructured
   extra
 targets
 Shall I push this patch? (1/1)  [ynW...], or ? for more options: n
 Do you want to push these patches? [Yglqk...], or ? for more options: q
 push cancelled.

 I find the extra question extremely annoying, especially (but not only)
 when I selected no patches as in the above example. The above always
 makes me stop, thinking, What? Did I accidentally press 'y' when I meant
 to press 'n'? I'm sure I didn't!.

 I loved how Darcs used to tell me You don't want to push any patches,
 and that's fine with me! which always made me smile, whereas the new one
 makes me moan.

 Is there a switch that gets me back to old behaviour, preferably one that
 I can put in my ~/.darcs/defaults?
-- 
Ben Franksen
()  ascii ribbon campaign - against html e-mail 
/\  www.asciiribbon.org   - against proprietary attachm?nts


___
darcs-users mailing list
darcs-users@darcs.net
http://lists.osuosl.org/mailman/listinfo/darcs-users