From: "Abhijeetsingh Meena via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Kristoffer Haugsbakk <code@khaugsbakk.name>,
Phillip Wood <phillip.wood123@gmail.com>,
Abhijeetsingh Meena <abhijeetsingh.github@gmail.com>
Subject: [PATCH v2 0/2] blame: respect .git-blame-ignore-revs automatically
Date: Sat, 12 Oct 2024 04:37:45 +0000 [thread overview]
Message-ID: <pull.1809.v2.git.1728707867.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1809.git.1728370892696.gitgitgadget@gmail.com>
Summary
=======
This patch introduces the ability for git blame to automatically respect the
.git-blame-ignore-revs file, which can help users streamline their workflows
by ignoring revisions for non-functional changes.
The feature is inspired by similar practices in other projects like
Chromium, and it aligns with needs expressed by users in discussions around
revision-ignoring mechanisms for git blame.
I have incorporated suggestions provided during the review of patch v1,
including improvements to the commit message and addressing how to override
ignore revisions using a new option.
Patch Updates and Improvements
==============================
Changes since v1
================
* Updated the commit message for the first patch. I incorporated
Kristoffer’s suggestions by directly using the example he provided,
ensuring the commit message aligns with the project's standards.
* Attempted to use --no-ignore-revs-file to bypass the
.git-blame-ignore-revs file, but observed that it did not ignore the
specified revisions.
* Introduced the --override-ignore-revs option (short form: -O) as a
straightforward method to override any configured revision ignores,
providing users with more control.
* For the second commit, I applied Kristoffer’s feedback in writing the
commit message to ensure consistency and clarity.
Abhijeetsingh Meena (2):
blame: respect .git-blame-ignore-revs automatically
blame: introduce --override-ignore-revs to bypass ignore revisions
list
builtin/blame.c | 16 +++++++++++++++-
t/t8015-blame-default-ignore-revs.sh | 26 ++++++++++++++++++++++++++
t/t8016-blame-override-ignore-revs.sh | 25 +++++++++++++++++++++++++
3 files changed, 66 insertions(+), 1 deletion(-)
create mode 100755 t/t8015-blame-default-ignore-revs.sh
create mode 100755 t/t8016-blame-override-ignore-revs.sh
base-commit: ef8ce8f3d4344fd3af049c17eeba5cd20d98b69f
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1809%2FEthan0456%2Fblame-auto-ignore-revs-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1809/Ethan0456/blame-auto-ignore-revs-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/1809
Range-diff vs v1:
1: 666404681d9 ! 1: 4ed930cab1b blame: respect .git-blame-ignore-revs automatically
@@ Metadata
## Commit message ##
blame: respect .git-blame-ignore-revs automatically
- Modify `git blame` to automatically respect a `.git-blame-ignore-revs`
- file if it exists in the repository. This file is used by many projects
- to ignore non-functional changes, such as reformatting or large-scale
- refactoring, when generating blame information.
+ git-blame(1) can ignore a list of commits with `--ignore-revs-file`.
+ This is useful for marking uninteresting commits like formatting
+ changes, refactors and whatever else should not be “blamed”. Some
+ projects even version control this file so that all contributors can
+ use it; the conventional name is `.git-blame-ignore-revs`.
- Before this change, users had to manually specify the file with the
- `--ignore-revs-file` option. This update streamlines the process by
- automatically detecting the `.git-blame-ignore-revs` file, reducing
- manual effort.
-
- This change aligns with the standardized practice in many repositories
- and simplifies the workflow for users.
+ But each user still has to opt-in to the standard ignore list,
+ either with this option or with the config `blame.ignoreRevsFile`.
+ Let’s teach git-blame(1) to respect this conventional file in order
+ to streamline the process.
Signed-off-by: Abhijeetsingh Meena <abhijeet040403@gmail.com>
@@ t/t8015-blame-default-ignore-revs.sh (new)
+'
+
+test_done
- \ No newline at end of file
-: ----------- > 2: 8d2fa3af796 blame: introduce --override-ignore-revs to bypass ignore revisions list
--
gitgitgadget
next prev parent reply other threads:[~2024-10-12 4:37 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-08 7:01 [PATCH] blame: respect .git-blame-ignore-revs automatically Abhijeetsingh Meena via GitGitGadget
2024-10-08 9:07 ` Kristoffer Haugsbakk
2024-10-08 9:51 ` Phillip Wood
[not found] ` <pull.1809.v2.git.1728397437637.gitgitgadget@gmail.com>
[not found] ` <CAAirc3j2MfLyiNVnseRmTsDDu6R4gkcms1GXk=9_jAVLvEYaUg@mail.gmail.com>
[not found] ` <CAAirc3gX=PBixcyR0NRyRDnrydkeeu8A9or90c8MSUdHQ6uo=w@mail.gmail.com>
2024-10-08 16:12 ` [PREVIEW v2] " Abhijeetsingh Meena
2024-10-08 16:12 ` Abhijeetsingh Meena
2024-10-12 4:37 ` Abhijeetsingh Meena via GitGitGadget [this message]
2024-10-12 4:37 ` [PATCH v2 1/2] " Abhijeetsingh Meena via GitGitGadget
2024-10-12 6:07 ` Eric Sunshine
2024-10-12 6:43 ` Eric Sunshine
2024-10-14 21:08 ` Taylor Blau
2024-10-16 6:04 ` Abhijeetsingh Meena
2024-10-12 13:58 ` Kristoffer Haugsbakk
2024-10-13 15:25 ` Phillip Wood
2024-10-14 21:00 ` Kristoffer Haugsbakk
2024-10-16 6:06 ` Abhijeetsingh Meena
2024-10-13 15:18 ` Phillip Wood
2024-10-16 6:07 ` Abhijeetsingh Meena
2024-10-22 6:49 ` Abhijeetsingh Meena
2024-10-22 7:54 ` Eric Sunshine
2024-10-12 4:37 ` [PATCH v2 2/2] blame: introduce --override-ignore-revs to bypass ignore revisions list Abhijeetsingh Meena via GitGitGadget
2024-10-12 6:24 ` Eric Sunshine
2024-10-12 6:26 ` Eric Sunshine
2024-10-12 14:25 ` Kristoffer Haugsbakk
2024-10-13 15:20 ` Phillip Wood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.1809.v2.git.1728707867.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=abhijeetsingh.github@gmail.com \
--cc=code@khaugsbakk.name \
--cc=git@vger.kernel.org \
--cc=phillip.wood123@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.