Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751429AbeACFlq (ORCPT + 1 other); Wed, 3 Jan 2018 00:41:46 -0500 Received: from mail-ua0-f178.google.com ([209.85.217.178]:34752 "EHLO mail-ua0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751261AbeACFlo (ORCPT ); Wed, 3 Jan 2018 00:41:44 -0500 X-Google-Smtp-Source: ACJfBosuGcJpuM5TXEWvzK/aBRhJ0W6XmsaZ0Rf52uFEjTuc6sjH2XINYx23S3ld6W5tTGgy1ejjrEIyIZ6RmKahxw8= MIME-Version: 1.0 In-Reply-To: <20180103050730.GA87855@aiede.mtv.corp.google.com> References: <20180103050730.GA87855@aiede.mtv.corp.google.com> From: Bryan Turner Date: Tue, 2 Jan 2018 21:41:43 -0800 Message-ID: Subject: Re: [ANNOUNCE] Git v2.16.0-rc0 To: Jonathan Nieder Cc: Junio C Hamano , Brandon Williams , Ben Humphreys , Git Users , Linux Kernel , git-packagers@googlegroups.com Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On Tue, Jan 2, 2018 at 9:07 PM, Jonathan Nieder wrote: > Hi Bryan, > > Bryan Turner wrote: > >> Our test environment is still on Ubuntu 12.04 LTS (it's a long story, >> but one I doubt is unique to us), which means it's using OpenSSH 5.9. >> ssh -G was added in OpenSSH 6.8 [1], circa March 2015, which means the >> "auto" detection "fails" and chooses "simple" instead of "ssh". But >> OpenSSH 5.9 _does_ support -4, -6 and -p. As a result, commands which >> have been working without issue on all previous versions of Git start >> to fail saying >> >> git -c gc.auto=0 -c credential.helper= fetch --force --prune --progress ssh://localhost:64281/repo.git +refs/*:refs/*' exited with code 128 saying: fatal: ssh variant 'simple' does not support setting port > > Hm, that's not expected. git-config(1) says: > > By default, Git determines the command line arguments to use > based on the basename of the configured SSH command > (configured using the environment variable GIT_SSH or > GIT_SSH_COMMAND or the config setting core.sshCommand). If the > basename is unrecognized, Git will attempt to detect support > of OpenSSH options by [...] > > So my first question is why the basename detection is not working for > you. What value of GIT_SSH, GIT_SSH_COMMAND, or core.sshCommand are > you using? So I'd been digging further into this for the last hour because I wasn't seeing quite the behavior I was expecting when I ran Git from the command line on Ubuntu 12.04 or 14.04, and this nudged me to the right answer: We're setting GIT_SSH to a wrapper script. In our case, that wrapper script is just calling OpenSSH's ssh with all the provided arguments (plus a couple extra ones), but because we're setting GIT_SSH at all, that's why the auto variant code is running. That being the case, explicitly setting GIT_SSH_VARIANT=ssh may be the correct thing to do, to tell Git that we want to be treated like "normal" OpenSSH, as opposed to expecting Git to assume we behave like OpenSSH (when the Android repo use case clearly shows that assumption also doesn't hold). Based on that, I'm not sure if you _actually_ need to change anything, and I apologize for not turning up that we were setting GIT_SSH before I bothered you. Thanks immensely for looking into it, Jonathan, and my apologies again for wasting your time! Bryan Turner