diff-files: mark an index entry we know is up-to-date as such
This does not make any difference when running diff-files alone, but if you internally run run_diff_files() and then run other operations further on the index, we do not have to run lstat(2) again on entries we already have checked. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
@ -476,8 +476,11 @@ int run_diff_files(struct rev_info *revs, unsigned int option)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
changed = ce_match_stat(ce, &st, ce_option);
|
changed = ce_match_stat(ce, &st, ce_option);
|
||||||
if (!changed && !DIFF_OPT_TST(&revs->diffopt, FIND_COPIES_HARDER))
|
if (!changed) {
|
||||||
continue;
|
ce_mark_uptodate(ce);
|
||||||
|
if (!DIFF_OPT_TST(&revs->diffopt, FIND_COPIES_HARDER))
|
||||||
|
continue;
|
||||||
|
}
|
||||||
oldmode = ce->ce_mode;
|
oldmode = ce->ce_mode;
|
||||||
newmode = ce_mode_from_stat(ce, st.st_mode);
|
newmode = ce_mode_from_stat(ce, st.st_mode);
|
||||||
diff_change(&revs->diffopt, oldmode, newmode,
|
diff_change(&revs->diffopt, oldmode, newmode,
|
||||||
|
Reference in New Issue
Block a user