{"thread":{"id":"40062","subject":"[PATCH bc/connect-plink] t5601-clone: remove broken and pointless check for plink.exe","startedAt":"2015-08-11T20:51:50Z","lastAt":"2015-08-13T18:07:13Z","messageCount":12,"participants":["Johannes Sixt","Eric Sunshine","Junio C Hamano","Johannes Schindelin","Erik Faye-Lund"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"267861","messageId":"55CA6066.5070500@kdbg.org","threadId":"40062","inReplyTo":null,"subject":"[PATCH bc/connect-plink] t5601-clone: remove broken and pointless check for plink.exe","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2015-08-11T20:51:50Z","receivedAt":"2015-08-11T20:51:50Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Invoking plink requires special treatment, and we have support and even\ntest cases for the commands 'plink' and 'tortoiseplink'. We also support\n.exe variants for these two and there is a test for 'plink.exe'.\n\nOn Windows, however, where support for plink.exe would be relevant, the\ntest case fails because it is not possible to execute a file with a .exe\nextension that is actually not a binary executable---it is a shell\nscript in our test. We have to disable the test case on Windows.\n\nConsidering, that 'plink.exe' is irrelevant on non-Windows, let's just\nremove the test and assume that the code \"just works\".\n\nSigned-off-by: Johannes Sixt <j6t@kdbg.org>\n---\n t/t5601-clone.sh | 6 ------\n 1 file changed, 6 deletions(-)\n\ndiff --git a/t/t5601-clone.sh b/t/t5601-clone.sh\nindex 9b34f3c..df69bf6 100755\n--- a/t/t5601-clone.sh\n+++ b/t/t5601-clone.sh\n@@ -353,12 +353,6 @@ test_expect_success 'plink is treated specially (as putty)' '\n \texpect_ssh \"-P 123\" myhost src\n '\n \n-test_expect_success 'plink.exe is treated specially (as putty)' '\n-\tcopy_ssh_wrapper_as \"$TRASH_DIRECTORY/plink.exe\" &&\n-\tgit clone \"[myhost:123]:src\" ssh-bracket-clone-plink-1 &&\n-\texpect_ssh \"-P 123\" myhost src\n-'\n-\n test_expect_success 'tortoiseplink is like putty, with extra arguments' '\n \tcopy_ssh_wrapper_as \"$TRASH_DIRECTORY/tortoiseplink\" &&\n \tgit clone \"[myhost:123]:src\" ssh-bracket-clone-plink-2 &&\n-- \n2.3.2.245.gb5bf9d3\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"Git for Windows\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"267877","messageId":"CAPig+cS2CPFPBK+4W56dRVUas8UDpV1FZfMmOqxm6mprW+O_mw@mail.gmail.com","threadId":"40062","inReplyTo":"55CA6066.5070500@kdbg.org","subject":"Re: [PATCH bc/connect-plink] t5601-clone: remove broken and pointless check for plink.exe","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2015-08-11T22:50:23Z","receivedAt":"2015-08-11T22:50:23Z","isPatch":true,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Tue, Aug 11, 2015 at 4:51 PM, Johannes Sixt <j6t@kdbg.org> wrote:\n> Invoking plink requires special treatment, and we have support and even\n> test cases for the commands 'plink' and 'tortoiseplink'. We also support\n> .exe variants for these two and there is a test for 'plink.exe'.\n>\n> On Windows, however, where support for plink.exe would be relevant, the\n> test case fails because it is not possible to execute a file with a .exe\n> extension that is actually not a binary executable---it is a shell\n> script in our test. We have to disable the test case on Windows.\n>\n> Considering, that 'plink.exe' is irrelevant on non-Windows, let's just\n> remove the test and assume that the code \"just works\".\n\nputty and plink are used on Unix as well. A quick check of Mac OS X,\nLinux, and FreeBSD reveals that package managers on each platform have\nputty and plink packages available.\n\n> Signed-off-by: Johannes Sixt <j6t@kdbg.org>\n> ---\n>  t/t5601-clone.sh | 6 ------\n>  1 file changed, 6 deletions(-)\n>\n> diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh\n> index 9b34f3c..df69bf6 100755\n> --- a/t/t5601-clone.sh\n> +++ b/t/t5601-clone.sh\n> @@ -353,12 +353,6 @@ test_expect_success 'plink is treated specially (as putty)' '\n>         expect_ssh \"-P 123\" myhost src\n>  '\n>\n> -test_expect_success 'plink.exe is treated specially (as putty)' '\n> -       copy_ssh_wrapper_as \"$TRASH_DIRECTORY/plink.exe\" &&\n> -       git clone \"[myhost:123]:src\" ssh-bracket-clone-plink-1 &&\n> -       expect_ssh \"-P 123\" myhost src\n> -'\n> -\n>  test_expect_success 'tortoiseplink is like putty, with extra arguments' '\n>         copy_ssh_wrapper_as \"$TRASH_DIRECTORY/tortoiseplink\" &&\n>         git clone \"[myhost:123]:src\" ssh-bracket-clone-plink-2 &&\n> --\n> 2.3.2.245.gb5bf9d3\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"Git for Windows\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"267878","messageId":"xmqq7fp1o2s4.fsf@gitster.dls.corp.google.com","threadId":"40062","inReplyTo":"CAPig+cS2CPFPBK+4W56dRVUas8UDpV1FZfMmOqxm6mprW+O_mw@mail.gmail.com","subject":"Re: [PATCH bc/connect-plink] t5601-clone: remove broken and pointless check for plink.exe","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2015-08-11T22:53:31Z","receivedAt":"2015-08-11T22:53:31Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eric Sunshine <sunshine@sunshineco.com> writes:\n\n> On Tue, Aug 11, 2015 at 4:51 PM, Johannes Sixt <j6t@kdbg.org> wrote:\n>> Invoking plink requires special treatment, and we have support and even\n>> test cases for the commands 'plink' and 'tortoiseplink'. We also support\n>> .exe variants for these two and there is a test for 'plink.exe'.\n>>\n>> On Windows, however, where support for plink.exe would be relevant, the\n>> test case fails because it is not possible to execute a file with a .exe\n>> extension that is actually not a binary executable---it is a shell\n>> script in our test. We have to disable the test case on Windows.\n>>\n>> Considering, that 'plink.exe' is irrelevant on non-Windows, let's just\n>> remove the test and assume that the code \"just works\".\n>\n> putty and plink are used on Unix as well. A quick check of Mac OS X,\n> Linux, and FreeBSD reveals that package managers on each platform have\n> putty and plink packages available.\n\n... so we should do the same !MINGW prereq instead?\n\n>\n>> Signed-off-by: Johannes Sixt <j6t@kdbg.org>\n>> ---\n>>  t/t5601-clone.sh | 6 ------\n>>  1 file changed, 6 deletions(-)\n>>\n>> diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh\n>> index 9b34f3c..df69bf6 100755\n>> --- a/t/t5601-clone.sh\n>> +++ b/t/t5601-clone.sh\n>> @@ -353,12 +353,6 @@ test_expect_success 'plink is treated specially (as putty)' '\n>>         expect_ssh \"-P 123\" myhost src\n>>  '\n>>\n>> -test_expect_success 'plink.exe is treated specially (as putty)' '\n>> -       copy_ssh_wrapper_as \"$TRASH_DIRECTORY/plink.exe\" &&\n>> -       git clone \"[myhost:123]:src\" ssh-bracket-clone-plink-1 &&\n>> -       expect_ssh \"-P 123\" myhost src\n>> -'\n>> -\n>>  test_expect_success 'tortoiseplink is like putty, with extra arguments' '\n>>         copy_ssh_wrapper_as \"$TRASH_DIRECTORY/tortoiseplink\" &&\n>>         git clone \"[myhost:123]:src\" ssh-bracket-clone-plink-2 &&\n>> --\n>> 2.3.2.245.gb5bf9d3\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"Git for Windows\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"267881","messageId":"xmqq37zpo2nr.fsf@gitster.dls.corp.google.com","threadId":"40062","inReplyTo":"CAPig+cS2CPFPBK+4W56dRVUas8UDpV1FZfMmOqxm6mprW+O_mw@mail.gmail.com","subject":"Re: [msysGit] [PATCH bc/connect-plink] t5601-clone: remove broken and pointless check for plink.exe","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2015-08-11T22:56:08Z","receivedAt":"2015-08-11T22:56:08Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eric Sunshine <sunshine@sunshineco.com> writes:\n\n> On Tue, Aug 11, 2015 at 4:51 PM, Johannes Sixt <j6t@kdbg.org> wrote:\n>> Invoking plink requires special treatment, and we have support and even\n>> test cases for the commands 'plink' and 'tortoiseplink'. We also support\n>> .exe variants for these two and there is a test for 'plink.exe'.\n>>\n>> On Windows, however, where support for plink.exe would be relevant, the\n>> test case fails because it is not possible to execute a file with a .exe\n>> extension that is actually not a binary executable---it is a shell\n>> script in our test. We have to disable the test case on Windows.\n>>\n>> Considering, that 'plink.exe' is irrelevant on non-Windows, let's just\n>> remove the test and assume that the code \"just works\".\n>\n> putty and plink are used on Unix as well. A quick check of Mac OS X,\n> Linux, and FreeBSD reveals that package managers on each platform have\n> putty and plink packages available.\n\nBut they do not force their users to say \"plink.exe\", but instead\nlet them invoke \"plink\", no?\n\nThe test before the one that was removed is about \"plink\" (sans .exe),\nand what was removed is with \".exe\", so I think J6t's patch is OK.\n\nOr am I still missing something?\n\n>\n>> Signed-off-by: Johannes Sixt <j6t@kdbg.org>\n>> ---\n>>  t/t5601-clone.sh | 6 ------\n>>  1 file changed, 6 deletions(-)\n>>\n>> diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh\n>> index 9b34f3c..df69bf6 100755\n>> --- a/t/t5601-clone.sh\n>> +++ b/t/t5601-clone.sh\n>> @@ -353,12 +353,6 @@ test_expect_success 'plink is treated specially (as putty)' '\n>>         expect_ssh \"-P 123\" myhost src\n>>  '\n>>\n>> -test_expect_success 'plink.exe is treated specially (as putty)' '\n>> -       copy_ssh_wrapper_as \"$TRASH_DIRECTORY/plink.exe\" &&\n>> -       git clone \"[myhost:123]:src\" ssh-bracket-clone-plink-1 &&\n>> -       expect_ssh \"-P 123\" myhost src\n>> -'\n>> -\n>>  test_expect_success 'tortoiseplink is like putty, with extra arguments' '\n>>         copy_ssh_wrapper_as \"$TRASH_DIRECTORY/tortoiseplink\" &&\n>>         git clone \"[myhost:123]:src\" ssh-bracket-clone-plink-2 &&\n>> --\n>> 2.3.2.245.gb5bf9d3\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n"},{"id":"267882","messageId":"CAPig+cQd-ocaKV3V+Ky34i_Fw5RDo-HZ0Qm3=2km7o0YRja3BA@mail.gmail.com","threadId":"40062","inReplyTo":"xmqq37zpo2nr.fsf@gitster.dls.corp.google.com","subject":"Re: [PATCH bc/connect-plink] t5601-clone: remove broken and pointless check for plink.exe","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2015-08-11T23:26:22Z","receivedAt":"2015-08-11T23:26:22Z","isPatch":true,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Tue, Aug 11, 2015 at 6:56 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Eric Sunshine <sunshine@sunshineco.com> writes:\n>\n>> On Tue, Aug 11, 2015 at 4:51 PM, Johannes Sixt <j6t@kdbg.org> wrote:\n>>> Invoking plink requires special treatment, and we have support and even\n>>> test cases for the commands 'plink' and 'tortoiseplink'. We also support\n>>> .exe variants for these two and there is a test for 'plink.exe'.\n>>>\n>>> On Windows, however, where support for plink.exe would be relevant, the\n>>> test case fails because it is not possible to execute a file with a .exe\n>>> extension that is actually not a binary executable---it is a shell\n>>> script in our test. We have to disable the test case on Windows.\n>>>\n>>> Considering, that 'plink.exe' is irrelevant on non-Windows, let's just\n>>> remove the test and assume that the code \"just works\".\n>>\n>> putty and plink are used on Unix as well. A quick check of Mac OS X,\n>> Linux, and FreeBSD reveals that package managers on each platform have\n>> putty and plink packages available.\n>\n> But they do not force their users to say \"plink.exe\", but instead\n> let them invoke \"plink\", no?\n>\n> The test before the one that was removed is about \"plink\" (sans .exe),\n> and what was removed is with \".exe\", so I think J6t's patch is OK.\n\nAh, you're correct. I overlooked the extra emphasis j6t's commit\nmessage placed on \".exe\".\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"Git for Windows\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"267896","messageId":"866a41f50ef9b4807da72576a4bca717@www.dscho.org","threadId":"40062","inReplyTo":"55CA6066.5070500@kdbg.org","subject":"Re: [PATCH bc/connect-plink] t5601-clone: remove broken and pointless check for plink.exe","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2015-08-12T11:07:31Z","receivedAt":"2015-08-12T11:07:31Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Johannes,\n\nOn 2015-08-11 22:51, Johannes Sixt wrote:\n> Invoking plink requires special treatment, and we have support and even\n> test cases for the commands 'plink' and 'tortoiseplink'. We also support\n> .exe variants for these two and there is a test for 'plink.exe'.\n> \n> On Windows, however, where support for plink.exe would be relevant, the\n> test case fails because it is not possible to execute a file with a .exe\n> extension that is actually not a binary executable---it is a shell\n> script in our test. We have to disable the test case on Windows.\n\nOh how would I wish you were working on Git for Windows even *just* a bit *with* me. At least I would wish for a more specific description of the development environment, because it sure as hell is not anything anybody can download and install as easily as Git for Windows' SDK.\n\nFWIW Git for Windows has this patch (that I wanted to contribute in due time, what with being busy with all those tickets) to solve the problem mentioned in your patch in a different way:\n\nhttps://github.com/git-for-windows/git/commit/2fff4b54a0d4e5c5e2e4638c9b0739d3c1ff1e45\n\nPlease read this as my vote not to remove the test cases.\n\nThanks,\nJohannes\n"},{"id":"267899","messageId":"CABPQNSZHtAKbe6JwxRoK3LpCabfp6r2_kTmF1qokObt_yKnSDg@mail.gmail.com","threadId":"40062","inReplyTo":"866a41f50ef9b4807da72576a4bca717@www.dscho.org","subject":"Re: [msysGit] Re: [PATCH bc/connect-plink] t5601-clone: remove broken and pointless check for plink.exe","fromName":"Erik Faye-Lund","fromEmail":"kusmabite@gmail.com","sentAt":"2015-08-12T11:58:18Z","receivedAt":"2015-08-12T11:58:18Z","isPatch":true,"sender":{"key":"kusmabite@gmail.com","avatar":"https://avatars.githubusercontent.com/u/47073?v=4"},"body":"On Wed, Aug 12, 2015 at 1:07 PM, Johannes Schindelin\n<johannes.schindelin@gmx.de> wrote:\n> Hi Johannes,\n>\n> On 2015-08-11 22:51, Johannes Sixt wrote:\n>> Invoking plink requires special treatment, and we have support and even\n>> test cases for the commands 'plink' and 'tortoiseplink'. We also support\n>> .exe variants for these two and there is a test for 'plink.exe'.\n>>\n>> On Windows, however, where support for plink.exe would be relevant, the\n>> test case fails because it is not possible to execute a file with a .exe\n>> extension that is actually not a binary executable---it is a shell\n>> script in our test. We have to disable the test case on Windows.\n>\n> Oh how would I wish you were working on Git for Windows even *just* a bit *with* me. At least I would wish for a more specific description of the development environment, because it sure as hell is not anything anybody can download and install as easily as Git for Windows' SDK.\n>\n> FWIW Git for Windows has this patch (that I wanted to contribute in due time, what with being busy with all those tickets) to solve the problem mentioned in your patch in a different way:\n>\n> https://github.com/git-for-windows/git/commit/2fff4b54a0d4e5c5e2e4638c9b0739d3c1ff1e45\n\nYuck. On Windows, it's the extension of a file that dictates what kind\nof file it is (and if it's executable or not), not the contents. If we\nget a shell script written with the \".exe\"-prefix, it's considered as\nan invalid executable by the system. We should consider it the same\nway, otherwise we're on the path to user-experience schizophrenia.\n\nI'm not sure I consider this commit a step in the right direction.\n"},{"id":"267929","messageId":"55CB9110.4060005@kdbg.org","threadId":"40062","inReplyTo":"CABPQNSZHtAKbe6JwxRoK3LpCabfp6r2_kTmF1qokObt_yKnSDg@mail.gmail.com","subject":"Re: [msysGit] Re: [PATCH bc/connect-plink] t5601-clone: remove broken and pointless check for plink.exe","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2015-08-12T18:31:44Z","receivedAt":"2015-08-12T18:31:44Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 12.08.2015 um 13:58 schrieb Erik Faye-Lund:\n> On Wed, Aug 12, 2015 at 1:07 PM, Johannes Schindelin\n> <johannes.schindelin@gmx.de> wrote:\n>> FWIW Git for Windows has this patch (that I wanted to contribute\n>> in  due time, what with being busy with all those tickets) to solve the\n>> problem mentioned in your patch in a different way:\n>>\n>> https://github.com/git-for-windows/git/commit/2fff4b54a0d4e5c5e2e4638c9b0739d3c1ff1e45\n>\n> Yuck. On Windows, it's the extension of a file that dictates what kind\n> of file it is (and if it's executable or not), not the contents. If we\n> get a shell script written with the \".exe\"-prefix, it's considered as\n> an invalid executable by the system. We should consider it the same\n> way, otherwise we're on the path to user-experience schizophrenia.\n>\n> I'm not sure I consider this commit a step in the right direction.\n\nI, too, think that it is a wrong decision to pessimize git for the sake \nof a single test case.\n\n-- Hannes\n"},{"id":"267968","messageId":"43f88e9611755e20715bf9f38795f276@www.dscho.org","threadId":"40062","inReplyTo":"55CB9110.4060005@kdbg.org","subject":"Re: Re: [PATCH bc/connect-plink] t5601-clone: remove broken and pointless check for plink.exe","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2015-08-13T07:30:40Z","receivedAt":"2015-08-13T07:30:40Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Johannes,\n\nOn 2015-08-12 20:31, Johannes Sixt wrote:\n> Am 12.08.2015 um 13:58 schrieb Erik Faye-Lund:\n>> On Wed, Aug 12, 2015 at 1:07 PM, Johannes Schindelin\n>> <johannes.schindelin@gmx.de> wrote:\n>>> FWIW Git for Windows has this patch (that I wanted to contribute\n>>> in  due time, what with being busy with all those tickets) to solve the\n>>> problem mentioned in your patch in a different way:\n>>>\n>>> https://github.com/git-for-windows/git/commit/2fff4b54a0d4e5c5e2e4638c9b0739d3c1ff1e45\n>>\n>> Yuck. On Windows, it's the extension of a file that dictates what kind\n>> of file it is (and if it's executable or not), not the contents. If we\n>> get a shell script written with the \".exe\"-prefix, it's considered as\n>> an invalid executable by the system. We should consider it the same\n>> way, otherwise we're on the path to user-experience schizophrenia.\n>>\n>> I'm not sure I consider this commit a step in the right direction.\n> \n> I, too, think that it is a wrong decision to pessimize git for the\n> sake of a single test case.\n\nOh, you make it sound as if you believe that I had indeed weakened Git *just* for a single test case.\n\nThat is quite a strong assumption, and could not be further from the truth, though, I have to point out. It is important to keep in mind that we (actually, IIRC it was you) taught Git to recognize shell scripts when executing external programs *because Windows does not do that for us*. So yes, we are deviating from the standard Windows way of things, and we do that quite intentionally so.\n\nNow, let's look at the test case for a moment and let's try to understand the technique it uses (that breaks the test case currently). It puts a script in place of an `.exe`, with the intention to execute the script instead of the original executable.\n\nThis technique is an age-old technique on Unix, and it just works. There are a range of valid reasons, from debugging to slightly modifying the function of a particular `.exe` (possibly renaming the original `.exe` and calling it from the script) in the easiest way: by scripting on top of it.\n\nIf we want to allow such a thing -- allowing users to use scripts to modify the behavior of executables -- then we *have* to allow `.exe` suffixes for scripts, because that happens to be the suffix of executables on Windows.\n\nI guess you would have had an easier time to understand my thinking if I had replaced the sentence\n\n    So the assumption that the `.exe` extension implies that the file is *not* a shell script is now wrong.\n\nby\n\n    So this is a strong indicator that it was wrong to assume that `.exe` extensions imply that the file is *not* a shell script.\n\nFurther, I even looked at the performance impact, but that is at least well documented in the commit message.\n\nI also have to point out that the alternative \"solution\" presented by your patch -- to disable the test case -- is no solution at all: the very platform that is most likely to have plink users is Windows. And to *exclude* that platform from running that unit test is questionable at best.\n\nCiao,\nJohannes\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"Git for Windows\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"267973","messageId":"77beda92482eca76cdb0c7ee3743945f@www.dscho.org","threadId":"40062","inReplyTo":"CABPQNSZHtAKbe6JwxRoK3LpCabfp6r2_kTmF1qokObt_yKnSDg@mail.gmail.com","subject":"Re: Re: [PATCH bc/connect-plink] t5601-clone: remove broken and pointless check for plink.exe","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2015-08-13T08:37:05Z","receivedAt":"2015-08-13T08:37:05Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi kusma,\n\nOn 2015-08-12 13:58, Erik Faye-Lund wrote:\n> On Wed, Aug 12, 2015 at 1:07 PM, Johannes Schindelin\n> <johannes.schindelin@gmx.de> wrote:\n>>\n>> On 2015-08-11 22:51, Johannes Sixt wrote:\n>>> Invoking plink requires special treatment, and we have support and even\n>>> test cases for the commands 'plink' and 'tortoiseplink'. We also support\n>>> .exe variants for these two and there is a test for 'plink.exe'.\n>>>\n>>> On Windows, however, where support for plink.exe would be relevant, the\n>>> test case fails because it is not possible to execute a file with a .exe\n>>> extension that is actually not a binary executable---it is a shell\n>>> script in our test. We have to disable the test case on Windows.\n>>\n>> Oh how would I wish you were working on Git for Windows even *just* a bit *with* me. At least I would wish for a more specific description of the development environment, because it sure as hell is not anything anybody can download and install as easily as Git for Windows' SDK.\n>>\n>> FWIW Git for Windows has this patch (that I wanted to contribute in due time, what with being busy with all those tickets) to solve the problem mentioned in your patch in a different way:\n>>\n>> https://github.com/git-for-windows/git/commit/2fff4b54a0d4e5c5e2e4638c9b0739d3c1ff1e45\n> \n> Yuck. On Windows, it's the extension of a file that dictates what kind\n> of file it is (and if it's executable or not), not the contents.\n\nCareful. If you continue along those lines, interactive rebase, `git add -p` and all those wonderful scripts Git has will have to stop working.\n\nBecause those scripts completely disagree with what you just said about Windows if you think about it: *none* of them has an extension.\n\nI know that you do not mean this, of course, but that is the argument you were making... ;-)\n\n> If we get a shell script written with the \".exe\"-prefix, it's considered as\n> an invalid executable by the system.\n\nAnd if we get a shell script without any `.exe` suffix, it is still considered as an invalid executable by the system. And even if we tack on an `.sh` suffix (which is *not* in line with the way Git works), it is *still* considered as an invalid executable by the system.\n\nCiao,\nDscho\n\n-- \n-- \n*** Please reply-to-all at all times ***\n*** (do not pretend to know who is subscribed and who is not) ***\n*** Please avoid top-posting. ***\nThe msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.\n\nYou received this message because you are subscribed to the Google\nGroups \"msysGit\" group.\nTo post to this group, send email to msysgit@googlegroups.com\nTo unsubscribe from this group, send email to\nmsysgit+unsubscribe@googlegroups.com\nFor more options, and view previous threads, visit this group at\nhttp://groups.google.com/group/msysgit?hl=en_US?hl=en\n\n--- \nYou received this message because you are subscribed to the Google Groups \"Git for Windows\" group.\nTo unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com.\nFor more options, visit https://groups.google.com/d/optout.\n"},{"id":"267974","messageId":"CABPQNSaAt1x6gBsHjNZ9CUv1x6qCLn-JD_Jf-3X5_ykTzs-23w@mail.gmail.com","threadId":"40062","inReplyTo":"77beda92482eca76cdb0c7ee3743945f@www.dscho.org","subject":"Re: [msysGit] Re: [PATCH bc/connect-plink] t5601-clone: remove broken and pointless check for plink.exe","fromName":"Erik Faye-Lund","fromEmail":"kusmabite@gmail.com","sentAt":"2015-08-13T08:56:51Z","receivedAt":"2015-08-13T08:56:51Z","isPatch":true,"sender":{"key":"kusmabite@gmail.com","avatar":"https://avatars.githubusercontent.com/u/47073?v=4"},"body":"On Thu, Aug 13, 2015 at 10:37 AM, Johannes Schindelin\n<johannes.schindelin@gmx.de> wrote:\n> Hi kusma,\n>\n> On 2015-08-12 13:58, Erik Faye-Lund wrote:\n>> On Wed, Aug 12, 2015 at 1:07 PM, Johannes Schindelin\n>> <johannes.schindelin@gmx.de> wrote:\n>>>\n>>> On 2015-08-11 22:51, Johannes Sixt wrote:\n>>>> Invoking plink requires special treatment, and we have support and even\n>>>> test cases for the commands 'plink' and 'tortoiseplink'. We also support\n>>>> .exe variants for these two and there is a test for 'plink.exe'.\n>>>>\n>>>> On Windows, however, where support for plink.exe would be relevant, the\n>>>> test case fails because it is not possible to execute a file with a .exe\n>>>> extension that is actually not a binary executable---it is a shell\n>>>> script in our test. We have to disable the test case on Windows.\n>>>\n>>> Oh how would I wish you were working on Git for Windows even *just* a bit *with* me. At least I would wish for a more specific description of the development environment, because it sure as hell is not anything anybody can download and install as easily as Git for Windows' SDK.\n>>>\n>>> FWIW Git for Windows has this patch (that I wanted to contribute in due time, what with being busy with all those tickets) to solve the problem mentioned in your patch in a different way:\n>>>\n>>> https://github.com/git-for-windows/git/commit/2fff4b54a0d4e5c5e2e4638c9b0739d3c1ff1e45\n>>\n>> Yuck. On Windows, it's the extension of a file that dictates what kind\n>> of file it is (and if it's executable or not), not the contents.\n>\n> Careful. If you continue along those lines, interactive rebase, `git add -p` and all those wonderful scripts Git has will have to stop working.\n>\n> Because those scripts completely disagree with what you just said about Windows if you think about it: *none* of them has an extension.\n>\n> I know that you do not mean this, of course, but that is the argument you were making... ;-)\n>\n\nYou should know better than to straw-man like that.\n\nI was not arguing to break any current functionality, but to not move\nfurther away from Windows' semantics.\n\nBut if I would have, there's nothing that would stop us from renaming\nthose scrips to *.sh, and let the filename dictate how to execute\nthem. Or provide batch-files to wrap them.\n\n>> If we get a shell script written with the \".exe\"-prefix, it's considered as\n>> an invalid executable by the system.\n>\n> And if we get a shell script without any `.exe` suffix, it is still considered as an invalid executable by the system.\n\nNope, it's considered an unknown file, not an executable at all.\n\n> And even if we tack on an `.sh` suffix (which is *not* in line with the way Git works), it is *still* considered as an invalid executable by the system.\n\nThat's not necessarily true; the Git for Windows installer\n(optionally, but on by default) registers /bin/sh as a file-handler\nfor .sh files. Windows knows just fine how to execute them, unless the\nuser opts out.\n\nBut again, I was not arguing to patch git to not parse the shebang.\n"},{"id":"268004","messageId":"55CCDCD1.4080109@kdbg.org","threadId":"40062","inReplyTo":"43f88e9611755e20715bf9f38795f276@www.dscho.org","subject":"Re: [msysGit] Re: [PATCH bc/connect-plink] t5601-clone: remove broken and pointless check for plink.exe","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2015-08-13T18:07:13Z","receivedAt":"2015-08-13T18:07:13Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 13.08.2015 um 09:30 schrieb Johannes Schindelin:\n> Hi Johannes,\n>\n> On 2015-08-12 20:31, Johannes Sixt wrote:\n>> Am 12.08.2015 um 13:58 schrieb Erik Faye-Lund:\n>>> On Wed, Aug 12, 2015 at 1:07 PM, Johannes Schindelin\n>>> <johannes.schindelin@gmx.de> wrote:\n>>>> FWIW Git for Windows has this patch (that I wanted to contribute\n>>>> in  due time, what with being busy with all those tickets) to solve the\n>>>> problem mentioned in your patch in a different way:\n>>>>\n>>>> https://github.com/git-for-windows/git/commit/2fff4b54a0d4e5c5e2e4638c9b0739d3c1ff1e45\n>>>\n>>> Yuck. On Windows, it's the extension of a file that dictates what kind\n>>> of file it is (and if it's executable or not), not the contents. If we\n>>> get a shell script written with the \".exe\"-prefix, it's considered as\n>>> an invalid executable by the system. We should consider it the same\n>>> way, otherwise we're on the path to user-experience schizophrenia.\n>>>\n>>> I'm not sure I consider this commit a step in the right direction.\n>>\n>> I, too, think that it is a wrong decision to pessimize git for the\n>> sake of a single test case.\n>\n> Oh, you make it sound as if you believe that I had indeed weakened\n> Git  *just* for a single test case.\n\nWhatever. Since I do not have the time to provide hard numbers that \nprove my claim that your patch removes an optimization (and, \nfurthermore, I do not want to reply to your arguments that I consider \nmostly philosophical rather than pragmatic), I bow out. Until this \nsolution or that one is in upstream, I can help myself.\n\nJunio, please drop my patch. I do not have the nerves to support it.\n\n-- Hannes\n"}]}