Re: [PATCH] fixed translation in config file to enhance user output message from the porcelain command(git config). This fixes the error and die function by wrapping it in the _(...) function. This also avoid the code from breaking

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Please don't BCC all recipients, but just CC or send it to them.


On Wed, May 6, 2015 at 11:51 AM, Alangi Derick <alangiderick@xxxxxxxxx> wrote:

Usually here comes a rationale why the changes below are worth accepting
such as:

    This enables translations in git-config, which is a porcelain user facing
    command, so we want to show localized error messages.

Mind that there are 2 different files ./config.c and ./builtin/config.c
While ./builtin/config.c is used for the "git config" command and would
benefit from the error translation, I am unsure about ./config.c

All files directly in the top level directory from Git are usually quite
library like and used by the different commands in the builtin/ directory.
So I suspect there is a plumbing command which would make use of
these code paths, which is what we want to avoid.

> Signed-off-by: Alangi Derick <alangiderick@xxxxxxxxx>
> ---
>  config.c | 46 +++++++++++++++++++++++-----------------------
>  1 file changed, 23 insertions(+), 23 deletions(-)
>
> diff --git a/config.c b/config.c
> index 66c0a51..cc41dbb 100644
> --- a/config.c
> +++ b/config.c
> @@ -76,7 +76,7 @@ static int config_buf_ungetc(int c, struct config_source *conf)
>         if (conf->u.buf.pos > 0) {
>                 conf->u.buf.pos--;
>                 if (conf->u.buf.buf[conf->u.buf.pos] != c)
> -                       die("BUG: config_buf can only ungetc the same character");
> +                       die(_("BUG: config_buf can only ungetc the same character"));
>                 return c;
>         }
>
> @@ -106,7 +106,7 @@ static int handle_path_include(const char *path, struct config_include_data *inc
>
>         expanded = expand_user_path(path);
>         if (!expanded)
> -               return error("Could not expand include path '%s'", path);
> +               return error(_("Could not expand include path '%s'"), path);
>         path = expanded;
>
>         /*
> @@ -117,7 +117,7 @@ static int handle_path_include(const char *path, struct config_include_data *inc
>                 char *slash;
>
>                 if (!cf || !cf->path)
> -                       return error("relative config includes must come from files");
> +                       return error(_("relative config includes must come from files"));
>
>                 slash = find_last_dir_sep(cf->path);
>                 if (slash)
> @@ -177,7 +177,7 @@ int git_config_parse_parameter(const char *text,
>
>         pair = strbuf_split_str(text, '=', 2);
>         if (!pair[0])
> -               return error("bogus config parameter: %s", text);
> +               return error(_("bogus config parameter: %s"), text);
>
>         if (pair[0]->len && pair[0]->buf[pair[0]->len - 1] == '=') {
>                 strbuf_setlen(pair[0], pair[0]->len - 1);
> @@ -189,7 +189,7 @@ int git_config_parse_parameter(const char *text,
>         strbuf_trim(pair[0]);
>         if (!pair[0]->len) {
>                 strbuf_list_free(pair);
> -               return error("bogus config parameter: %s", text);
> +               return error(_("bogus config parameter: %s"), text);
>         }
>         strbuf_tolower(pair[0]);
>         if (fn(pair[0]->buf, value, data) < 0) {
> @@ -854,7 +854,7 @@ static int git_default_core_config(const char *var, const char *value)
>                         comment_line_char = value[0];
>                         auto_comment_line_char = 0;
>                 } else
> -                       return error("core.commentChar should only be one character");
> +                       return error(_("core.commentChar should only be one character"));
>                 return 0;
>         }
>
> @@ -949,7 +949,7 @@ static int git_default_branch_config(const char *var, const char *value)
>                 else if (!strcmp(value, "always"))
>                         autorebase = AUTOREBASE_ALWAYS;
>                 else
> -                       return error("Malformed value for %s", var);
> +                       return error(_("Malformed value for %s"), var);
>                 return 0;
>         }
>
> @@ -976,8 +976,8 @@ static int git_default_push_config(const char *var, const char *value)
>                         push_default = PUSH_DEFAULT_CURRENT;
>                 else {
>                         error("Malformed value for %s: %s", var, value);
> -                       return error("Must be one of nothing, matching, simple, "
> -                                    "upstream or current.");
> +                       return error(_("Must be one of nothing, matching, simple, "
> +                                    "upstream or current."));
>                 }
>                 return 0;
>         }
> @@ -1124,10 +1124,10 @@ static int git_config_from_blob_sha1(config_fn_t fn,
>
>         buf = read_sha1_file(sha1, &type, &size);
>         if (!buf)
> -               return error("unable to load config blob object '%s'", name);
> +               return error(_("unable to load config blob object '%s'"), name);
>         if (type != OBJ_BLOB) {
>                 free(buf);
> -               return error("reference '%s' does not point to a blob", name);
> +               return error(_("reference '%s' does not point to a blob"), name);
>         }
>
>         ret = git_config_from_buf(fn, name, buf, size, data);
> @@ -1143,7 +1143,7 @@ static int git_config_from_blob_ref(config_fn_t fn,
>         unsigned char sha1[20];
>
>         if (get_sha1(name, sha1) < 0)
> -               return error("unable to resolve config blob '%s'", name);
> +               return error(_("unable to resolve config blob '%s'"), name);
>         return git_config_from_blob_sha1(fn, name, sha1, data);
>  }
>
> @@ -1173,7 +1173,7 @@ unsigned long git_env_ulong(const char *k, unsigned long val)
>  {
>         const char *v = getenv(k);
>         if (v && !git_parse_ulong(v, &val))
> -               die("failed to parse %s", k);
> +               die(_("failed to parse %s"), k);
>         return val;
>  }
>
> @@ -1720,7 +1720,7 @@ static int store_aux(const char *key, const char *value, void *cb)
>
>  static int write_error(const char *filename)
>  {
> -       error("failed to write new configuration file %s", filename);
> +       error(_("failed to write new configuration file %s"), filename);
>
>         /* Same error code as "failed to rename". */
>         return 4;
> @@ -1859,12 +1859,12 @@ int git_config_parse_key(const char *key, char **store_key, int *baselen_)
>          */
>
>         if (last_dot == NULL || last_dot == key) {
> -               error("key does not contain a section: %s", key);
> +               error(_("key does not contain a section: %s"), key);
>                 return -CONFIG_NO_SECTION_OR_NAME;
>         }
>
>         if (!last_dot[1]) {
> -               error("key does not contain variable name: %s", key);
> +               error(_("key does not contain variable name: %s"), key);
>                 return -CONFIG_NO_SECTION_OR_NAME;
>         }
>
> @@ -1886,12 +1886,12 @@ int git_config_parse_key(const char *key, char **store_key, int *baselen_)
>                 if (!dot || i > baselen) {
>                         if (!iskeychar(c) ||
>                             (i == baselen + 1 && !isalpha(c))) {
> -                               error("invalid key: %s", key);
> +                               error(_("invalid key: %s"), key);
>                                 goto out_free_ret_1;
>                         }
>                         c = tolower(c);
>                 } else if (c == '\n') {
> -                       error("invalid key (newline): %s", key);
> +                       error(_("invalid key (newline): %s"), key);
>                         goto out_free_ret_1;
>                 }
>                 (*store_key)[i] = c;
> @@ -2113,7 +2113,7 @@ int git_config_set_multivar_in_file(const char *config_filename,
>         }
>
>         if (commit_lock_file(lock) < 0) {
> -               error("could not commit config file %s", config_filename);
> +               error(_("could not commit config file %s"), config_filename);
>                 ret = CONFIG_NO_WRITE;
>                 lock = NULL;
>                 goto out_free;
> @@ -2228,7 +2228,7 @@ int git_config_rename_section_in_file(const char *config_filename,
>         lock = xcalloc(1, sizeof(struct lock_file));
>         out_fd = hold_lock_file_for_update(lock, config_filename, 0);
>         if (out_fd < 0) {
> -               ret = error("could not lock config file %s", config_filename);
> +               ret = error(_("could not lock config file %s"), config_filename);
>                 goto out;
>         }
>
> @@ -2240,7 +2240,7 @@ int git_config_rename_section_in_file(const char *config_filename,
>         fstat(fileno(config_file), &st);
>
>         if (chmod(lock->filename.buf, st.st_mode & 07777) < 0) {
> -               ret = error("chmod on %s failed: %s",
> +               ret = error(_("chmod on %s failed: %s"),
>                                 lock->filename.buf, strerror(errno));
>                 goto out;
>         }
> @@ -2295,7 +2295,7 @@ int git_config_rename_section_in_file(const char *config_filename,
>         fclose(config_file);
>  unlock_and_out:
>         if (commit_lock_file(lock) < 0)
> -               ret = error("could not commit config file %s", config_filename);
> +               ret = error(_("could not commit config file %s"), config_filename);
>  out:
>         free(filename_buf);
>         return ret;
> @@ -2313,7 +2313,7 @@ int git_config_rename_section(const char *old_name, const char *new_name)
>  #undef config_error_nonbool
>  int config_error_nonbool(const char *var)
>  {
> -       return error("Missing value for '%s'", var);
> +       return error(_("Missing value for '%s'"), var);
>  }
>
>  int parse_config_key(const char *var,
> --
> 2.4.0.dirty
> --
> 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
--
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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]