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

Re: [RFC/PATCH] mergetool: use resolved conflicts in all the views

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Dec 19, 2020, 12:08 UTC
Message-ID
<5fdded2523e7e_1de0de208e1@natae.notmuch>
In-Reply-To
<xmqq1rfmqc8g.fsf@gitster.c.googlers.com>
Junio C Hamano wrote:
Show 21 quoted lines
> Seth House <seth@eseth.com> writes:
> 
> > I think where we're not seeing eye-to-eye is that you're focusing on
> > potential "negative" consequences whereas I'm talking about having more
> > information about the merge rather than less.
> >
> > There is very likely no negative consequences for most, if not all,
> > mergetools. I wrote the initial version of diffconflicts ten years ago
> > and I've been using it nearly every day since. I'm fairly confident in
> > the end result. What is a fact is there is undisputedly less information
> > about the merge if we overwrite LOCAL and REMOTE; as I've written,
> > I think the tradeoff is worthwhile for most tools but a per-tool
> > configuration will allow people that feel differently to choose
> > differently.
> 
> Thanks for stressing this point.
> 
> When a user or developer asks for a reasonable feature (e.g.
> configurability to suit personal taste), especially when there is no
> obvious downside for adding it, the burden of proof is on the party
> who refuses to add it
Sorry, but no.

You may be the final word in the git project, but the burden of proof is an essential part of logic, not project-dependent, and that's just not the case.

*Anyone* that makes any claim has the burden of proof.
That is enshrined in the latin maxim:
  Semper necessitas probandi incumbit ei qui agit.
  The necessity of proof always lies with the person who lays charges.

There is a reason why in the US justice system defendants are declared "not guilty", and not "inocent".

I have written extensively about the subject, for example: First principles of logic [1].

If a woman is not wearing a wedding ring, the person that claims she is married has the burden of proof, but also the person that claims she is single. *Both* have the burden of proof. It's only the person that says "we don't know" that doesn't.

Is the feature reasonable? If I claim that it's not reasonable, I have he burden of proof, but if you claim that it is reasonable, so do you.

That's just a fact of logic.
> ---they are the ones who have to adequately explain why adding it is
> actively harmful, not just the proposed addition is not necessary
> [*1*].
No. Both have the burden of proof.

Only the people in the default position (we don't know if the feature is reasonable or not) don't require burden of proof.

> There is no need for any "evidence" of "negative consequence" at all
> to ask for a way to selectively enable or disable a new feature.
Yes there is. Not to ask for a feature, but *demand* a feature.

But such burden has been met, which is why users can turn off mergetool.autoMerge, so they can already selectively disable the new feature.

> A new feature tends to trigger unexpected bugs in unseen corner cases
> more than an older feature, even without any concrete numbers, and
> that is good enough reason to insist an escape hatch that is easy to
> access by users to exist.
That rationale is meeting its burden of proof.
But users do already have an escape hatch: "mergetool.automerge=false".

On the other hand the burden of proof for the claim that some tools might want to disable this flag and not other tools has not been met.

Moreover, ignoring arguments doesn't magically make the burden of proof from your side dissappear.

Is there a conflict in this example?
  echo Hello > BASE
  echo Hello > LOCAL
  echo Hello. > REMOTE
  git merge-file -p LOCAL BASE REMOTE
Cheers.
[1] https://felipec.substack.com/p/first-principles-of-logic
-- 
Felipe Contreras
Previous: Junio C HamanoNext: Junio C Hamano
Message 23 of 70 in “mergetool: use resolved conflicts in all the views”
  1. mergetool: use resolved conflicts in all the viewsFelipe Contreras, Dec 16, 2020
  2. Junio C HamanoDec 16, 2020
  3. Seth HouseDec 16, 2020
  4. Junio C HamanoDec 17, 2020
  5. Felipe ContrerasDec 17, 2020
  6. Johannes SixtDec 17, 2020
  7. Felipe ContrerasDec 17, 2020
  8. Johannes SixtDec 17, 2020
  9. Felipe ContrerasDec 18, 2020
  10. Seth HouseDec 17, 2020
  11. Felipe ContrerasDec 17, 2020
  12. Seth HouseDec 17, 2020
  13. Junio C HamanoDec 17, 2020
  14. Felipe ContrerasDec 18, 2020
  15. Felipe ContrerasDec 18, 2020
  16. Seth HouseDec 18, 2020
  17. Felipe ContrerasDec 18, 2020
  18. Seth HouseDec 18, 2020
  19. Felipe ContrerasDec 18, 2020
  20. Seth HouseDec 19, 2020
  21. Felipe ContrerasDec 19, 2020
  22. Junio C HamanoDec 19, 2020
  23. Felipe ContrerasDec 19, 2020
  24. Junio C HamanoDec 19, 2020
  25. Felipe ContrerasDec 19, 2020
  26. Seth HouseDec 21, 2020
  27. Felipe ContrerasDec 21, 2020
  28. Seth HouseDec 21, 2020
  29. Felipe ContrerasDec 21, 2020
  30. David AguilarDec 21, 2020
  31. Code of conduct violation?Felipe Contreras, Dec 21, 2020
  32. Junio C HamanoDec 22, 2020
  33. Felipe ContrerasDec 22, 2020
  34. Pratyush YadavDec 22, 2020
  35. Felipe ContrerasDec 23, 2020
  36. Junio C HamanoDec 23, 2020
  37. Felipe ContrerasDec 23, 2020
  38. Nobody is THE one making contributionJunio C Hamano, Dec 23, 2020
  39. Felipe ContrerasDec 23, 2020
  40. Junio C HamanoDec 23, 2020
  41. Felipe ContrerasDec 24, 2020
  42. Ævar Arnfjörð BjarmasonDec 24, 2020
  43. Felipe ContrerasDec 24, 2020
  44. Ævar Arnfjörð BjarmasonDec 24, 2020
  45. Felipe ContrerasDec 24, 2020
  46. Junio C HamanoDec 24, 2020
  47. Felipe ContrerasDec 27, 2020
  48. Junio C HamanoDec 27, 2020
  49. Felipe ContrerasDec 27, 2020
  50. Junio C HamanoDec 28, 2020
  51. Felipe ContrerasDec 28, 2020
  52. Randall S. BeckerDec 24, 2020
  53. Felipe ContrerasDec 24, 2020
  54. Junio C HamanoDec 24, 2020
  55. David AguilarDec 24, 2020
  56. Felipe ContrerasDec 24, 2020
  57. Junio C HamanoDec 18, 2020
  58. Felipe ContrerasDec 18, 2020
  59. Junio C HamanoDec 19, 2020
  60. Felipe ContrerasDec 19, 2020
  61. David AguilarDec 20, 2020
  62. Felipe ContrerasDec 20, 2020
  63. David AguilarDec 20, 2020
  64. Felipe ContrerasDec 21, 2020
  65. Seth HouseDec 19, 2020
  66. Felipe ContrerasDec 16, 2020
  67. Junio C HamanoDec 17, 2020
  68. Felipe ContrerasDec 17, 2020
  69. mergetool: use resolved conflicts in all the viewsFelipe Contreras, Dec 17, 2020
  70. Felipe ContrerasDec 21, 2020

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.