]> git.ipfire.org Git - thirdparty/git.git/commitdiff
git_xmerge_config(): prefer error() to die()
authorJeff King <peff@peff.net>
Thu, 7 Dec 2023 07:24:49 +0000 (02:24 -0500)
committerJunio C Hamano <gitster@pobox.com>
Fri, 8 Dec 2023 23:26:21 +0000 (08:26 +0900)
When parsing merge config, a few code paths die on error. It's
preferable for us to call error() here, because the resulting error
message from the config parsing code contains much more detail.

For example, before:

  fatal: unknown style 'bogus' given for 'merge.conflictstyle'

and after:

  error: unknown style 'bogus' given for 'merge.conflictstyle'
  fatal: bad config variable 'merge.conflictstyle' in file '.git/config' at line 7

Since we're touching these lines, I also marked them for translation.
There's no reason they shouldn't behave like most other config-parsing
errors.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
xdiff-interface.c

index adcea109fa9a54eaa96c67c1b5e8a1689af253af..05d6475a095c15d665e7ae76c39f35e3d60e973f 100644 (file)
@@ -1,4 +1,5 @@
 #include "git-compat-util.h"
+#include "gettext.h"
 #include "config.h"
 #include "hex.h"
 #include "object-store-ll.h"
@@ -313,7 +314,7 @@ int git_xmerge_config(const char *var, const char *value,
 {
        if (!strcmp(var, "merge.conflictstyle")) {
                if (!value)
-                       die("'%s' is not a boolean", var);
+                       return error(_("'%s' is not a boolean"), var);
                if (!strcmp(value, "diff3"))
                        git_xmerge_style = XDL_MERGE_DIFF3;
                else if (!strcmp(value, "zdiff3"))
@@ -325,8 +326,8 @@ int git_xmerge_config(const char *var, const char *value,
                 * git-completion.bash when you add new merge config
                 */
                else
-                       die("unknown style '%s' given for '%s'",
-                           value, var);
+                       return error(_("unknown style '%s' given for '%s'"),
+                                    value, var);
                return 0;
        }
        return git_default_config(var, value, ctx, cb);