Re: [RFC PATCH] rebisect: add script for easier bisect log editing
- Date: Wed, 8 Nov 2017 17:12:18 +0100
- From: Christian Couder <christian.couder@xxxxxxxxx>
- Subject: Re: [RFC PATCH] rebisect: add script for easier bisect log editing
On Wed, Nov 8, 2017 at 2:59 PM, Adam Dinwoodie <adam@xxxxxxxxxxxxx> 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.
> Signed-off-by: Adam Dinwoodie <adam@xxxxxxxxxxxxx>
> 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.
> 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 @@
> +GIT_EDITOR="$(git var GIT_EDITOR)"
> +GIT_DIR="$(git rev-parse --git-dir)"
> +git bisect log >"$GIT_BISECT_LOG_TMP"
> +"$GIT_EDITOR" "$GIT_BISECT_LOG_TMP"
> +git bisect reset HEAD
I 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"