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

Re: [PATCH v9] Support auto-merge for meld to follow the vim-diff behavior

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 8, 2020, 01:51 UTC
Message-ID
<xmqqeepm3hap.fsf@gitster.c.googlers.com>
In-Reply-To
<04e201d654c6$016bfb40$0443f1c0$@zoom.us>
<lin.sun@zoom.us> writes:
Show 7 quoted lines
> if meld_use_auto_merge_option =` git config --bool ...`
> then
> 	# success, maybe "(empty)"/true/false
> 	if test -z "$ meld_use_auto_merge_option"
> 	then
> 		meld_use_auto_merge_option=false
> 	fi

The inner test does not make any sense to me; I doubt that you can get an empty output from a "git config --bool" that succeeds.

     $ cat >config <<\EOF
     [x] a
         b=true
         c=1
         d=false
         e=no
	 f=bogus
     EOF
     $ for i in a b c d e f
       do
         if v=$(git config --file=config --bool x.$i 2>/dev/null)
         then
           echo "succeeds (x.$i) => '$v'"
         else
           echo "fails (x.$i) => '$v'"
         fi
       done
You should see

succeeds (x.a) => 'true' succeeds (x.b) => 'true' succeeds (x.c) => 'true' succeeds (x.d) => 'false' succeeds (x.e) => 'false' fails (x.f) => ''

if you run the above. The most interesting is how all boolean values are normalized to true and false regardless of how they are originally spelled.

Show 7 quoted lines
> else
> 	# failed, the option is not empty or Boolean
> 	if test "auto" = ` git config `
> 	then
> 		# detect the "--auto-merge" option
> 	else
> 		meld_use_auto_merge_option=false

I think review by Đoàn pointed out that we would want to warn/fail loudly in this "else" case, as it is likely a misspelt configuration value?

To recap, I think something along the following lines would be the most readable and acceptably efficient with a short-cut for the common cases.

    var=mergetool.meld.whatever
    val=$(git config $var)
    case "$val" in
    true | false)
	# we can take a short-cut without asking config --bool
        ... use $val ...
	;;
    auto)
	... auto detect ...
	;;
    *)
	if val=$(git config --bool $var 2>/dev/null)
	then
		# succeeded, so val must be a normalized boolean
		... use $val ...
	else
		die cannot parse $var
	fi
    easc
Thanks.
Previous: lin.sun@zoom.usNext: sunlin via GitGitGadget
Message 39 of 74 in “Enable auto-merge for meld to follow the vim-diff beharior”
  1. Enable auto-merge for meld to follow the vim-diff behariorsunlin via GitGitGadget, May 8, 2020
  2. Pratyush YadavJun 8, 2020
  3. Enable auto-merge for meld to follow the vim-diff behariorsunlin via GitGitGadget, Jun 9, 2020
  4. Enable auto-merge for meld to follow the vim-diff behariorsunlin via GitGitGadget, Jun 29, 2020
  5. Fwd: [PATCH v3] Enable auto-merge for meld to follow the vim-diff behariorGit Gadget, Jun 29, 2020
  6. Junio C HamanoJun 30, 2020
  7. David AguilarJun 30, 2020
  8. lin.sun@zoom.usJun 30, 2020
  9. Enable auto-merge for meld to follow the vim-diff behariorlin.sun@zoom.us, Jun 30, 2020
  10. Junio C HamanoJun 30, 2020
  11. Enable auto-merge for meld to follow the vim-diff behariorsunlin via GitGitGadget, Jun 30, 2020
  12. Đoàn Trần Công DanhJun 30, 2020
  13. Đoàn Trần Công DanhJun 30, 2020
  14. Enable auto-merge for meld to follow the vim-diff behariorsunlin via GitGitGadget, Jul 1, 2020
  15. lin.sun@zoom.usJul 1, 2020
  16. David AguilarJul 1, 2020
  17. Đoàn Trần Công DanhJul 1, 2020
  18. lin.sun@zoom.usJul 1, 2020
  19. lin.sun@zoom.usJul 1, 2020
  20. Đoàn Trần Công DanhJul 1, 2020
  21. Junio C HamanoJul 1, 2020
  22. lin.sun@zoom.usJul 2, 2020
  23. Support auto-merge for meld to follow the vim-diff behaviorsunlin via GitGitGadget, Jul 2, 2020
  24. lin.sun@zoom.usJul 2, 2020
  25. Junio C HamanoJul 3, 2020
  26. lin.sun@zoom.usJul 3, 2020
  27. Đoàn Trần Công DanhJul 3, 2020
  28. Junio C HamanoJul 6, 2020
  29. Support auto-merge for meld to follow the vim-diff behaviorsunlin via GitGitGadget, Jul 3, 2020
  30. Junio C HamanoJul 3, 2020
  31. lin.sun@zoom.usJul 4, 2020
  32. lin.sun@zoom.usJul 6, 2020
  33. Support auto-merge for meld to follow the vim-diff behaviorsunlin via GitGitGadget, Jul 4, 2020
  34. Support auto-merge for meld to follow the vim-diff behaviorsunlin via GitGitGadget, Jul 6, 2020
  35. Junio C HamanoJul 6, 2020
  36. lin.sun@zoom.usJul 7, 2020
  37. Junio C HamanoJul 7, 2020
  38. lin.sun@zoom.usJul 8, 2020
  39. Junio C HamanoJul 8, 2020
  40. Support auto-merge for meld to follow the vim-diff behaviorsunlin via GitGitGadget, Jul 7, 2020
  41. Junio C HamanoJul 7, 2020
  42. lin.sun@zoom.usJul 7, 2020
  43. lin.sun@zoom.usJul 7, 2020
  44. Support auto-merge for meld to follow the vim-diff behaviorsunlin via GitGitGadget, Jul 7, 2020
  45. Đoàn Trần Công DanhJul 7, 2020
  46. lin.sun@zoom.usJul 8, 2020
  47. Support auto-merge for meld to follow the vim-diff behaviorsunlin via GitGitGadget, Jul 8, 2020
  48. lin.sun@zoom.usJul 8, 2020
  49. Đoàn Trần Công DanhJul 8, 2020
  50. lin.sun@zoom.usJul 8, 2020
  51. Support auto-merge for meld to follow the vim-diff behaviorsunlin via GitGitGadget, Jul 9, 2020
  52. Support auto-merge for meld to follow the vim-diff behaviorlin.sun@zoom.us, Jul 9, 2020
  53. Junio C HamanoJul 9, 2020
  54. Junio C HamanoJul 9, 2020
  55. lin.sun@zoom.usJul 9, 2020
  56. Junio C HamanoJul 9, 2020
  57. Junio C HamanoJul 9, 2020
  58. lin.sun@zoom.usJul 12, 2020
  59. lin.sun@zoom.usJul 12, 2020
  60. Support auto-merge for meld to follow the vim-diff behaviorsunlin via GitGitGadget, Jul 9, 2020
  61. Support auto-merge for meld to follow the vim-diff behaviorsunlin via GitGitGadget, Jul 12, 2020
  62. Support auto-merge for meld to follow the vim-diff behaviorsunlin via GitGitGadget, Jul 12, 2020
  63. Junio C HamanoJul 12, 2020
  64. lin.sun@zoom.usJul 12, 2020
  65. Junio C HamanoJul 13, 2020
  66. lin.sun@zoom.usJul 13, 2020
  67. Support auto-merge for meld to follow the vim-diff behaviorsunlin via GitGitGadget, Jul 12, 2020
  68. Junio C HamanoJul 24, 2020
  69. Junio C HamanoSep 3, 2020
  70. Support auto-merge for meld to follow the vim-diff behaviorsunlin via GitGitGadget, Sep 12, 2020
  71. Junio C HamanoSep 14, 2020
  72. Lin SunSep 15, 2020
  73. Lin SunSep 9, 2020
  74. Junio C HamanoSep 9, 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.