All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denton Liu <liu.denton@gmail.com>
To: Git Mailing List <git@vger.kernel.org>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	David Aguilar <davvid@gmail.com>,
	Jeff Hostetler <git@jeffhostetler.com>,
	Eric Sunshine <sunshine@sunshineco.com>,
	Junio C Hamano <gitster@pobox.com>
Subject: [PATCH v3 0/6] difftool and mergetool improvements
Date: Wed, 24 Apr 2019 15:46:55 -0700	[thread overview]
Message-ID: <cover.1556142510.git.liu.denton@gmail.com> (raw)
In-Reply-To: <cover.1556009181.git.liu.denton@gmail.com>

Thanks for the review, Junio.

I hadn't thought about using the return code for `get_merge_tool` so
thanks for that suggestion. It should be a lot cleaner now.

---

Changes since v2:

* Unsuppress output in t7610
* Make `get_merge_tool` return 1 on guessed so we don't have to deal
  with parsing '$guessed:$merge_tool'

Changes since v1:

* Introduce get_merge_tool_guessed function instead of changing
  get_merge_tool
* Remove unnecessary if-tower in mutual exclusivity logic

Denton Liu (6):
  t7610: unsuppress output
  t7610: add mergetool --gui tests
  mergetool: use get_merge_tool function
  mergetool: fallback to tool when guitool unavailable
  difftool: make --gui, --tool and --extcmd mutually exclusive
  difftool: fallback on merge.guitool

 Documentation/git-difftool.txt       |   4 +-
 Documentation/git-mergetool--lib.txt |   4 +-
 Documentation/git-mergetool.txt      |   4 +-
 builtin/difftool.c                   |  13 +--
 git-difftool--helper.sh              |   2 +-
 git-mergetool--lib.sh                |  32 ++++--
 git-mergetool.sh                     |  12 +-
 t/t7610-mergetool.sh                 | 163 +++++++++++++++++----------
 t/t7800-difftool.sh                  |  24 ++++
 9 files changed, 167 insertions(+), 91 deletions(-)

Range-diff against v2:
-:  ---------- > 1:  9f9922cab3 t7610: unsuppress output
1:  c436765684 ! 2:  0f632ca6bf t7610: add mergetool --gui tests
    @@ -23,14 +23,14 @@
     +	test_when_finished "git reset --hard" &&
     +	git checkout -b test$test_count branch1 &&
     +	git submodule update -N &&
    -+	test_must_fail git merge master >/dev/null 2>&1 &&
    -+	( yes "" | git mergetool --gui both >/dev/null 2>&1 ) &&
    ++	test_must_fail git merge master &&
    ++	( yes "" | git mergetool --gui both ) &&
     +	( yes "" | git mergetool -g file1 file1 ) &&
    -+	( yes "" | git mergetool --gui file2 "spaced name" >/dev/null 2>&1 ) &&
    -+	( yes "" | git mergetool --gui subdir/file3 >/dev/null 2>&1 ) &&
    -+	( yes "d" | git mergetool --gui file11 >/dev/null 2>&1 ) &&
    -+	( yes "d" | git mergetool --gui file12 >/dev/null 2>&1 ) &&
    -+	( yes "l" | git mergetool --gui submod >/dev/null 2>&1 ) &&
    ++	( yes "" | git mergetool --gui file2 "spaced name" ) &&
    ++	( yes "" | git mergetool --gui subdir/file3 ) &&
    ++	( yes "d" | git mergetool --gui file11 ) &&
    ++	( yes "d" | git mergetool --gui file12 ) &&
    ++	( yes "l" | git mergetool --gui submod ) &&
     +	test "$(cat file1)" = "gui master updated" &&
     +	test "$(cat file2)" = "gui master new" &&
     +	test "$(cat subdir/file3)" = "gui master new sub" &&
2:  9f8e76a421 < -:  ---------- mergetool: use get_merge_tool_guessed function
-:  ---------- > 3:  ff83d25ff2 mergetool: use get_merge_tool function
3:  4847e64e46 ! 4:  e975fe4a8b mergetool: fallback to tool when guitool unavailable
    @@ -81,18 +81,18 @@
      	git commit -m "branch1 resolved with mergetool"
      '
      
    -+test_expect_success 'gui mergetool without merge.guitool set fallsback to merge.tool' '
    ++test_expect_success 'gui mergetool without merge.guitool set falls back to merge.tool' '
     +	test_when_finished "git reset --hard" &&
     +	git checkout -b test$test_count branch1 &&
     +	git submodule update -N &&
    -+	test_must_fail git merge master >/dev/null 2>&1 &&
    -+	( yes "" | git mergetool --gui both >/dev/null 2>&1 ) &&
    ++	test_must_fail git merge master &&
    ++	( yes "" | git mergetool --gui both ) &&
     +	( yes "" | git mergetool -g file1 file1 ) &&
    -+	( yes "" | git mergetool --gui file2 "spaced name" >/dev/null 2>&1 ) &&
    -+	( yes "" | git mergetool --gui subdir/file3 >/dev/null 2>&1 ) &&
    -+	( yes "d" | git mergetool --gui file11 >/dev/null 2>&1 ) &&
    -+	( yes "d" | git mergetool --gui file12 >/dev/null 2>&1 ) &&
    -+	( yes "l" | git mergetool --gui submod >/dev/null 2>&1 ) &&
    ++	( yes "" | git mergetool --gui file2 "spaced name" ) &&
    ++	( yes "" | git mergetool --gui subdir/file3 ) &&
    ++	( yes "d" | git mergetool --gui file11 ) &&
    ++	( yes "d" | git mergetool --gui file12 ) &&
    ++	( yes "l" | git mergetool --gui submod ) &&
     +	test "$(cat file1)" = "master updated" &&
     +	test "$(cat file2)" = "master new" &&
     +	test "$(cat subdir/file3)" = "master new sub" &&
4:  bc8cadaf55 = 5:  bc3e229171 difftool: make --gui, --tool and --extcmd mutually exclusive
5:  e5e4dc3dd2 = 6:  f39b15efbd difftool: fallback on merge.guitool
-- 
2.21.0.1000.g7817e26e80


  parent reply	other threads:[~2019-04-24 22:47 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-22  5:07 [PATCH 0/5] difftool and mergetool improvements Denton Liu
2019-04-22  5:07 ` [PATCH 1/5] t7610: add mergetool --gui tests Denton Liu
2019-04-22  5:07 ` [PATCH 2/5] mergetool: use get_merge_tool function Denton Liu
2019-04-22  7:07   ` Eric Sunshine
2019-04-22  8:35     ` Denton Liu
2019-04-22  5:07 ` [PATCH 3/5] mergetool: fallback to tool when guitool unavailable Denton Liu
2019-04-22  5:07 ` [PATCH 4/5] difftool: make --gui, --tool and --extcmd exclusive Denton Liu
2019-04-22  7:03   ` Eric Sunshine
2019-04-22  5:07 ` [PATCH 5/5] difftool: fallback on merge.guitool Denton Liu
2019-04-22 18:18   ` Jeff Hostetler
2019-04-22 18:33     ` Denton Liu
2019-04-23  8:53 ` [PATCH v2 0/5] difftool and mergetool improvements Denton Liu
2019-04-23  8:53   ` [PATCH v2 1/5] t7610: add mergetool --gui tests Denton Liu
2019-04-24  7:07     ` Junio C Hamano
2019-04-23  8:54   ` [PATCH v2 2/5] mergetool: use get_merge_tool_guessed function Denton Liu
2019-04-24  7:27     ` Junio C Hamano
2019-04-23  8:54   ` [PATCH v2 3/5] mergetool: fallback to tool when guitool unavailable Denton Liu
2019-04-23  8:54   ` [PATCH v2 4/5] difftool: make --gui, --tool and --extcmd mutually exclusive Denton Liu
2019-04-23  8:54   ` [PATCH v2 5/5] difftool: fallback on merge.guitool Denton Liu
2019-04-24 22:46   ` Denton Liu [this message]
2019-04-24 22:46     ` [PATCH v3 1/6] t7610: unsuppress output Denton Liu
2019-04-25  2:31       ` Junio C Hamano
2019-04-24 22:46     ` [PATCH v3 2/6] t7610: add mergetool --gui tests Denton Liu
2019-04-24 22:47     ` [PATCH v3 3/6] mergetool: use get_merge_tool function Denton Liu
2019-04-25  2:36       ` Junio C Hamano
2019-04-24 22:47     ` [PATCH v3 4/6] mergetool: fallback to tool when guitool unavailable Denton Liu
2019-04-25  3:02       ` Junio C Hamano
2019-04-25  5:16         ` Denton Liu
2019-04-24 22:47     ` [PATCH v3 5/6] difftool: make --gui, --tool and --extcmd mutually exclusive Denton Liu
2019-04-24 22:47     ` [PATCH v3 6/6] difftool: fallback on merge.guitool Denton Liu
2019-04-25  3:10       ` Junio C Hamano
2019-04-25  9:54     ` [PATCH v4 0/6] difftool and mergetool improvements Denton Liu
2019-04-25  9:54       ` [PATCH v4 1/6] t7610: unsuppress output Denton Liu
2019-04-25  9:54       ` [PATCH v4 2/6] t7610: add mergetool --gui tests Denton Liu
2019-04-25  9:54       ` [PATCH v4 3/6] mergetool: use get_merge_tool function Denton Liu
2019-04-28 23:52         ` David Aguilar
2019-04-25  9:54       ` [PATCH v4 4/6] mergetool: fallback to tool when guitool unavailable Denton Liu
2019-04-28 23:56         ` David Aguilar
2019-04-25  9:54       ` [PATCH v4 5/6] difftool: make --gui, --tool and --extcmd mutually exclusive Denton Liu
2019-04-25  9:54       ` [PATCH v4 6/6] difftool: fallback on merge.guitool Denton Liu
2019-04-29  6:20       ` [PATCH v5 0/7] difftool and mergetool improvements Denton Liu
2019-04-29  6:21         ` [PATCH v5 1/7] t7610: unsuppress output Denton Liu
2019-04-29  6:21         ` [PATCH v5 2/7] t7610: add mergetool --gui tests Denton Liu
2019-04-29  6:21         ` [PATCH v5 3/7] mergetool: use get_merge_tool function Denton Liu
2019-04-29  6:21         ` [PATCH v5 4/7] mergetool--lib: create gui_mode function Denton Liu
2019-04-29  6:21         ` [PATCH v5 5/7] mergetool: fallback to tool when guitool unavailable Denton Liu
2019-04-29  6:21         ` [PATCH v5 6/7] difftool: make --gui, --tool and --extcmd mutually exclusive Denton Liu
2019-04-29  6:21         ` [PATCH v5 7/7] difftool: fallback on merge.guitool Denton Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1556142510.git.liu.denton@gmail.com \
    --to=liu.denton@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=davvid@gmail.com \
    --cc=git@jeffhostetler.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=sunshine@sunshineco.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.