{"thread":{"id":"47686","subject":"git 2.16, Jenkins git client plugin, and \"\"","startedAt":"2018-01-24T23:55:59Z","lastAt":"2018-01-25T00:36:43Z","messageCount":3,"participants":["Mark Waite","Bryan Turner"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"337341","messageId":"CAM2y_jWnpDSA8kE+9z1jKW0dCzjOz053HrD479qc0ZjL13Gabw@mail.gmail.com","threadId":"47686","inReplyTo":null,"subject":"git 2.16, Jenkins git client plugin, and \"\"","fromName":"Mark Waite","fromEmail":"mwaite@cloudbees.com","sentAt":"2018-01-24T23:55:53Z","receivedAt":"2018-01-24T23:55:59Z","isPatch":false,"sender":{"key":"mwaite@cloudbees.com","avatar":"https://gravatar.com/avatar/b528df39aa1f9b3e333408182a59a824b475499d234a44b23b7c04fb4b6e1452?d=mp&s=160"},"body":"It appears that git 2.16.0 and 2.16.1 have introduced a change which\nsurprises the Jenkins git client plugin.\n\nGit 2.16.0 and 2.16.1 on Linux both report \"fatal: ssh variant\n'simple' does not support setting port\" when used in the context of\nthe Jenkins git client plugin.\n\nThe solution we've accepted into the git client plugin source code is\nto set the environment variable \"GIT_SSH_VARIANT=ssh\".  That allows\nthe failing case to pass, and does not seem to harm older versions of\ngit.\n\nThe documentation at https://git-scm.com/docs/git says that\nGIT_SSH_VARIANT \"overrides Git’s autodetection whether\nGIT_SSH/GIT_SSH_COMMAND/core.sshCommand refer to OpenSSH, plink or\ntortoiseplink.\"\n\nI haven't seen the same message from Git 2.16.1 for Windows.\n\nThe Jenkins bug report\n(https://issues.jenkins-ci.org/browse/JENKINS-49111) describes the\nuser experience.\n\nIs the GIT_SSH_VARIANT solution expected to be used by git consumers\nlike the Jenkins git client plugin when passing credential information\nthrough environment variables like SSH_ASKPASS?\n\nI see \"ssh\", \"plink\", and \"tortoiseplink\" as values of GIT_SSH_VARIANT\nused in tests, and \"auto\", \"putty\", and \"simple\" used in the source\ncode in addition to \"ssh\", \"plink\", and \"tortoiseplink\".  What are the\nallowed values for GIT_SSH_VARIANT?\n\nWhat is the recommended value so that the Jenkins git client plugin\ncan remain most compatible with previous behavior?\n\nNo value was assigned previously to GIT_SSH_VARIANT in the Jenkins git\nclient plugin.  I was expecting that git would choose \"ssh\" as the\ndefault value for GIT_SSH_VARIANT, rather than apparently choosing\n\"simple\".\n\nIs this a bug, or is this the new, intentional behavior of git?\n\nThanks,\nMark Waite\n"},{"id":"337345","messageId":"CAGyf7-Hb+w23sbW8rZxmLXBDO-+kBDFwirN3siSNwveYdX4qPg@mail.gmail.com","threadId":"47686","inReplyTo":"CAM2y_jWnpDSA8kE+9z1jKW0dCzjOz053HrD479qc0ZjL13Gabw@mail.gmail.com","subject":"Re: git 2.16, Jenkins git client plugin, and \"\"","fromName":"Bryan Turner","fromEmail":"bturner@atlassian.com","sentAt":"2018-01-25T00:31:45Z","receivedAt":"2018-01-25T00:31:51Z","isPatch":false,"sender":{"key":"bturner@atlassian.com","avatar":"https://gravatar.com/avatar/16bcf3167981c1ef7c804e502642366d888a35b0d0b0a4ca01fdc442aa1acb1e?d=mp&s=160"},"body":"On Wed, Jan 24, 2018 at 3:55 PM, Mark Waite <mwaite@cloudbees.com> wrote:\n> It appears that git 2.16.0 and 2.16.1 have introduced a change which\n> surprises the Jenkins git client plugin.\n>\n> Git 2.16.0 and 2.16.1 on Linux both report \"fatal: ssh variant\n> 'simple' does not support setting port\" when used in the context of\n> the Jenkins git client plugin.\n\nWe noticed a similar issue in Bitbucket Server's tests, related to us\nusing a wrapper script with the GIT_SSH variable. Some further\ndiscussion is available in [1].\n\n>\n> The solution we've accepted into the git client plugin source code is\n> to set the environment variable \"GIT_SSH_VARIANT=ssh\".  That allows\n> the failing case to pass, and does not seem to harm older versions of\n> git.\n>\n> The documentation at https://git-scm.com/docs/git says that\n> GIT_SSH_VARIANT \"overrides Git’s autodetection whether\n> GIT_SSH/GIT_SSH_COMMAND/core.sshCommand refer to OpenSSH, plink or\n> tortoiseplink.\"\n>\n> I haven't seen the same message from Git 2.16.1 for Windows.\n\nOur Windows builds didn't seem to fail for this either, which was interesting.\n\n>\n> The Jenkins bug report\n> (https://issues.jenkins-ci.org/browse/JENKINS-49111) describes the\n> user experience.\n>\n> Is the GIT_SSH_VARIANT solution expected to be used by git consumers\n> like the Jenkins git client plugin when passing credential information\n> through environment variables like SSH_ASKPASS?\n\nThe expectation seems to be that if you use GIT_SSH or\nGIT_SSH_COMMAND, you'll also use GIT_SSH_VARIANT to tell Git what to\nexpect, because it doesn't (shouldn't?) make assumptions, starting in\n2.16, that your custom SSH uses OpenSSH syntax.\n\n>\n> I see \"ssh\", \"plink\", and \"tortoiseplink\" as values of GIT_SSH_VARIANT\n> used in tests, and \"auto\", \"putty\", and \"simple\" used in the source\n> code in addition to \"ssh\", \"plink\", and \"tortoiseplink\".  What are the\n> allowed values for GIT_SSH_VARIANT?\n>\n> What is the recommended value so that the Jenkins git client plugin\n> can remain most compatible with previous behavior?\n\n\"ssh\" is probably the most compatible, because I'm pretty sure prior\nto 2.16 that behavior was the assumed behavior.\n\n>\n> No value was assigned previously to GIT_SSH_VARIANT in the Jenkins git\n> client plugin.  I was expecting that git would choose \"ssh\" as the\n> default value for GIT_SSH_VARIANT, rather than apparently choosing\n> \"simple\".\n>\n> Is this a bug, or is this the new, intentional behavior of git?\n\nIt's intentional. There was some discussion (again, see [1]) about\nwhether the change needed further changes, but it doesn't appear any\nfurther changes were made.\n\n>\n> Thanks,\n> Mark Waite\n\n[1]: https://public-inbox.org/git/CAGyf7-FQp4q2vvH1ponQvmVDTu0hiMSK1JKytQZ4O1i0MCnz7g@mail.gmail.com/\n\nHope this helps!\nBryan\n"},{"id":"337346","messageId":"CAM2y_jUOOJhf6Cy3e5GosB7ZJXRh1b8XBH8H5xCw-d7uXd=9-w@mail.gmail.com","threadId":"47686","inReplyTo":"CAGyf7-Hb+w23sbW8rZxmLXBDO-+kBDFwirN3siSNwveYdX4qPg@mail.gmail.com","subject":"Re: git 2.16, Jenkins git client plugin, and \"\"","fromName":"Mark Waite","fromEmail":"mwaite@cloudbees.com","sentAt":"2018-01-25T00:36:37Z","receivedAt":"2018-01-25T00:36:43Z","isPatch":false,"sender":{"key":"mwaite@cloudbees.com","avatar":"https://gravatar.com/avatar/b528df39aa1f9b3e333408182a59a824b475499d234a44b23b7c04fb4b6e1452?d=mp&s=160"},"body":"On Wed, Jan 24, 2018 at 5:31 PM, Bryan Turner <bturner@atlassian.com> wrote:\n> On Wed, Jan 24, 2018 at 3:55 PM, Mark Waite <mwaite@cloudbees.com> wrote:\n>> It appears that git 2.16.0 and 2.16.1 have introduced a change which\n>> surprises the Jenkins git client plugin.\n>>\n>> Git 2.16.0 and 2.16.1 on Linux both report \"fatal: ssh variant\n>> 'simple' does not support setting port\" when used in the context of\n>> the Jenkins git client plugin.\n>\n> We noticed a similar issue in Bitbucket Server's tests, related to us\n> using a wrapper script with the GIT_SSH variable. Some further\n> discussion is available in [1].\n\nThanks for the confirmation!\n\n>> Is the GIT_SSH_VARIANT solution expected to be used by git consumers\n>> like the Jenkins git client plugin when passing credential information\n>> through environment variables like SSH_ASKPASS?\n>\n> The expectation seems to be that if you use GIT_SSH or\n> GIT_SSH_COMMAND, you'll also use GIT_SSH_VARIANT to tell Git what to\n> expect, because it doesn't (shouldn't?) make assumptions, starting in\n> 2.16, that your custom SSH uses OpenSSH syntax.\n\nThat seems sensible.  There are other areas in the plugin which assume\nOpenSSH syntax, so it is fair to make it explicit in the plugin.\n\nWe'll proceed with GIT_SSH_VARIANT=ssh.\n\n>> Is this a bug, or is this the new, intentional behavior of git?\n>\n> It's intentional. There was some discussion (again, see [1]) about\n> whether the change needed further changes, but it doesn't appear any\n> further changes were made.\n\nThanks very much!\n\n>>\n>> Thanks,\n>> Mark Waite\n>\n> [1]: https://public-inbox.org/git/CAGyf7-FQp4q2vvH1ponQvmVDTu0hiMSK1JKytQZ4O1i0MCnz7g@mail.gmail.com/\n>\n> Hope this helps!\n> Bryan\n\n-- \nMark Waite\n"}]}