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

Re: [RFC 3/3] reset: Change the default behavior to use "--merge" during a merge

From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
Date
Feb 26, 2014, 20:57 UTC
Message-ID
<vpqeh2pd237.fsf@anie.imag.fr>
In-Reply-To
<CADgNjanavxZfuXgvEAOMzPAJr9YqAvF4+ZDq9KW9aeR_PcVo-Q@mail.gmail.com>
Andrew Wong <andrew.kw.w@gmail.com> writes:
Show 12 quoted lines
> On Wed, Feb 26, 2014 at 1:21 PM, Matthieu Moy
> <Matthieu.Moy@grenoble-inp.fr> wrote:
>> But this breaks backward compatibility.
>>
>> I sometimes run "git reset" during a merge to only reset the index and
>> then examine the changes introduced by the merge. With your changes,
>> someone doing so would abort the merge and discard the merge resolution.
>> I very rarely do this, but even rarely, I wouldn't like Git to start
>> droping data silently for me ;-).
>
> I don't think it's actually dropping data though, because your changes just
> come from "git merge". So you can also do the merge again.
But you can't repeat your merge conflicts resolution.
> To examine the changes, you're saying you'd do "git reset && git diff". But
> without doing "git reset", couldn't you do "git diff HEAD" to get the
> diff?
I could. The point is, sometimes I don't.

If you were to design "git reset"'s interface from scratch, your proposal would make sense. But we're talking about a change, and you can't expect that users never use the current behavior. At the very least, there should be a warning telling the user that the behavior changed, and I'm really afraid that the warning goes along the lines of "I've thought you'd prefer me to discard your unsaved changes, please rewrite them if you actually didn't want me to".

Show 6 quoted lines
>> I'm not really convinced that this is such a good change, and if we go
>> this way, there should be a transition to let users stop using
>> argumentless "git reset" to reset the index during a merge.
>
> Yeah, this breaks compatibility, but like I said, during a merge, I don't
> see a good reason to do "git reset --mixed",

The point with backward compatibility is not to know whether users have a good reason to, but whether you can guarantee that no one ever does it.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Previous: Andrew WongNext: Andrew Wong
Message 19 of 33 in “[RFC 0/3] Make git more user-friendly during a merge conflict”
  1. Andrew WongFeb 26, 2014
  2. 1/3 wt-status: Make conflict hint message more consistent with other hintsAndrew Wong, Feb 26, 2014
  3. Jonathan NiederFeb 26, 2014
  4. Junio C HamanoFeb 26, 2014
  5. Andrew WongFeb 26, 2014
  6. 2/3 merge: Add hints to tell users about "git merge --abort"Andrew Wong, Feb 26, 2014
  7. Jonathan NiederFeb 26, 2014
  8. Andrew WongFeb 26, 2014
  9. Andrew WongMar 5, 2014
  10. Junio C HamanoMar 5, 2014
  11. Andrew WongMar 5, 2014
  12. Junio C HamanoMar 5, 2014
  13. Matthieu MoyMar 5, 2014
  14. 3/3 reset: Change the default behavior to use "--merge" during a mergeAndrew Wong, Feb 26, 2014
  15. Matthieu MoyFeb 26, 2014
  16. Andrew WongFeb 26, 2014
  17. Jonathan NiederFeb 26, 2014
  18. Andrew WongFeb 26, 2014
  19. Matthieu MoyFeb 26, 2014
  20. Andrew WongFeb 27, 2014
  21. Junio C HamanoFeb 26, 2014
  22. Andrew WongMar 11, 2014
  23. Jonathan NiederFeb 26, 2014
  24. Stephen LeakeFeb 28, 2014
  25. Charles BaileyFeb 28, 2014
  26. David KastrupFeb 28, 2014
  27. Stephen LeakeFeb 28, 2014
  28. David KastrupFeb 28, 2014
  29. Stephen LeakeFeb 28, 2014
  30. David KastrupFeb 28, 2014
  31. Stephen LeakeMar 1, 2014
  32. Matthieu MoyMar 1, 2014
  33. Stephen LeakeMar 1, 2014

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.