Merge branch 'tr/mergetool-valgrind'
[gitweb.git] / builtin / grep.c
index 1851797540c17791f03e0d2fb86f5463e4e3816e..a286692e467710d92346ab6900e98f1126cb967d 100644 (file)
@@ -325,7 +325,7 @@ static int grep_config(const char *var, const char *value, void *cb)
        }
 
        if (!strcmp(var, "color.grep"))
-               opt->color = git_config_colorbool(var, value, -1);
+               opt->color = git_config_colorbool(var, value);
        else if (!strcmp(var, "color.grep.context"))
                color = opt->color_context;
        else if (!strcmp(var, "color.grep.filename"))
@@ -598,8 +598,11 @@ static int grep_object(struct grep_opt *opt, const struct pathspec *pathspec,
                struct strbuf base;
                int hit, len;
 
+               read_sha1_lock();
                data = read_object_with_reference(obj->sha1, tree_type,
                                                  &size, NULL);
+               read_sha1_unlock();
+
                if (!data)
                        die(_("unable to read tree (%s)"), sha1_to_hex(obj->sha1));
 
@@ -898,8 +901,6 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
        strcpy(opt.color_sep, GIT_COLOR_CYAN);
        opt.color = -1;
        git_config(grep_config, &opt);
-       if (opt.color == -1)
-               opt.color = git_use_color_default;
 
        /*
         * If there is no -- then the paths must exist in the working