Re: [RFC PATCH] rebisect: add script for easier bisect log editing
- From
Christian Couder <christian.couder@gmail.com>
- Date
- Nov 8, 2017, 16:12 UTC
- Message-ID
- <CAP8UFD015i76L4BgSZdr2k2TZk+C0vRAqOsj4DaqtNYuJjtNxQ@mail.gmail.com>
- In-Reply-To
- <20171108135931.166880-1-adam@dinwoodie.org>
On Wed, Nov 8, 2017 at 2:59 PM, Adam Dinwoodie <adam@dinwoodie.org> wrote:
> Add a short script, vaguely inspired by `git rebase --interactive`, to > ease the process described in the `git bisect` documentation of saving > off a bisect log, editing it, then replaying it.
Nice idea.
Show 12 quoted lines
> Signed-off-by: Adam Dinwoodie <adam@dinwoodie.org> > --- > > When I'm bisecting, I find I need to semi-regularly go back and change > my good/bad/skip response for some commits. The bisect documentation > describes doing this by saving `git bisect log` output, editing it, then > using `git bisect replay`. Which is a perfectly fine technique, but > automation is A Good Thing(TM). The below script is a short proof of > concept for changing this process to be a single command. > > Ideally (at least from my perspective), this function would be rolled > into the main `git bisect` tool, as `git bisect edit` or similar.
I agree and I don't think it would be very difficult to convert to such a sub command.
Show 22 quoted lines
> Before I start working on that, however, I wanted to see what the list
> thought of the idea.
>
> contrib/git-rebisect.sh | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
> create mode 100755 contrib/git-rebisect.sh
>
> diff --git a/contrib/git-rebisect.sh b/contrib/git-rebisect.sh
> new file mode 100755
> index 000000000..60f20b278
> --- /dev/null
> +++ b/contrib/git-rebisect.sh
> @@ -0,0 +1,12 @@
> +#!/bin/sh
> +
> +GIT_EDITOR="$(git var GIT_EDITOR)"
> +GIT_DIR="$(git rev-parse --git-dir)"
> +GIT_BISECT_LOG_TMP="${GIT_DIR}/BISECT_LOG_EDIT"
> +
> +git bisect log >"$GIT_BISECT_LOG_TMP"
> +"$GIT_EDITOR" "$GIT_BISECT_LOG_TMP"
> +git bisect reset HEADI guess that using "reset HEAD" could be cheaper than just "reset" and that's the reason you are using it.
> +git bisect start
Are you sure that this "start" is necessary? The doc says that "reset" followed by "replay that-file" should be enough.
> +git bisect replay "$GIT_BISECT_LOG_TMP" > +rm -f "$GIT_BISECT_LOG_TMP"
Thanks, Christian.