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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).