threads / patch / 2696

patch, 3 partsIntroduce i18n.commitencoding.

Subject: [PATCH 1/3] Introduce i18n.commitencoding.

## tl;dr

One message between Nov 28, 2005 and Nov 28, 2005. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Junio C Hamano· Nov 28, 2005, 00:39 UTC · lore

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>
---
 * This is not needed to make the gitk patch I just sent out
   work, because git-repo-config can do its own thing without
   the C-level integration like this.
   That may or may not be a good thing, though.  I wished either
   'git-var i18n.commitencoding' or 'git-repo-config --get
   i18n.commitencoding' in a vanilla repository to emit the
   default "utf-8".  Johannes?
 cache.h       |    3 +++
 config.c      |    5 +++++
 environment.c |    1 +
 3 files changed, 9 insertions(+), 0 deletions(-)

applies-to: 5596ac6f4661c80f823d93de7fa9aeec65ace1f1 4e72dcec89c7cda7022d4ec2dd686e77deb5376e

Show changes to 3 files +9 −0

cache.h, config.c, environment.c

diff --git a/cache.h b/cache.h
index 61bf884..634b5aa 100644
--- a/cache.h
+++ b/cache.h
@@ -399,6 +399,9 @@ extern int check_repository_format_versi
 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
diff --git a/config.c b/config.c
index 0c43d76..152fa28 100644
--- a/config.c
+++ b/config.c
@@ -237,6 +237,11 @@ int git_default_config(const char *var, 
 		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;
 }
diff --git a/environment.c b/environment.c
index 3f19473..0886ad3 100644
--- a/environment.c
+++ b/environment.c
@@ -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;
---
0.99.9.GIT

← back to recent threads