Re: [PATCH 0/1] t6042: fix breakage on Windows

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dscho,

On Wed, Jan 16, 2019 at 5:37 AM Johannes Schindelin via GitGitGadget
<gitgitgadget@xxxxxxxxx> wrote:
>
> Unfortunately, Travis decided to change some things under the hood that
> affect the Windows build. As a consequence, master has not been tested in
> quite a while, even if the test runs pretended that it had been tested :-(
>
> So imagine my surprise when master simply would refuse to pass the test
> suite cleanly outside Travis, always failing at t6042, despite the fact that
> Travis passed.
>
> It turns out that two files are written too quickly in succession, running
> into the issue where Git for Windows chooses not to populate the inode and
> device numbers in the stat data (this is a noticeable performance
> optimization). As a consequence, Git thinks the file is unchanged, and fails
> to pick up a modification. And no, we cannot simply undo the performance
> optimization, it would make things prohibitively slow in particular in large
> worktrees, and it is not like the bug is likely to be hit in reality: for
> Git to be fooled into thinking that a file is unchanged, it has to be
> written with the same file size, and within a 100ns time bucket (it is
> pretty improbable that there is any real-world scenario that would run into
> that, except of course our regression test suite).
>
> This patch works around this issue by forcing Git to recognize the new file
> versions as new files (which they really are: the patch simply replaces
>
> git mv <old> <new> && mv <file> <new> && git add <new>`
>
> by
>
> git rm <old> && mv <file> <new> && git add <new>`
>
> which is not shorter, but even a performance improvement (an unnoticeable
> one, of course).

Everything sounds good up to this final sentence.  I'm wondering if
I'm misunderstanding or if there were some simple editing errors; in
particular, I'm not sure what "even" means here (should it be left
out?), and it seems like you meant "noticeable" rather than
"unnoticeable" -- is that correct?



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux