tortoiseplink ssh variant still needed?

3 messages, 2 authors, 2021-10-23 · open the first message on its own page

tortoiseplink ssh variant still needed?

From: Sven Strickroth <hidden>
Date: 2021-10-22 16:19:16

Hi,

Git differentiates between different variants of SSH tools.

One variant is the tortoiseplink variant. When this is configured Git 
passes passes a special "--batch" parameter and passes the port using 
"-P" (capitalized P) t the SSH tool.

IIRC tortoiseplink was initially created by TortoiseCVS which is 
nowadays not maintained any more 
(<http://www.tortoisecvs.org/download.shtml>).
In TortoiseSVN and TortoiseGit tortoiseplink was modified six years ago 
(around 2015-03-07) to ignore the "--batch" parameter and also accept 
"-p" additionally to "-P"  (cf. 
<https://osdn.net/projects/tortoisesvn/scm/svn/commits/26348>).

Therefore, my first question: Does Git still want to support very old 
versions of tortoiseplink or should I provide a patch which drops 
support for it?

Second question:
TortoiseGit comes with an even more improved version of TortoisePLink 
(named TortoiseGitPLink, but also ships the same binary as 
tortoiseplink) that also accepts "-o SetEnv=..." parameters in order to 
support the Git protocol version 2. At the moment TortoiseGit 
automatically sets the environment variable "GIT_SSH_VARIANT=ssh". This 
works, but is not perfect if other parameter of OpenSSH are used. Would 
it make sense to add a new ssh variant tortoisegitplink? If yes, how to 
handle new versions that might also support even more OpenSSH command 
line parameters?

-- 
Best regards,
  Sven Strickroth
  PGP key id F5A9D4C4 @ any key-server

[PATCH] Drop unneeded special handling of ssh variant tortoiseplink

From: Sven Strickroth <hidden>
Date: 2021-10-22 16:50:35

"-p" is supported and "--batch" is ignored in TortoisePLink from
TortoiseSVN and TortoiseGit since at least March 2015 (and TortoiseCVS
is not maintained any more). Therefore, there is no need any more to
keep these parameters for ancient versions of tortoiseplink.

Signed-off-by: Sven Strickroth <redacted>
---
 Documentation/config/ssh.txt | 2 +-
 connect.c                    | 5 +----
 t/t5601-clone.sh             | 4 ++--
 3 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/Documentation/config/ssh.txt b/Documentation/config/ssh.txt
index 2ca4bf93e1..3902c8371d 100644
--- a/Documentation/config/ssh.txt
+++ b/Documentation/config/ssh.txt
@@ -27,7 +27,7 @@ follows:
 
 * `plink` or `putty` - [-P port] [-4] [-6] [username@]host command
 
-* `tortoiseplink` - [-P port] [-4] [-6] -batch [username@]host command
+* `tortoiseplink` - [-p port] [-4] [-6] [username@]host command
 
 --
 +
diff --git a/connect.c b/connect.c
index eaf7d6d261..2628c2fc17 100644
--- a/connect.c
+++ b/connect.c
@@ -1269,9 +1269,6 @@ static void push_ssh_options(struct strvec *args, struct strvec *env,
 		}
 	}
 
-	if (variant == VARIANT_TORTOISEPLINK)
-		strvec_push(args, "-batch");
-
 	if (port) {
 		switch (variant) {
 		case VARIANT_AUTO:
@@ -1279,11 +1276,11 @@ static void push_ssh_options(struct strvec *args, struct strvec *env,
 		case VARIANT_SIMPLE:
 			die(_("ssh variant 'simple' does not support setting port"));
 		case VARIANT_SSH:
+		case VARIANT_TORTOISEPLINK:
 			strvec_push(args, "-p");
 			break;
 		case VARIANT_PLINK:
 		case VARIANT_PUTTY:
-		case VARIANT_TORTOISEPLINK:
 			strvec_push(args, "-P");
 		}
 
diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh
index 83c24fc97a..41e1670328 100755
--- a/t/t5601-clone.sh
+++ b/t/t5601-clone.sh
@@ -430,7 +430,7 @@ test_expect_success 'plink.exe is treated specially (as putty)' '
 test_expect_success 'tortoiseplink is like putty, with extra arguments' '
 	copy_ssh_wrapper_as "$TRASH_DIRECTORY/tortoiseplink" &&
 	git clone "[myhost:123]:src" ssh-bracket-clone-plink-2 &&
-	expect_ssh "-batch -P 123" myhost src
+	expect_ssh "-p 123" myhost src
 '
 
 test_expect_success 'double quoted plink.exe in GIT_SSH_COMMAND' '
@@ -472,7 +472,7 @@ test_expect_success 'GIT_SSH_VARIANT overrides plink to tortoiseplink' '
 	copy_ssh_wrapper_as "$TRASH_DIRECTORY/plink" &&
 	GIT_SSH_VARIANT=tortoiseplink \
 	git clone "[myhost:123]:src" ssh-bracket-clone-variant-4 &&
-	expect_ssh "-batch -P 123" myhost src
+	expect_ssh "-p 123" myhost src
 '
 
 test_expect_success 'clean failure on broken quoting' '
-- 
2.33.1.windows.1

Re: [PATCH] Drop unneeded special handling of ssh variant tortoiseplink

From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2021-10-23 10:01:34

On Fri, Oct 22 2021, Sven Strickroth wrote:
"-p" is supported and "--batch" is ignored in TortoisePLink from
TortoiseSVN and TortoiseGit since at least March 2015 (and TortoiseCVS
is not maintained any more). Therefore, there is no need any more to
keep these parameters for ancient versions of tortoiseplink.
In reply to your other mail:
Therefore, my first question: Does Git still want to support very old
versions of tortoiseplink or should I provide a patch which drops 
support for it?
The answer is it depends, in some cases we support >10 year old software
because it's in wide use, so some sort of vague estimate of how much
this is likely to impact users would be helpful, i.e. are users who are
using a modern git likely to have a modern version of the software as
well, or do they mix & match?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help