Hey Stephan,
On Mon, Nov 21, 2016 at 1:45 AM, Stephan Beyer <[email protected]> wrote:
> Hi,
>
> On 10/14/2016 04:14 PM, Pranit Bauva wrote:
>> diff --git a/builtin/bisect--helper.c b/builtin/bisect--helper.c
>> index 502bf18..1767916 100644
>> --- a/builtin/bisect--helper.c
>> +++ b/builtin/bisect--helper.c
>> @@ -422,6 +425,7 @@ static int bisect_next(...)
>> {
>> int res, no_checkout;
>>
>> + bisect_autostart(terms);
>
> You are not checking for return values here. (The shell code simply
> exited if there is no tty, but you don't.)
True. I didn't notice it carefully. Thanks for pointing it out.
>> @@ -754,6 +758,32 @@ static int bisect_start(struct bisect_terms *terms, int
>> no_checkout,
>> return retval || bisect_auto_next(terms, NULL);
>> }
>>
>> +static int bisect_autostart(struct bisect_terms *terms)
>> +{
>> + if (is_empty_or_missing_file(git_path_bisect_start())) {
>> + const char *yesno;
>> + const char *argv[] = {NULL};
>> + fprintf(stderr, _("You need to start by \"git bisect "
>> + "start\"\n"));
>> +
>> + if (!isatty(0))
>
> isatty(STDIN_FILENO)?
Seems better.
>> + return 1;
>> +
>> + /*
>> + * TRANSLATORS: Make sure to include [Y] and [n] in your
>> + * translation. THe program will only accept English input
>
> Typo "THe"
Sure.
>> + * at this point.
>> + */
>
> Taking "at this point" into consideration, I think the Y and n can be
> easily translated now that it is in C. I guess, by using...
>
>> + yesno = git_prompt(_("Do you want me to do it for you "
>> + "[Y/n]? "), PROMPT_ECHO);
>> + if (starts_with(yesno, "n") || starts_with(yesno, "N"))
>
> ... starts_with(yesno, _("n")) || starts_with(yesno, _("N"))
> here (but not sure). However, this would be an extra patch on top of
> this series.
Can add it as an extra patch. Thanks for informing.
>> + exit(0);
>
> Shouldn't this also be "return 1;"? Saying "no" is the same outcome as
> not having a tty to ask for yes or no.
Yes.
>> int cmd_bisect__helper(int argc, const char **argv, const char *prefix)
>> {
>> enum {
>> @@ -790,6 +821,8 @@ int cmd_bisect__helper(int argc, const char **argv,
>> const char *prefix)
>> N_("find the next bisection commit"), BISECT_NEXT),
>> OPT_CMDMODE(0, "bisect-auto-next", &cmdmode,
>> N_("verify the next bisection state then find the
>> next bisection state"), BISECT_AUTO_NEXT),
>> + OPT_CMDMODE(0, "bisect-autostart", &cmdmode,
>> + N_("start the bisection if BISECT_START empty or
>> missing"), BISECT_AUTOSTART),
>
> The word "is" is missing.
Sure. Thanks for going through these patches very carefully.
Regards,
Pranit Bauva