diff --git a/mailinfo.c b/mailinfo.c index 6d8c93360fe084a4209277312a99fbb40d1c04bc..de105acaa8898b637e53b9a38ca695ec9514d817 100644 --- a/mailinfo.c +++ b/mailinfo.c @@ -8,6 +8,7 @@ #include #include #include +#include "cache.h" #ifdef NO_STRCASESTR extern char *gitstrcasestr(const char *haystack, const char *needle); @@ -718,27 +719,27 @@ static void handle_body(void) static const char mailinfo_usage[] = "git-mailinfo [-k] [-u] msg patch info"; -static void usage(void) { - fprintf(stderr, "%s\n", mailinfo_usage); - exit(1); -} - int main(int argc, char **argv) { + /* NEEDSWORK: might want to do the optional .git/ directory + * discovery + */ + git_config(git_default_config); + while (1 < argc && argv[1][0] == '-') { if (!strcmp(argv[1], "-k")) keep_subject = 1; else if (!strcmp(argv[1], "-u")) - metainfo_charset = "utf-8"; + metainfo_charset = git_commit_encoding; else if (!strncmp(argv[1], "-u=", 3)) metainfo_charset = argv[1] + 3; else - usage(); + usage(mailinfo_usage); argc--; argv++; } if (argc != 3) - usage(); + usage(mailinfo_usage); cmitmsg = fopen(argv[1], "w"); if (!cmitmsg) { perror(argv[1]);