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

Re: blame --ignore-rev - add place to specify defaults at repo level

From
BRBarret Rhoden <brho@google.com>
Date
Sep 16, 2019, 15:03 UTC
Message-ID
<c34159af-f97e-82b3-e2a1-04adae5c10ac@google.com>
In-Reply-To
<CAEziGD9bWPfV+L5z_-drATT8Fxvj=8hzNAQcNH9f9Ez+ncaEvw@mail.gmail.com>
Hi -
On 8/28/19 1:07 PM, Terry Davis wrote:
Show 17 quoted lines
> The new blame options (--ignore-rev, --ignore-revs-file) and config options
> (blame.markIgnoredLines,  blame.markUnblamables,  blame.ignoreRevsFile) are
> great, and much appreciated. However, for my primary use (one-time
> automated reformatting of an entire repository), there is still some
> friction preventing adoption.
> 
> Adding a default location for the config options (much like .gitignore)
> specified above would have the following benefits:
> 
>     1. New users of a repository would not need to take the extra step of
>     configuring their workspace for blame. This is most impactful for open
>     source projects with many contributors.
>     2. Git services (github, gitlab, etc.) could incorporate this feature
>     into their blame systems automatically.
> 
> If this has already been discussed, please point me to the thread, as I am
> a new member of this list.
Sorry for the delayed response.  In v1 I had a default ignore file:
https://public-inbox.org/git/20190107213013.231514-1-brho@google.com/

The first few responses have some feedback in that area. The short version: don't give the users potentially incorrect results without them knowing about it. Though if in practice users just run a one-time script to turn on a default ignore file and then never think about it again, that might be less of a concern.

But we do return "incorrect" results from blame ignore. We have a bunch of 'mark' options to help with this, but I don't think there was a consensus on what the best ones were. Some people wanted to see any ignored lines, some wanted to see unblamables, some not, etc. I can picture users who are unfamiliar with blame-ignore getting annoyed by tracing through a line's history and getting surprised by a wrong answer.

Maybe once the feature gains popularity and gets used a bit more, we can learn what good defaults are, and then we can make a particular ignore file a default setting. I'd be fine with that, but then again I had a default file in the first place. =)

FWIW, I just set a single ignore-revs-file globally, though that will only work if every project uses the same filename. I went with ".git-blame-ignore-revs", which is what ChromeOS did for hyper-blame and what I use on some of my projects.

Thanks,
Barret
Previous: Terry Davis
Message 2 of 2 in “blame --ignore-rev - add place to specify defaults at repo level”
  1. Terry DavisAug 28, 2019
  2. Barret RhodenSep 16, 2019

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.