darcs

Issue 2276 darcs rebase unsuspend needs UI improvements for "You are not... Amend anyway?"

Title darcs rebase unsuspend needs UI improvements for "You are not... Amend anyway?"
Priority bug Status resolved
Milestone 2.12.0 Resolved in 2.12.0
Superseder Nosy List ganesh, markstos
Assigned To
Topics Rebase, UI

Created on 2012-12-12.14:11:42 by markstos, last changed 2015-10-23.06:07:06 by noreply.

Messages
msg16394 (view) Author: markstos Date: 2012-12-12.14:11:39
> 1. Summarise the issue (what were doing, what went wrong?)

I used "darcs rebase unsuspend" and got a prompt like this:

"You're not Other Developer <other@summersault.com>! Amend anyway?"

I typed "Y", and got my Bash prompt back. In the Unix tradition, I assumed 
this applied success, but soon realize that the unsuspend process had not 
completed. 

I tried again and typed "Yes" instead of "Y". Same result.

I tried again and type "y", and got an alternative cryptic result. Darcs just 
prompted me for the same question again. I assumed I had made a mistake at 
this point and was being asked to "try again", so I tried "Y" again... which 
didn't work again. 

Through trial and error I discovered that "y" and not "Y" or "Yes" must the 
only correct response. But look what happened next:

  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer Two <dev2@summersault.com>! Amend anyway? y
  You're not Developer Two <dev2@summersault.com>! Amend anyway? y
  You're not Developer Two <dev2@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer Two <dev2@summersault.com>! Amend anyway? y
  You're not Developer Two <dev2@summersault.com>! Amend anyway? y
  You're not Developer Two <dev2@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer Two <dev2@summersault.com>! Amend anyway? y
  You're not Developer Two <dev2@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer Two <dev2@summersault.com>! Amend anyway? y
  You're not Developer Two <dev2@summersault.com>! Amend anyway? y
  You're not Developer Two <dev2@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer Two <dev2@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y
  You're not Developer One <dev@summersault.com>! Amend anyway? y

I was munging a lot of patches, and it appears darcs was prompting me
for every one one of them. However, I'm not provided any context to tie
a particular prompt to a particular patch.

> 2. What behaviour were you expecting instead?

1. Accept "Y", "yes" and "Yes" as correct answers.
2. If a wrong answer is given, report that, don't just silently quiet
3. To deal with patches I don't own, how about showing me the full list
of patches, and then prompting me just once at the end?

"You have requested to unsuspend the following patches which it appears
you did not create. Doing so will cause the patches to be "amended" and
will conflict with the original versions if they continue to exist in a
related repo.  Amend them anyway?"


> 3. What darcs version are you using? (Try: darcs --exact-version)

Darcs 2.9.6
msg16640 (view) Author: kowey Date: 2013-02-16.14:55:16
I think this is effectively a dupe of issue2269 (not directly).
But yeah, I'd noticed this in my experiments
msg16653 (view) Author: ganesh Date: 2013-02-16.15:45:35
IMO it's a separate bug to issue2269: even once we fix that, the annoying 
and unhelpful prompt will still appear at the time of 'suspend'.

Note that the confusing prompt probably also comes with amend-record.
msg18735 (view) Author: kowey Date: 2015-09-18.14:51:22
So issue2269 is about making the prompt happen earlier (at suspension time 
rather than unsuspension)

This issue is about the aggregation of stolen patch prompts, if I understand 
correctly. As a UI improvement, I'd suggest Y meaning "let me amend everything 
by this author"
msg18805 (view) Author: noreply Date: 2015-10-23.06:07:05
The following patch sent by Eric Kow <kowey@darcs.net> updated issue issue2276 with
status=resolved;resolvedin=2.12.0 HEAD

* resolve issue2276: Keep track of patch hijack decisions 
Ignore-this: e9c35f0ab4aa6a1388f910a902fee272
History
Date User Action Args
2012-12-12 14:11:42markstoscreate
2013-02-16 14:55:18koweysetpriority: bug
status: unknown -> duplicate
topic: + UI
superseder: + rebase should warn about stolen patches at suspend, not unsuspend
messages: + msg16640
2013-02-16 15:45:37ganeshsetstatus: duplicate -> needs-implementation
superseder: - rebase should warn about stolen patches at suspend, not unsuspend
messages: + msg16653
milestone: 2.10.0
2013-02-16 15:45:44ganeshsetnosy: + ganesh
2015-04-18 17:39:50ghsetmilestone: 2.10.0 -> 2.12.0
2015-09-18 14:51:24koweysetmessages: + msg18735
2015-10-23 06:07:06noreplysetstatus: needs-implementation -> resolved
messages: + msg18805
resolvedin: 2.12.0