"Utsav Shah via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > The index might be aware that a file hasn't modified via fsmonitor, but > unpack-trees did not pay attention to it and checked via ie_match_stat which > can be inefficient on certain filesystems. This significantly slows down > commands that run oneway_merge, like checkout and reset --hard. > > This patch makes oneway_merge check whether a file is considered unchanged > through fsmonitor and skips ie_match_stat on it. unpack-trees also now > correctly copies over fsmonitor validity state from the source index. > Finally, for correctness, we force a refresh of fsmonitor state in > tweak_fsmonitor. > > After this change, commands like stash (that use reset --hard internally) go > from 8s or more to ~2s on a 250k file repository on a mac. If the above is verbatim copy of what you wrote in 1/1, that is very much unappreciated X-<. A cover letter for a topic serves primarily just one purpose: It is a good place to present a birds-eye-view of a multi-patch topic; a high level description of the problem (e.g. how the issue manifests to the end users), an explanation of division of the problem into subproblems you made (if applicable), and interesting highlights of the solution would all be good things to have in there. And as a topic goes through iterations, it gives you a good place to summarize what changed since the previously reviewed iterations. It could be just a single liner "addressed all the review comments for the previous iteration". A well-written multi-patch topic also uses the same after-three-dash technique used for a single-patch topic (see below) to summarize what changed since the corresponding patch in the series in the previous iteration (or just says "no changes since the previous round"---that helps the reviewers a lot). For a single-patch topic, there is no place for "here is an overall birds-eyes-view picture because the changes described in the proposed log message of individual patches are so big and complex". A single-patch topic has one patch, that solves one problem and only that problem well. When you want to summarize the changes since the previous iteration, you would write it between the three-dash-line (which appears after your sign-off) and the diffstat. Thanks.