Signed-off-by: TamerTas <tamertas@xxxxxxxxxxx> -- Thanks for the feedback. Comments below. I've made the suggested changes [1] to patch [2] but, since there are different number of format specifiers, an if-else clause is necessary. Removing the if-else chain completely doesn't seem to be possible. So making the format table-driven seems to be like an optional change. [1]: http://git.661346.n2.nabble.com/PATCH-GSOC2014-changed-logical-chain-in-branch-c-to-lookup-tables-tp7605343p7605444.html [2]: http://git.661346.n2.nabble.com/PATCH-GSOC2014-changed-logical-chain-in-branch-c-to-lookup-tables-tp7605343p7605407.html -- branch.c | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/branch.c b/branch.c index 723a36b..1ccf30f 100644 --- a/branch.c +++ b/branch.c @@ -50,10 +50,25 @@ static int should_setup_rebase(const char *origin) void install_branch_config(int flag, const char *local, const char *origin, const char *remote) { const char *shortname = remote + 11; + const char *setup_message[] = { + N_("Branch %s set up to track local ref %s."), + N_("Branch %s set up to track local branch %s."), + N_("Branch %s set up to track remote ref %s."), + N_("Branch %s set up to track remote branch %s from %s."), + N_("Branch %s set up to track local ref %s by rebasing.") + N_("Branch %s set up to track local branch %s by rebasing."), + N_("Branch %s set up to track remote ref %s by rebasing."), + N_("Branch %s set up to track remote branch %s from %s by rebasing."), + }; + int remote_is_branch = starts_with(remote, "refs/heads/"); struct strbuf key = STRBUF_INIT; int rebasing = should_setup_rebase(origin); + int msg_index = (!!remote_is_branch << 0) + + (!!origin << 1) + + (!!rebasing << 2); + if (remote_is_branch && !strcmp(local, shortname) && !origin) { @@ -77,29 +92,12 @@ void install_branch_config(int flag, const char *local, const char *origin, cons strbuf_release(&key); 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 local ref %s by rebasing.") : - _("Branch %s set up to track local ref %s."), - local, remote); - else - die("BUG: impossible combination of %d and %p", - remote_is_branch, origin); + if(remote_is_branch && origin) + printf_ln(_(setup_message[msg_index]), local, shortname, origin); + else if (remote_is_branch && !origin) + printf_ln(_(setup_message[msg_index]), local, shortname); + else + printf_ln(_(setup_message[msg_index]), local, remote); } } -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html