Andreas Ericsson wrote: > @@ -1861,7 +1858,7 @@ static int git_pack_config(const char *k, const > char *v) > } > if (!strcmp(k, "pack.threads")) { > delta_search_threads = git_config_int(k, v); > - if (delta_search_threads < 1) > + if (delta_search_threads < 0) > die("invalid number of threads specified (%d)", > delta_search_threads); > #ifndef THREADED_DELTA_SEARCH if (delta_search_threads != 1) warning("no threads support, ignoring %s", k); I changed this to '!= 1' since that is the only time the user gets what they asked for when THREADED_DELTA_SEARCH is not enabled. If the user requested nthreads == ncpus by setting delta_search_threads = 0, I think we should let the user know that thread support is not enabled, and we are ignoring their request. > @@ -2076,6 +2073,9 @@ int cmd_pack_objects(int argc, const char **argv, > const char *prefix) > if (!pack_compression_seen && core_compression_seen) > pack_compression_level = core_compression_level; > > + if (!delta_search_threads) /* --threads=0 means autodetect */ > + delta_search_threads = online_cpus(); This is in the wrong place. It should be _after_ command line arguments are processed to handle --threads=0 > + > progress = isatty(2); > for (i = 1; i < argc; i++) { > const char *arg = argv[i]; > @@ -2130,7 +2130,8 @@ int cmd_pack_objects(int argc, const char **argv, > const char *prefix) > if (!prefixcmp(arg, "--threads=")) { > char *end; > delta_search_threads = strtoul(arg+10, &end, 0); > - if (!arg[10] || *end || delta_search_threads < 1) > + > + if (!arg[10] || *end || delta_search_threads < 0) > usage(pack_usage); > #ifndef THREADED_DELTA_SEARCH > if (delta_search_threads > 1) Same comment as above about warning when delta_search_threads != 1. -brandon - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html