From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HTML_MESSAGE,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 29994 invoked from network); 31 Jul 2021 17:47:00 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 31 Jul 2021 17:47:00 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id BBF629C9F2; Sun, 1 Aug 2021 03:46:58 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 7942C9C9B2; Sun, 1 Aug 2021 03:46:42 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ccil-org.20150623.gappssmtp.com header.i=@ccil-org.20150623.gappssmtp.com header.b="wGH5UeoR"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id A53139C9B2; Sun, 1 Aug 2021 03:46:40 +1000 (AEST) Received: from mail-qt1-f174.google.com (mail-qt1-f174.google.com [209.85.160.174]) by minnie.tuhs.org (Postfix) with ESMTPS id 28D7C9C9AF for ; Sun, 1 Aug 2021 03:46:40 +1000 (AEST) Received: by mail-qt1-f174.google.com with SMTP id b1so8892761qtx.0 for ; Sat, 31 Jul 2021 10:46:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ccil-org.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WzFfmSpm4HfH1TpRsfQHlo9hyAukJYBW4xBIbH7NMks=; b=wGH5UeoR5modzELgt9jQLOs7jfFNpodbSSsTqJtQ2HDevlvSGvxN5uYSewcBx2V5OO HASlpmj+CizX46pGJ7rCcwhkhphln1K4kT2rYtZedOhbDxdi+jT0c/HxlemHX9DexfnU EOiAVRN9pgomKGEglRQHfM/NIcIHgj4+ZZq136IWQWkATtYoDCdxYwnEpHhqJi+5e+hE G3kh+bP2/zK9U+DvssSWpdB9REDtUiOBRIGnk+xv8X+M4mqp3B0cXJkwYunyajOKjz4f IFeF/LGVUyX6XOaQ6rweN2dR1qDboBrJQG9oMd0ta10Rb3YEeZwzkjN2Jibe8qLlXS9t Ct+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WzFfmSpm4HfH1TpRsfQHlo9hyAukJYBW4xBIbH7NMks=; b=rrV2+ZIIsFHSCbLlIvAr9ITHY03Na3C6+tAyzvAbxElDF6RL3VmkpHMOH8VkaEdsla icjyvY+3W3E/GuKFf+F9cb+EpFs2rrdZ8TNJIvY7fbyXelYX68lL0jjNwlaJT/9OIrMD mbd17MR1oOQdT82EdzJW6vVP46cZKBmRCVGSYYYPZvymAadYNeuNJOrCOBcgBnjCYT9a 3ibVb4MJA+q9KlaLXUat8zxg+XEGo2y+4+2KfBE1eHBKlaSTPw4PaLQPbtUvH0Hc9MMT F64BeqwyhM4nseRq7hHbYx1eMdY02rYLRrEIyy3gPUhsTtaEStnuIaKaiB6I9gd5WQeV O/0w== X-Gm-Message-State: AOAM5333PSzLi7aDNK3x/+3PUgiG0GmoJRazhsfHP/isYeGuCTtuBCDd qjcWZhfnfLgCe0+JCgrHGysHxWNi5IDzZy3VCMS8giaqnUugXA== X-Google-Smtp-Source: ABdhPJyQWOPe6SJEuMF2jUCF1HOIUFi8JjPtM1XftJ7z/7V1/HQWKCX+MmYlWL2rHybVHUYN28tP8xnzRSU9Ofn55LA= X-Received: by 2002:aed:2163:: with SMTP id 90mr7507607qtc.186.1627753599111; Sat, 31 Jul 2021 10:46:39 -0700 (PDT) MIME-Version: 1.0 References: <20210731142533.69caf929@moon> In-Reply-To: From: John Cowan Date: Sat, 31 Jul 2021 13:46:28 -0400 Message-ID: To: Anthony Martin Content-Type: multipart/alternative; boundary="0000000000000ea82405c86eeb39" Subject: Re: [TUHS] Systematic approach to command-line interfaces X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: TUHS main list Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --0000000000000ea82405c86eeb39 Content-Type: text/plain; charset="UTF-8" On Sat, Jul 31, 2021 at 1:39 PM Anthony Martin wrote: > You're missing the approach taken in Plan 9 (and > 10th edition Unix): put related commands in a > directory and use a shell that doesn't restrict > the first argument of a command to a single path > element. > What that doesn't give you is the ability to say "git diff ", which is very nice and makes the inconsistencies I just posted on less likely. Fortunately, any getopt-variant can deal with these; you just have to pass the tail of argv and a suitably reduced value for argc to another call of the options parser. --0000000000000ea82405c86eeb39 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Sat, Jul 31, 2= 021 at 1:39 PM Anthony Martin <ality= @pbrane.org> wrote:
=C2=A0
You're missing the approach taken in Plan 9= (and
10th edition Unix): put related commands in a
directory and use a shell that doesn't restrict
the first argument of a command to a single path
element.

What tha= t doesn't give you is the ability to say "git <git-options> = diff <git-diff-options>", which is very nice and makes the incon= sistencies I just posted on less likely.=C2=A0 Fortunately, any getopt-vari= ant can deal with these; you just have to pass the=C2=A0tail of argv and a = suitably reduced value for argc to another call of the options parser.
--0000000000000ea82405c86eeb39--