git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Whitepace parameter for git restore

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 14, 2022, 23:39 UTC
Message-ID
<xmqqmt7pv9ky.fsf@gitster.g>
In-Reply-To
<CAGWBhH7ZiU_tJGj_UAB29v9Eq6C2Q-1_0YxLLN16LaEOcuV1Xw@mail.gmail.com>
Niklas Volcz <niklas.volcz@gmail.com> writes:
Show 14 quoted lines
> Is there a way to pass apply.whitespace when using "git restore" like
> how it is done for git apply? I believe this might be a bug/missing
> feature.
> I have apply.whitespace=fix in my user git config. This usually works
> fine but I was working on a patch for a project today which is using
> tabs and spaces which messed up the commit. In order to avoid
> cluttering the diff with whitespace changes I tried to remove the
> whitespace changes with "git restore -p
> src/the-file-with-tabs-and-spaces.sh" but it seems that this causes
> git to fix the whitespaces again due to the configuration. I worked
> around this by setting a repo local config with
> "apply.whitespace=warn" but I wonder if there shouldn't be an
> --whitespace flag for git restore like it is for git apply. Is this a
> bug?

It is arguable what should qualify as a "bug", but "restore" or "checkout" are primarily "grab the recorded blob out of the object store and materialize its contents as a whole in a file in the working tree", and there is no place for features that are about patch application like "apply to fix whitespace" to come in. So a command line option --whitespace=warn would not be a very good fit.

Having said that, I wonder if you can cheat by
    $ git -c apply.whitespace=ignore restore -p ...
Previous: Niklas Volcz
Message 2 of 2 in “Whitepace parameter for git restore”
  1. Niklas VolczDec 14, 2022
  2. Junio C HamanoDec 14, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.