Skip to content

Respect .git-blame-ignore-revs for reviewer suggestions #191

Open
@liamfd-titan

Description

@liamfd-titan

Is your feature request related to a problem? Please describe.
We have a .git-blame-ignore-revs file that we use to strip out commits that cause noise in the blame. Here's a blog post (chosen randomly, there are a bunch) describing this in more detail: https://michaelheap.com/git-ignore-rev/

While the underlying git setting doesn't care what the filepath is, just a .git-blame-ignore-revs in the root of the repo appears to be the de facto standard. For example, github's web blame diff view automatically picks this up: https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view

Git stream's "knowledge" reviewer setting doesn't seem to respect this file. So for us that means that one person gets suggested as the knowledge reviewer for most files because they happened to be the one to apply prettier to the whole codebase, for example.

Describe the solution you'd like
The ideal for me would be that Gitstream match GitHub's default and pick up and apply this file. I think that would be intuitive for most folks. And I think respecting this file is pretty important because it's explicitly stating places where the blame is assigning people who did something rote and don't actually have context.

Describe alternatives you've considered

  • Some easy way to opt into this with a flag. I can see why a flag is appealing vs adding default behavior, but it feels reasonable to align with the de facto standard and GH's, at least for people using gitstream with gh.
  • Manually building this out with gitstream somehow. As someone new to the tool this is pretty daunting, and I think a lot of people could benefit from baking it in as a default.
    • Maybe putting this in the pattern lib would be a good middleground.

Additional context
Thanks! This tool is very exciting to me.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions