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

Subsystems: library code, the rest

2 messages, 2 authors, 2016-10-03 · open the first message on its own page

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

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

From: René Scharfe <hidden>
Date: 2016-10-03 09:46:19

Am 03.10.2016 um 10:30 schrieb Pat Thoyts:
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.
Makes sense for a stand-alone tool.
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>
OK, but perhaps move me from From: to Original-patch-by: as the version 
check is a big enough change in itself.  Or add a separate commit for 
it.  Or at least mention that you added the check in the commit message.

Thanks,
René
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help