Re: [PATCH 0/2] Support diff.wordDiff config
- From
Chris Torek <chris.torek@gmail.com>
- Date
- Mar 3, 2024, 07:23 UTC
- Message-ID
- <CAPx1GveaNR9ooWqE1VkAuFg5NO4Lwzx7bj-W1mWeHRg-rcg6+w@mail.gmail.com>
- In-Reply-To
- <34bb249d-4a4d-4cc7-b737-bb18398341d0@app.fastmail.com>
Continuing the digression a bit:
On Sat, Mar 2, 2024 at 11:58 AM Kristoffer Haugsbakk <code@khaugsbakk.name> wrote:
Show 5 quoted lines
> This looks similar to the discussion from a [stash] topic: > > • Proposed introducing config variables which change how `git stash > push` and `git stash save` behave (what they save) > • Concern about how that could break third-party scripts
[snippage]
> 🔗 [stash]: https://lore.kernel.org/git/xmqq34tnyhhf.fsf@gitster.g/
As I see it, the general issue here is the tension between Git commands that are used for scripting -- which ideally should always be plumbing commands -- and those used by end-users.
This tension is relieved somewhat when there *are* separate plumbing commands, such as `git diff-index` and `git diff-tree` and so on, or `git rev-list` vs `git log`. Unfortunately there are some commands, including `git log` itself, that have options that are missing from the roughly-equivalent plumbing command, and there are commands (such as `git stash` and `git status`) that either do not have, or at one time lacked, plumbing command equivalents or options.
The `git status` command shows one way out of this problem: we can *add* `--porcelain` options. Perhaps every command (or every non-plumbing-only one) should have `--porcelain[=<version>]`.
This doesn't fix the situation today, but provides an obvious future-proofing path.
Chris