Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: > How about this instead? > > -- snipsnap -- > diff --git a/connect.c b/connect.c > index 574f42f..7e7f4d3 100644 > --- a/connect.c > +++ b/connect.c > @@ -603,7 +603,8 @@ struct child_process *git_connect(int fd[2], const char *url > > *arg++ = ssh; > if (port) { > - *arg++ = "-p"; > + const char *opt = getenv("GIT_SSH_PORT_OPTION"); > + *arg++ = opt ? opt : "-p"; > *arg++ = port; > } > *arg++ = host; If you only care only about the ones we currently want to support, I do not htink it makes any difference either way, but if we are shooting for having a minimum-but-reasonable framework to make it easy to support other ones that we haven't seen, it feels very much like an inadequate hack to waste an envirnoment variable for such a narrow special case. With this, what you really mean is "Plink uses -P instead of -p", right? I do not know if "plink" is used widely enough to be special cased, but if so, I think we would better have an explicit support for it. Will we add GIT_SSH_FORBID_X11_FORWARDING_OPTION environment variable and friends, too? The extra environment would not help dealing with an implementation that wants --port=90222 (i.e. not as two separate arguments but a single one), for example. You would need the extra wrapper support for that kind of thing anyway. That extra environment _solution_ will need to make an assuption that any reasonable implementation would have an option string to specify port which may not be "-p" and that is to be followed by a separate argument that is a decimal port number, which probably is reasonable for this particular "port" thing, but as a general design principle I do not think it is a good direction to go. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html