Subject: Re: [PATCH] simplified the chain if() statements of install_branch_config() function in branch.c

From: Nemina Amarasinghe <[email-masked]>
Date: Tue, 11 Mar 2014 06:30:04 +0000 (UTC)

Eric Sunshine <sunshine <at> sunshineco.com> writes:

> 
> On Mon, Mar 10, 2014 at 3:58 AM, Nemina Amarasinghe <neminaa <at>
gmail.com> wrote:
> > Nemina Amarasinghe <neminaa <at> gmail.com> writes:
> >
> > Sorry for the first patch. Something went wrong. This is the correct one
> 
> In addition to the tautological issue pointed out by Matthieu, please
> note that this version of the patch is not the correct one. It won't
> apply to the git code. At a guess, it appears that this patch is
> against some other modification you made to the git code before this
> change, or perhaps you committed it incorrectly. In any event, when
> you resubmit, please be sure that the new version can be applied to
> commit.c as it exists in git.git itself.
> 

Thank you very much for your comments Eric. I will resubmit the patch.

Just a quick question

in this code

if (flag & BRANCH_CONFIG_VERBOSE) {
        if (remote_is_branch && origin)
            printf_ln(rebasing ?
                  _("Branch %s set up to track remote branch %s from %s by
rebasing.") :
                  _("Branch %s set up to track remote branch %s from %s."),
                  local, shortname, origin);
        else if (remote_is_branch && !origin)
            printf_ln(rebasing ?
                  _("Branch %s set up to track local branch %s by rebasing.") :
                  _("Branch %s set up to track local branch %s."),
                  local, shortname);
        else if (!remote_is_branch && origin)
            printf_ln(rebasing ?
                  _("Branch %s set up to track remote ref %s by rebasing.") :
                  _("Branch %s set up to track remote ref %s."),
                  local, remote);
        else if (!remote_is_branch && !origin)
            printf_ln(rebasing ?
                  _("Branch %s set up to track remote ref %s by rebasing.") :
                  _("Branch %s set up to track remote ref %s."),
                  local, remote);
        else
            die("BUG: impossible combination of %d and %p",
                remote_is_branch, origin);
    }

These "local" and "remote" variables are independent from the "origin" right?
So, If that the case couldn't we just use the bellow function

else if (!remote_is_branch)
            printf_ln(rebasing ?
                  _("Branch %s set up to track remote ref %s by rebasing.") :
                  _("Branch %s set up to track remote ref %s."),
                  local, remote);

instead of

else if (!remote_is_branch && origin)
            printf_ln(rebasing ?
                  _("Branch %s set up to track remote ref %s by rebasing.") :
                  _("Branch %s set up to track remote ref %s."),
                  local, remote);
        else if (!remote_is_branch && !origin)
            printf_ln(rebasing ?
                  _("Branch %s set up to track remote ref %s by rebasing.") :
                  _("Branch %s set up to track remote ref %s."),
                  local, remote);

Thanks
Nemina