git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v3 4/4] git-gui: allow undoing last revert

From
Bert Wesarg <bert.wesarg@googlemail.com>
Date
Oct 22, 2019, 08:17 UTC
Message-ID
<CAKPyHN2b1=2GefMDB987h5J4zXN7YWGsyLw7FADs+M5CgEUYow@mail.gmail.com>
In-Reply-To
<20191021190448.34vs3zsqvqc5hryl@yadavpratyush.com>
On Mon, Oct 21, 2019 at 9:04 PM Pratyush Yadav <me@yadavpratyush.com> wrote:
Show 25 quoted lines
>
> On 21/10/19 11:16AM, Bert Wesarg wrote:
> > Dear Pratyush,
> >
> > I just noticed that the 'Revert Last Hunk' menu entry is enabled in
> > the stage-list. But I think it should be disabled, like the 'Revert
> > Hunk' and 'Revert Line' menu entry.
>
> I'm not sure what you mean. There is no "Revert Last Hunk" menu entry (I
> assume you are talking about the context menu in the diff view that we
> open by right clicking).
>
> My guess is that you mean the "Undo Last Revert" option. And you want it
> disabled if the diff shown is of a staged file, correct?
>
> I'm not sure if disabling it would be a good idea.
>
> Say I revert a hunk or line while the file is not staged, and stage the
> rest of the file. This would mean that file is no longer in the
> "Unstaged Changes" widget. Now if I choose the file from the "Staged
> Changes" widget, I get the option to undo the last revert. If I hit
> that, it will put whatever I reverted in the "Unstaged Changes" widget.
> So, now part of the file that was reverted is in "Unstaged Changes", and
> the rest in "Unstaged Changes".
>
Sorry for this confusion.
> IIUC, this is what you think should not happen, correct? What's wrong
> with allowing the user to undo reverts from anywhere?
The 'Undo' changes the worktree not the staged content,.
>
> The way I see it, it doesn't really matter what file is selected or
> whether it is staged or not, the action of the undo remains the same, so
> it makes sense to me to allow it from anywhere.

It would make sense to undo the revert on the staged content, if there are no more changes to this file in the worktree. I.e., you wont be able to apply the 'undo' anymore to the worktree file if it is not listed anymore. Though even that case should be able to implement. Though the undo is currently not bound to a specific path. This may be the cause of our different view. I though the undo is bound to the path it was recorded, thus also would only be available when showing a diff on this path again. Therefore I think, having the 'Undo Last Revert' in the context menu may not be the best place to begin with, or at least indicate that this 'undo' operation does not necceseritly operate on the file currently shown.

Bertt
Show 18 quoted lines
>
> > Can you confirm this?
> >
> > On Wed, Aug 28, 2019 at 11:57 PM Pratyush Yadav <me@yadavpratyush.com>
> > wrote:
> > >
> > > Accidental clicks on the revert hunk/lines buttons can cause loss of
> > > work, and can be frustrating. So, allow undoing the last revert.
> > >
> > > Right now, a stack or deque are not being used for the sake of
> > > simplicity, so only one undo is possible. Any reverts before the
> > > previous one are lost.
> > >
> > > Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>
>
> --
> Regards,
> Pratyush Yadav
Previous: Pratyush YadavNext: Pratyush Yadav
Message 41 of 49 in “git-gui: Add ability to revert selected hunks and lines”
  1. 0/3 git-gui: Add ability to revert selected hunks and linesPratyush Yadav, Aug 19, 2019
  2. 1/3 git-gui: Move revert confirmation dialog creation to separate functionPratyush Yadav, Aug 19, 2019
  3. 2/3 git-gui: Add the ability to revert selected linesPratyush Yadav, Aug 19, 2019
  4. Johannes SixtAug 20, 2019
  5. Pratyush YadavAug 20, 2019
  6. Johannes SixtAug 20, 2019
  7. Pratyush YadavAug 21, 2019
  8. Johannes SchindelinAug 23, 2019
  9. Junio C HamanoAug 23, 2019
  10. Pratyush YadavAug 23, 2019
  11. Johannes SixtAug 23, 2019
  12. 3/3 git-gui: Add the ability to revert selected hunkPratyush Yadav, Aug 19, 2019
  13. Junio C HamanoAug 20, 2019
  14. Pratyush YadavAug 20, 2019
  15. Bert WesargAug 21, 2019
  16. Pratyush YadavAug 21, 2019
  17. 0/4 git-gui: Add ability to revert selected hunks and linesPratyush Yadav, Aug 22, 2019
  18. 1/4 git-gui: Move revert confirmation dialog creation to separate functionPratyush Yadav, Aug 22, 2019
  19. 2/4 git-gui: Add option to disable the revert confirmation promptPratyush Yadav, Aug 22, 2019
  20. 3/4 git-gui: Add the ability to revert selected linesPratyush Yadav, Aug 22, 2019
  21. Bert WesargAug 23, 2019
  22. Pratyush YadavAug 23, 2019
  23. 4/4 git-gui: Add the ability to revert selected hunkPratyush Yadav, Aug 22, 2019
  24. Junio C HamanoAug 22, 2019
  25. Pratyush YadavAug 22, 2019
  26. Bert WesargAug 23, 2019
  27. Junio C HamanoAug 23, 2019
  28. Pratyush YadavAug 23, 2019
  29. David AguilarAug 23, 2019
  30. Bert WesargAug 24, 2019
  31. Bert WesargAug 24, 2019
  32. David AguilarAug 24, 2019
  33. Johannes SixtAug 24, 2019
  34. 0/4 git-gui: Add ability to revert selected hunks and linesPratyush Yadav, Aug 28, 2019
  35. 1/4 git-gui: allow reverting selected linesPratyush Yadav, Aug 28, 2019
  36. 2/4 git-gui: allow reverting selected hunkPratyush Yadav, Aug 28, 2019
  37. 3/4 git-gui: return early when patch fails to applyPratyush Yadav, Aug 28, 2019
  38. 4/4 git-gui: allow undoing last revertPratyush Yadav, Aug 28, 2019
  39. Bert WesargOct 21, 2019
  40. Pratyush YadavOct 21, 2019
  41. Bert WesargOct 22, 2019
  42. Pratyush YadavOct 23, 2019
  43. Johannes SixtOct 21, 2019
  44. Bert WesargOct 22, 2019
  45. Pratyush YadavOct 23, 2019
  46. Pratyush YadavSep 10, 2019
  47. Johannes SixtSep 10, 2019
  48. Bert WesargSep 12, 2019
  49. Pratyush YadavAug 25, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.