Introduce i18n.commitencoding.
authorJunio C Hamano <junkio@cox.net>
Mon, 28 Nov 2005 00:09:40 +0000 (16:09 -0800)
committerJunio C Hamano <junkio@cox.net>
Mon, 28 Nov 2005 00:09:40 +0000 (16:09 -0800)
This is to hold what the project-local rule as to the
charset/encoding for the commit log message is.  Lack of it
defaults to utf-8.

Signed-off-by: Junio C Hamano <junkio@cox.net>
cache.h
config.c
environment.c

diff --git a/cache.h b/cache.h
index 61bf884..634b5aa 100644 (file)
--- a/cache.h
+++ b/cache.h
@@ -399,6 +399,9 @@ extern int check_repository_format_version(const char *var, const char *value);
 extern char git_default_email[MAX_GITNAME];
 extern char git_default_name[MAX_GITNAME];
 
+#define MAX_ENCODING_LENGTH 64
+extern char git_commit_encoding[MAX_ENCODING_LENGTH];
+
 /* Sane ctype - no locale, and works with signed chars */
 #undef isspace
 #undef isdigit
index 0c43d76..152fa28 100644 (file)
--- a/config.c
+++ b/config.c
@@ -237,6 +237,11 @@ int git_default_config(const char *var, const char *value)
                return 0;
        }
 
+       if (!strcmp(var, "i18n.commitencoding")) {
+               strncpy(git_commit_encoding, value, sizeof(git_commit_encoding));
+               return 0;
+       }
+
        /* Add other config variables here.. */
        return 0;
 }
index 3f19473..0886ad3 100644 (file)
@@ -14,6 +14,7 @@ char git_default_name[MAX_GITNAME];
 int trust_executable_bit = 1;
 int only_use_symrefs = 0;
 int repository_format_version = 0;
+char git_commit_encoding[MAX_ENCODING_LENGTH] = "utf-8";
 
 static char *git_dir, *git_object_dir, *git_index_file, *git_refs_dir,
        *git_graft_file;