Replace the chain of if statements with table of strings.
Signed-off-by: Paweł Wawruch pa...@aleg.pl
---
I changed the commit message. Logic of table has changed. To make it more
clear I added three dimensions of the table.
[1]: http://thread.gmane.org/gmane.comp.version-control.git/243502
[2]: http://thread.gmane.org/gmane.comp.version-control.git/243849
branch.c | 42 --
1 file changed, 20 insertions(+), 22 deletions(-)
diff --git a/branch.c b/branch.c
index 723a36b..741551a 100644
--- a/branch.c
+++ b/branch.c
@@ -53,6 +53,21 @@ void install_branch_config(int flag, const char *local,
const char *origin, cons
int remote_is_branch = starts_with(remote, refs/heads/);
struct strbuf key = STRBUF_INIT;
int rebasing = should_setup_rebase(origin);
+ const char *message[][2][2] = {{{
+ N_(Branch %s set up to track remote branch %s from %s
by rebasing.),
+ N_(Branch %s set up to track remote branch %s from
%s.),
+ },{
+ N_(Branch %s set up to track local branch %s by
rebasing.),
+ N_(Branch %s set up to track local branch %s.),
+ }},{{
+ N_(Branch %s set up to track remote ref %s by
rebasing.),
+ N_(Branch %s set up to track remote ref %s.),
+ },{
+ N_(Branch %s set up to track local ref %s by
rebasing.),
+ N_(Branch %s set up to track local ref %s.)
+ }}};
+ const char *name = remote_is_branch ? remote : shortname;
+ int message_number;
if (remote_is_branch
!strcmp(local, shortname)
@@ -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);
+ if (origin remote_is_branch)
+
printf_ln(_(messages[!remote_is_branch][!origin][!rebasing]),
+ local, name, origin);
else
- die(BUG: impossible combination of %d and %p,
- remote_is_branch, origin);
+
printf_ln(_(messages[!remote_is_branch][!origin][!rebasing]),
+ local, name);
}
}
--
1.8.3.2
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html