Re: [PATCH v5] install_branch_config: simplify verbose messages logic

2014-03-13 Thread Eric Sunshine
On Wed, Mar 12, 2014 at 7:47 PM, Paweł Wawruch  wrote:
> Replace the chain of if statements with table of strings.
>
> Signed-off-by: Paweł Wawruch 
> ---
> Thanks to Eric Sunshine and Junio C Hamano.
> Simplified printing logic. The name moved to a table.
>
> v4: http://thread.gmane.org/gmane.comp.version-control.git/243914
> v3: http://thread.gmane.org/gmane.comp.version-control.git/243865
> v2: http://thread.gmane.org/gmane.comp.version-control.git/243849
> v1: http://thread.gmane.org/gmane.comp.version-control.git/243502

Thanks. Using the vN notation makes these links self-explanatory.

>  branch.c | 42 +-
>  1 file changed, 17 insertions(+), 25 deletions(-)
>
> diff --git a/branch.c b/branch.c
> index 723a36b..c17817c 100644
> --- a/branch.c
> +++ b/branch.c
> @@ -53,6 +53,20 @@ 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."),

Some compilers may complain about the trailing comma. Ditto for the ones below.

> +   },{
> +   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, shortname};

See [1] and the messages following it for commentary about this change.

> if (remote_is_branch
> && !strcmp(local, shortname)
> @@ -76,31 +90,9 @@ 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 (flag & BRANCH_CONFIG_VERBOSE)
> +   printf_ln(_(message[!remote_is_branch][!origin][!rebasing]),
> +   local, name[!remote_is_branch], origin);

Much simpler than the previous versions (sans [1] commentary)

[1]: http://thread.gmane.org/gmane.comp.version-control.git/243914/focus=244043

>  }
>
>  /*
> --
> 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


[PATCH v5] install_branch_config: simplify verbose messages logic

2014-03-12 Thread Paweł Wawruch
Replace the chain of if statements with table of strings.

Signed-off-by: Paweł Wawruch 
---
Thanks to Eric Sunshine and Junio C Hamano.
Simplified printing logic. The name moved to a table.

v4: http://thread.gmane.org/gmane.comp.version-control.git/243914
v3: http://thread.gmane.org/gmane.comp.version-control.git/243865
v2: http://thread.gmane.org/gmane.comp.version-control.git/243849
v1: http://thread.gmane.org/gmane.comp.version-control.git/243502

 branch.c | 42 +-
 1 file changed, 17 insertions(+), 25 deletions(-)

diff --git a/branch.c b/branch.c
index 723a36b..c17817c 100644
--- a/branch.c
+++ b/branch.c
@@ -53,6 +53,20 @@ 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, shortname};
 
if (remote_is_branch
&& !strcmp(local, shortname)
@@ -76,31 +90,9 @@ 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 (flag & BRANCH_CONFIG_VERBOSE)
+   printf_ln(_(message[!remote_is_branch][!origin][!rebasing]),
+   local, name[!remote_is_branch], origin);
 }
 
 /*
-- 
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