From: Junio C Hamano Date: Tue, 6 May 2008 02:16:26 +0000 (-0700) Subject: Merge branch 'jc/lstat' X-Git-Tag: v1.5.6-rc0~91 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/867fa20fe929942fba2345adc591e6f5c74f8c11?ds=inline;hp=-c Merge branch 'jc/lstat' * jc/lstat: diff-files: mark an index entry we know is up-to-date as such write_index(): optimize ce_smudge_racily_clean_entry() calls with CE_UPTODATE --- 867fa20fe929942fba2345adc591e6f5c74f8c11 diff --combined diff-lib.c index cfd629da48,6e7ab29e34..9139e45fb9 --- a/diff-lib.c +++ b/diff-lib.c @@@ -264,9 -264,6 +264,9 @@@ int setup_diff_no_index(struct rev_inf DIFF_OPT_SET(&revs->diffopt, EXIT_WITH_STATUS); break; } + if (nongit && argc != i + 2) + die("git diff [--no-index] takes two paths"); + if (argc != i + 2 || (!is_outside_repo(argv[i + 1], nongit, prefix) && !is_outside_repo(argv[i], nongit, prefix))) return -1; @@@ -479,8 -476,11 +479,11 @@@ int run_diff_files(struct rev_info *rev continue; } changed = ce_match_stat(ce, &st, ce_option); - if (!changed && !DIFF_OPT_TST(&revs->diffopt, FIND_COPIES_HARDER)) - continue; + if (!changed) { + ce_mark_uptodate(ce); + if (!DIFF_OPT_TST(&revs->diffopt, FIND_COPIES_HARDER)) + continue; + } oldmode = ce->ce_mode; newmode = ce_mode_from_stat(ce, st.st_mode); diff_change(&revs->diffopt, oldmode, newmode,