Re: [PATCH 5/7] t0060: test obscured .gitattributes and .gitignore matching

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

 



Hi Peff & Jonathan N,

On Mon, 5 Oct 2020, Jeff King wrote:

> On Mon, Oct 05, 2020 at 01:03:53AM -0700, Jonathan Nieder wrote:
>
> > > Note that the ntfs magic prefix names in the tests come from the
> > > algorithm described in e7cb0b4455 (and are different for each file).
> >
> > Doesn't block this patch, but I'm curious: how hard would it be to make
> > a test with an NTFS prerequisite that makes sure we got the magic prefix
> > right?
>
> I suspect hard since Dscho punted on it in the original series. :) If I
> understand correctly, it would require having an NTFS filesystem, and
> generating 10,000+ files with a clashing prefix.

It's not quite _as_ bad: you only need to generate 4 files with a clashing
prefix and then the real one:

-- snip --
me@work MINGW64 ~/repros/ntfs-short-names
$ touch .gitattributes1

me@work MINGW64 ~/repros/ntfs-short-names
$ touch .gitattributes2

me@work MINGW64 ~/repros/ntfs-short-names
$ touch .gitattributes3

me@work MINGW64 ~/repros/ntfs-short-names
$ touch .gitattributes4

me@work MINGW64 ~/repros/ntfs-short-names
$ touch .gitattributes

me@work MINGW64 ~/repros/ntfs-short-names
$ touch .gitignore1

me@work MINGW64 ~/repros/ntfs-short-names
$ touch .gitignore2

me@work MINGW64 ~/repros/ntfs-short-names
$ touch .gitignore3

me@work MINGW64 ~/repros/ntfs-short-names
$ touch .gitignore4

me@work MINGW64 ~/repros/ntfs-short-names
$ touch .gitignore

me@work MINGW64 ~/repros/ntfs-short-names
$ cmd //c dir //x
 Volume in drive C is OSDisk
 Volume Serial Number is 5E6B-4E77

 Directory of C:\Users\me\repros\ntfs-short-names

10/05/2020  11:11 PM    <DIR>                       .
10/05/2020  11:11 PM    <DIR>                       ..
10/05/2020  11:08 PM                 0 GI7D29~1     .gitattributes
10/05/2020  11:08 PM                 0 GITATT~1     .gitattributes1
10/05/2020  11:08 PM                 0 GITATT~2     .gitattributes2
10/05/2020  11:08 PM                 0 GITATT~3     .gitattributes3
10/05/2020  11:08 PM                 0 GITATT~4     .gitattributes4
10/05/2020  11:11 PM                 0 GI250A~1     .gitignore
10/05/2020  11:11 PM                 0 GITIGN~1     .gitignore1
10/05/2020  11:11 PM                 0 GITIGN~2     .gitignore2
10/05/2020  11:11 PM                 0 GITIGN~3     .gitignore3
10/05/2020  11:11 PM                 0 GITIGN~4     .gitignore4
              10 File(s)              0 bytes
               2 Dir(s)  314,658,705,408 bytes free
-- snap --

But I don't necessarily think that it would make sense to add that test:
it adds churn _every_ time the regression test is run, and by deity, it
sure takes way too long on Windows _already_, and the test would be for a
regression _in the NTFS driver_.

At this stage, I also highly doubt that the algorithm will change ever
again (the last time it changed was several Windows versions ago, I want
to say in Windows XP, but it could have been all the way back to NT).

In light of that, I'd say that the bang is rather small and the buck would
be not small at all, and would have to be paid by developers on Windows
who already pay a disproportionately high price when running the test
suite, so...

Ciao,
Dscho




[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