From: "Konstantin Ryabitsev" <konstantin@linuxfoundation.org>
To: users@linux.kernel.org, tools@linux.kernel.org
Subject: b4 version 0.5.0 is available
Date: Mon, 25 May 2020 16:33:41 -0400 [thread overview]
Message-ID: <20200525203341.z4dollmzbo7exnhc@chatter.i7.local> (raw)
[-- Attachment #1: Type: text/plain, Size: 2204 bytes --]
Hello:
I am pleased to release b4 v0.5.0 with the following new features:
b4 diff:
allows to display range-diffs between patch/series revisions. It
accomplishes this by creating two "fake" detached ranges consisting
solely of the files in the patches and then running a "git range-diff"
between those ranges. In order to work, the following conditions must
all be met:
1. patches must contain "index" blob information
2. we must be able to find all of those blobs in the repo
Behind the scenes, b4 will create a temporary worktree containing just
the files mentioned in the patch and run "git am" to create the commit
range. After deleting the worktree, this range will continue to exist
in the repo as loose objects (until gc cleans them up), allowing to
run git range-diff across both patch series.
In my experience, this works about 60% of the time, but I expect this
percentage will be higher for you, since you are more likely to have
the needed blobs in your repo due to using the same tree as the
submitter.
Here's a small demo: https://asciinema.org/a/333888
b4 am enhancements:
When we find blob information in the series, we will check if they match
the current tree. If they do, we will display an "applies clean to
current tree" message. You can additionally try the following flags:
-g,--guess-base: will look at the last few tags to check if the
patch/series applies cleanly to any of them. I'm not sure how useful
this feature is, but it was an easy thing to implement.
-3,--prep-3way: if you know you have to do a 3-way merge, this will
prepare the tree for you by making sure all files exist at indexes
specified in the patches. Same caveats apply as for "b4 diff".
The "b4 diff" and "b4 am -3" functionality borrows heavily from Jason
Gunthorpe's gj_tools [1], for which I am very thankful.
You can upgrade to the latest version by running:
pip install --user --upgrade b4
Please send any inevitable bug reports and feature change suggestions to
tools@linux.kernel.org.
Best regards,
-K
.. [1]: https://github.com/jgunthorpe/Kernel-Maintainer-Tools
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 235 bytes --]
next reply other threads:[~2020-05-25 20:33 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-25 20:33 Konstantin Ryabitsev [this message]
2020-06-08 16:59 ` [kernel.org users] b4 version 0.5.0 is available Linus Torvalds
2020-06-08 17:30 ` James Bottomley
2020-06-08 17:59 ` Linus Torvalds
2020-06-08 18:06 ` Konstantin Ryabitsev
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=20200525203341.z4dollmzbo7exnhc@chatter.i7.local \
--to=konstantin@linuxfoundation.org \
--cc=tools@linux.kernel.org \
--cc=users@linux.kernel.org \
/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).