Rubén Justo <rjusto@xxxxxxxxx> writes: > In 83c750acde (wt-status.*: better advice for git status added, > 2012-06-05), git-status received new informative messages to describe > the ongoing work in a worktree. > > These messages were enhanced in 0722c805d6 (status: show the branch name > if possible in in-progress info, 2013-02-03), to show, if possible, the > branch where the operation was initiated. > > Since then, we show incorrect information when several operations are in > progress and one of them is bisect: > > $ git checkout -b foo > $ GIT_SEQUENCE_EDITOR='echo break >' git rebase -i HEAD~ > $ git checkout -b bar > $ git bisect start > $ git status > ... > > You are currently editing a commit while rebasing branch 'bar' on '...'. > > You are currently bisecting, started from branch 'bar'. > > ... > > Note that we erroneously say "while rebasing branch 'bar'" when we > should be referring to "foo". > > This must have gone unnoticed for so long because it must be unusual to > start a bisection while another operation is in progress. And even less > usual to involve different branches. > > It caught my attention reviewing a leak introduced in 8b87cfd000 > (wt-status: move strbuf into read_and_strip_branch(), 2013-03-16). > > A simple change to deal with this situation can be to record in struct > wt_status_state, the branch where the bisect starts separately from the > branch related to other operations. > > Let's do it and so we'll be able to display correct information and > we'll avoid the leak as well. > > Signed-off-by: Rubén Justo <rjusto@xxxxxxxxx> > > --- > > Let's try again. Sigh... nobody seems to be interested in making sure this correctly improves the system X-<. After a quick re-read, I didn't find anything glaringly wrong, so let's see if anybody complains after the patch gets merged to 'next'. Thanks.