Git 2.23
[gitweb.git] / builtin / for-each-ref.c
index f47066b42a4e7583bebd2eeb9e91ed78ee80007c..465153e85337fdf6b857a94b8c245fe33832b0dc 100644 (file)
@@ -36,8 +36,8 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix)
                OPT_GROUP(""),
                OPT_INTEGER( 0 , "count", &maxcount, N_("show only <n> matched refs")),
                OPT_STRING(  0 , "format", &format.format, N_("format"), N_("format to use for the output")),
-               OPT_CALLBACK(0 , "sort", sorting_tail, N_("key"),
-                           N_("field name to sort on"), &parse_opt_ref_sorting),
+               OPT__COLOR(&format.use_color, N_("respect format colors")),
+               OPT_REF_SORT(sorting_tail),
                OPT_CALLBACK(0, "points-at", &filter.points_at,
                             N_("object"), N_("print only refs which points at the given object"),
                             parse_opt_object_name),
@@ -54,6 +54,8 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix)
 
        format.format = "%(objectname) %(objecttype)\t%(refname)";
 
+       git_config(git_default_config, NULL);
+
        parse_options(argc, argv, prefix, opts, for_each_ref_usage, 0);
        if (maxcount < 0) {
                error("invalid --count argument: `%d'", maxcount);
@@ -71,9 +73,6 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix)
        sorting->ignore_case = icase;
        filter.ignore_case = icase;
 
-       /* for warn_ambiguous_refs */
-       git_config(git_default_config, NULL);
-
        filter.name_patterns = argv;
        filter.match_as_path = 1;
        filter_refs(&array, &filter, FILTER_REFS_ALL | FILTER_REFS_INCLUDE_BROKEN);