Merge branch 'mg/reflog-with-options'
[gitweb.git] / builtin / shortlog.c
index 5089502800d5f477f47b6cd6499d278097f11e67..f5efc67c9cad24fe54d5c6ab7257d38a4b1727ac 100644 (file)
@@ -84,7 +84,7 @@ static void insert_one_record(struct shortlog *log,
                snprintf(namebuf + len, room, " <%.*s>", maillen, emailbuf);
        }
 
-       item = string_list_insert(namebuf, &log->list);
+       item = string_list_insert(&log->list, namebuf);
        if (item->util == NULL)
                item->util = xcalloc(1, sizeof(struct string_list));
 
@@ -115,7 +115,7 @@ static void insert_one_record(struct shortlog *log,
                }
        }
 
-       string_list_append(buffer, item->util);
+       string_list_append(item->util, buffer);
 }
 
 static void read_from_stdin(struct shortlog *log)
@@ -158,7 +158,7 @@ void shortlog_add_commit(struct shortlog *log, struct commit *commit)
                buffer = eol;
        }
        if (!author)
-               die("Missing author: %s",
+               die(_("Missing author: %s"),
                    sha1_to_hex(commit->object.sha1));
        if (log->user_format) {
                struct pretty_print_context ctx = {0};
@@ -181,7 +181,7 @@ static void get_from_rev(struct rev_info *rev, struct shortlog *log)
        struct commit *commit;
 
        if (prepare_revision_walk(rev))
-               die("revision walk setup failed");
+               die(_("revision walk setup failed"));
        while ((commit = get_revision(rev)) != NULL)
                shortlog_add_commit(log, commit);
 }
@@ -249,7 +249,7 @@ int cmd_shortlog(int argc, const char **argv, const char *prefix)
 {
        static struct shortlog log;
        static struct rev_info rev;
-       int nongit;
+       int nongit = !startup_info->have_repository;
 
        static const struct option options[] = {
                OPT_BOOLEAN('n', "numbered", &log.sort_by_number,
@@ -265,12 +265,11 @@ int cmd_shortlog(int argc, const char **argv, const char *prefix)
 
        struct parse_opt_ctx_t ctx;
 
-       prefix = setup_git_directory_gently(&nongit);
        git_config(git_default_config, NULL);
        shortlog_init(&log);
        init_revisions(&rev, prefix);
-       parse_options_start(&ctx, argc, argv, prefix, PARSE_OPT_KEEP_DASHDASH |
-                           PARSE_OPT_KEEP_ARGV0);
+       parse_options_start(&ctx, argc, argv, prefix, options,
+                           PARSE_OPT_KEEP_DASHDASH | PARSE_OPT_KEEP_ARGV0);
 
        for (;;) {
                switch (parse_options_step(&ctx, options, shortlog_usage)) {
@@ -285,7 +284,7 @@ int cmd_shortlog(int argc, const char **argv, const char *prefix)
        argc = parse_options_end(&ctx);
 
        if (setup_revisions(argc, argv, &rev, NULL) != 1) {
-               error("unrecognized argument: %s", argv[1]);
+               error(_("unrecognized argument: %s"), argv[1]);
                usage_with_options(shortlog_usage, options);
        }
 
@@ -297,7 +296,7 @@ int cmd_shortlog(int argc, const char **argv, const char *prefix)
                add_head_to_pending(&rev);
        if (rev.pending.nr == 0) {
                if (isatty(0))
-                       fprintf(stderr, "(reading log message from standard input)\n");
+                       fprintf(stderr, _("(reading log message from standard input)\n"));
                read_from_stdin(&log);
        }
        else