Re: [PATCH] git-gui: stop using deprecated merge syntax
From: Pat Thoyts <hidden>
Date: 2016-10-03 08:38:55
Stefan Beller [off-list ref] writes:
On Sun, Sep 25, 2016 at 11:39 AM, Junio C Hamano [off-list ref] wrote:quoted
Johannes Sixt [off-list ref] writes:quoted
Am 24.09.2016 um 13:30 schrieb René Scharfe:quoted
Starting with v2.5.0 git merge can handle FETCH_HEAD internally and warns when it's called like 'git merge <message> HEAD <commit>' because that syntax is deprecated. Use this feature in git-gui and get rid of that warning. Signed-off-by: Rene Scharfe <redacted> --- Tested only _very_ lightly! git-gui/lib/merge.tcl | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)diff --git a/git-gui/lib/merge.tcl b/git-gui/lib/merge.tcl index 460d32f..5ab6f8f 100644 --- a/git-gui/lib/merge.tcl +++ b/git-gui/lib/merge.tcl@@ -112,12 +112,7 @@ method _start {} { close $fh set _last_merged_branch $branch - set cmd [list git] - lappend cmd merge - lappend cmd --strategy=recursive - lappend cmd [git fmt-merge-msg <[gitdir FETCH_HEAD]] - lappend cmd HEAD - lappend cmd $name + set cmd [list git merge --strategy=recursive FETCH_HEAD] ui_status [mc "Merging %s and %s..." $current_branch $stitle] set cons [console::new [mc "Merge"] "merge $stitle"]Much better than my version. I had left fmt-merge-msg and added --no-log to treat merge.log config suitably. But this works too, and is much more obvious. Tested-by: Johannes Sixt <redacted>Reviewed-by: Stefan Beller <redacted>
The only problem I see here is that generally git-gui tries to continue to work with older versions of git as well. So adding a guard using the git-version procedure should maintain that backwards compatibility. I suggest: From c2716458f05893ca88c05ce211a295a330e74590 Mon Sep 17 00:00:00 2001 From: René Scharfe <redacted> Date: Sat, 24 Sep 2016 13:30:22 +0200 Subject: [PATCH] git-gui: stop using deprecated merge syntax Starting with v2.5.0 git merge can handle FETCH_HEAD internally and warns when it's called like 'git merge <message> HEAD <commit>' because that syntax is deprecated. Use this feature in git-gui and get rid of that warning. Tested-by: Johannes Sixt <redacted> Reviewed-by: Stefan Beller <redacted> Signed-off-by: Rene Scharfe <redacted> Signed-off-by: Pat Thoyts <redacted> --- lib/merge.tcl | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/lib/merge.tcl b/lib/merge.tcl
index 460d32f..2361b78 100644
--- a/lib/merge.tcl
+++ b/lib/merge.tcl@@ -112,13 +112,16 @@ method _start {} { close $fh set _last_merged_branch $branch - set cmd [list git] - lappend cmd merge - lappend cmd --strategy=recursive - lappend cmd [git fmt-merge-msg <[gitdir FETCH_HEAD]] - lappend cmd HEAD - lappend cmd $name - + if {[git-version >= "2.5.0"]} { + set cmd [list git merge --strategy=recursive FETCH_HEAD] + } else { + set cmd [list git] + lappend cmd merge + lappend cmd --strategy=recursive + lappend cmd [git fmt-merge-msg <[gitdir FETCH_HEAD]] + lappend cmd HEAD + lappend cmd $name + } ui_status [mc "Merging %s and %s..." $current_branch $stitle] set cons [console::new [mc "Merge"] "merge $stitle"] console::exec $cons $cmd [cb _finish $cons]
--
2.10.0.windows.1