From: Junio C Hamano <gitster@pobox.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: git@vger.kernel.org, Segev Finer <segev208@gmail.com>,
Jeff King <peff@peff.net>
Subject: Re: [PATCH v3 4/4] connect: Add the envvar GIT_SSH_VARIANT and ssh.variant config
Date: Wed, 01 Feb 2017 14:43:50 -0800 [thread overview]
Message-ID: <xmqqvastmt09.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <xmqqzii5mthp.fsf@gitster.mtv.corp.google.com> (Junio C. Hamano's message of "Wed, 01 Feb 2017 14:33:22 -0800")
Junio C Hamano <gitster@pobox.com> writes:
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
>> That leaves the "putty" case in handle_ssh_variant(), does it not? Was it
>> not your specific objection that that is the case?
>
> Yup, you can remove that while you reroll.
>
>> No worries, I will let this simmer for a while. Your fixup has a lot of
>> duplicated code (so much for maintainability as an important goal... ;-))
>> and I will have to think about it. My immediate thinking is to *not*
>> duplicate code,...
>
> You need to realize that the namespaces of the configuration and the
> command names are distinct. There is no code duplication.
To explain this a bit, there is no reason why allowed values for
SSH_VARIANT must be "putty" and "tortoiseplink". An alternative
design could be "port_option=-p,needs_batch=yes" and it may be more
logical and futureproof if a variant of tortoiseplink decides to use
"-p" instead of "-P" and still require "-batch".
Prematurely attempting to share code, only because the current
vocabularies for two distinct concepts happen to overlap, is not
de-duplicating the code for maintainability. It is adding
unnecessary work other people need to do in the future when they
want to extend the system.
next prev parent reply other threads:[~2017-02-01 22:43 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-02 12:09 [PATCH] connect: handle putty/plink also in GIT_SSH_COMMAND Johannes Schindelin
2017-01-08 2:33 ` Junio C Hamano
2017-01-09 1:08 ` Junio C Hamano
2017-01-09 7:46 ` Johannes Schindelin
2017-01-09 9:28 ` Junio C Hamano
2017-01-09 11:13 ` Johannes Schindelin
2017-01-09 14:19 ` Junio C Hamano
2017-01-25 12:34 ` Johannes Schindelin
2017-01-25 22:35 ` Junio C Hamano
2017-01-25 22:37 ` Junio C Hamano
2017-01-26 14:45 ` Johannes Schindelin
2017-01-25 22:40 ` Jeff King
2017-01-25 23:25 ` Junio C Hamano
2017-01-26 12:01 ` Johannes Schindelin
2017-01-26 14:51 ` [PATCH v2 0/3] Handle PuTTY (plink/tortoiseplink) even " Johannes Schindelin
[not found] ` <cover.1485442231.git.johannes.schindelin@gmx.de>
2017-01-26 14:51 ` [PATCH v2 1/3] connect: handle putty/plink also " Johannes Schindelin
2017-01-26 14:51 ` [PATCH v2 2/3] connect: rename tortoiseplink and putty variables Johannes Schindelin
2017-01-26 14:52 ` [PATCH v2 3/3] connect: Add the envvar GIT_SSH_VARIANT and ssh.variant config Johannes Schindelin
2017-01-26 19:27 ` Junio C Hamano
2017-01-27 10:35 ` Johannes Schindelin
2017-01-27 18:17 ` Junio C Hamano
2017-02-01 12:01 ` Johannes Schindelin
2017-02-01 16:53 ` Junio C Hamano
2017-02-01 11:57 ` [PATCH v3 0/4] Handle PuTTY (plink/tortoiseplink) even in GIT_SSH_COMMAND Johannes Schindelin
2017-02-01 12:01 ` [PATCH v3 1/4] connect: handle putty/plink also " Johannes Schindelin
2017-02-01 12:01 ` [PATCH v3 2/4] connect: rename tortoiseplink and putty variables Johannes Schindelin
2017-02-01 12:01 ` [PATCH v3 3/4] git_connect(): factor out SSH variant handling Johannes Schindelin
2017-02-01 12:01 ` [PATCH v3 4/4] connect: Add the envvar GIT_SSH_VARIANT and ssh.variant config Johannes Schindelin
2017-02-01 19:19 ` Junio C Hamano
2017-02-01 19:46 ` Junio C Hamano
2017-02-01 22:24 ` Johannes Schindelin
2017-02-01 22:33 ` Junio C Hamano
2017-02-01 22:42 ` Johannes Schindelin
2017-02-01 22:43 ` Junio C Hamano [this message]
2017-02-01 23:07 ` Johannes Schindelin
2017-02-01 20:07 ` [PATCH v3 0/4] Handle PuTTY (plink/tortoiseplink) even in GIT_SSH_COMMAND Junio C Hamano
2017-02-01 22:17 ` Johannes Schindelin
2017-02-01 22:55 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqvastmt09.fsf@gitster.mtv.corp.google.com \
--to=gitster@pobox.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
--cc=segev208@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).