Re: [PATCH 0/1] blame: Skip missing ignore-revs file
- From
- Thranur Andul <thranur@gmail.com>
- Date
- Mar 4, 2022, 09:51 UTC
- Message-ID
- <a30ebbe3-596e-84a5-9023-b53402dfe70c@gmail.com>
- In-Reply-To
- <xmqqr1f5hszw.fsf@gitster.g>
On 07/08/2021 22:58, Junio C Hamano wrote:
Show 17 quoted lines
> Noah Pendleton <noah.pendleton@gmail.com> writes: > > > That cuts both ways, though. Failing upon missing configuration > file is a way to catch misconfiguration that is hard to diagnose. > > I wonder if we can easily learn where the configuration variable > came from in the codepath that diagnoses it as a misconfiguration. > > If it came from a per-repo configuration and names a non-existent > file, it clearly is a misconfiguration that we want to flag as an > error. Even if it came from a per-user configuration, if it was > specified in a conditionally included file, it is likely to be a > misconfiguration. If it came from a per-user configuration that > applies without any condition, it can be a good convenience feature > to silently (or with a warning) ignore missing file. >
I am very interested in this feature, but I'd like to add another point to the discussion: in the case of ignoreRevsFile in particular, no one creates a repository with such a file; it is always added later. However, when bisecting (a typical usage scenario for git-blame), we may end up returning back to a point _before_ the file had been added, and then, git-blame fails. This often happens to me, and I am then forced to `touch` the file to create it again, only to ensure git-blame keeps working. And then, when I want to return to the HEAD commit, the file must be erased again otherwise there is a conflict. So, for me, the "ignore if absent" behavior seems to me like it should be the default.