Re: [PATCH v2 04/23] rebase -i: hide interactive command messages in verbose mode
Fabian Ruch <bafain@gmail.com> writes:
Show 32 quoted lines
> Hi Thomas,
>
> Thomas Rast writes:
>> Fabian Ruch <bafain@gmail.com> writes:
>>> @@ -923,6 +923,8 @@ EOF
>>> ;;
>>> esac
>>>
>>> +mkdir -p "$state_dir" || die "Could not create temporary $state_dir"
>>> +
>>> git var GIT_COMMITTER_IDENT >/dev/null ||
>>> die "You need to set your committer info first"
>>>
>>> @@ -938,7 +940,6 @@ then
>>> fi
>>>
>>> orig_head=$(git rev-parse --verify HEAD) || die "No HEAD?"
>>> -mkdir -p "$state_dir" || die "Could not create temporary $state_dir"
>>>
>>> : > "$state_dir"/interactive || die "Could not mark as interactive"
>>> write_basic_state
>>
>> Why this change? I can't figure out how it relates to the output
>> change.
>
> Creating the state directory a few steps earlier into
> 'git_rebase__interactive' is necessary because the changed definition of
> 'output' needs it for 'editor.sh'. This change was triggered by a
> failing test case that used the <branch> argument with git-rebase. The
> 'git checkout <branch>', which is executed if 'switch_to' is set to
> <branch>, is wrapped into an 'output' line and 'output' failed because
> it wasn't able to create 'editor.sh'.
>> In order to temporarily redirect the editor output, the new
>> definition of `output` creates a script in the state directory to be
>> used as `GIT_EDITOR`. Make sure the state directory exists before
>> `output` is called for the first time.
Ah, makes sense. Thanks for the explanations!
--
Thomas Rast
tr@thomasrast.ch