Partial updates require that source files have appropriate timestamps,
which Git does not set in any special way by default. Thus, before
attempting to update files in-place, we set source timestamps based on
last commit time, which is the effective update time in any case.