Thread (2 messages) flat view 2 messages, 2 authors, 2016-10-03

Re: [PATCH] git-gui: stop using deprecated merge syntax

From: Pat Thoyts <hidden>
Date: 2016-10-03 08:38:55
Subsystem: library code, the rest · Maintainers: Andrew Morton, Linus Torvalds

Possibly related (same subject, not in this thread)

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help