Hi, On Thu, 22 Feb 2007, Junio C Hamano wrote: > Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: > > >> Can't they made to call a new function, which has the option > >> parsing followed by the switch between magic max_count==-2 > >> codepath and run_diff_files()? > > > > How about adding "int always_use_index" to the signature of > > run_diff_files()? > > The "magic" part is not about the index at all (it is about > using only that magic part to do diff on filesystem), and the > original code is about "index vs filesystem". I don't understand. diff-files until --no-index _always_ diffed against the index. Now, if "allow_no_index" is non-zero, under very special circumstances diff-files does the DWIMery. > I would rather keep them in separate function. That is: > > run_diff_files(); /* compares index vs filesystem */ > > run_diff_filesystem(); /* runs diff2 */ > > run_diff_files_cmd() { > /* a new helper */ > parse args; > if (magic) > run_diff_filesystem(); > else > run_diff_files(); > } > > builtin_diff() { > if (not about two trees nor two blobs ...) > run_diff_files_cmd(); > else if (about two trees) > run_diff_tree(); > else if (about tree and index) > run_diff_index(); > } > > wt_status() { > run_diff_files(); > run_diff_index(); > } So you mean only add run_diff_files_cmd(), called by diff and diff-files? > For one thing, I want to move read_cache() out of run_diff_files() and > run_diff_index() to their callers, so that the caller can use a > handcrafted active_cache[] that is somewhat different from what > read_cache() originally read. I don't understand. Would it not be easier to "return active_nr" in read_cache_from(path) _also_ when active_cache is set? Or alternatively check if active_alloc is set? Ciao, Dscho - 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