On 12/18/2019 9:18 PM, Ed Maste wrote: > On Wed, 18 Dec 2019 at 21:07, Derrick Stolee <stolee@xxxxxxxxx> wrote: >> >> On 12/18/2019 8:58 PM, Ed Maste wrote: >> >> Thanks for the report! >> >> It was a little unclear from the get-go what exactly the issue is. >> >>> On FreeBSD, when executed by root ls enables the '-A' option: >>> >>> -A Include directory entries whose names begin with a dot (`.') >>> except for . and ... Automatically set for the super-user unless >>> -I is specified. >> >> It appears that the "ls" commands in the sparse-checkout tests are >> reporting the ".git" directory when executed on FreeBSD as root. Is this >> only as root? > > Yes, this is only as root - it seems Cirrus-CI invokes the build and > test scripts as root, which is why I had trouble reproducing it > locally. > >>> Pipe ls's output to grep -v .git to remove the undesired entry. Also >>> pass the -1 option to ensure one entry per line. >> >> What if we instead ran "ls -a" and added .git to our expected output >> (when appropriate)? Would that be simpler (and reduce the process >> count that this solution introduces). > > I originally tried that approach and thought it was a bit cumbersome, > but avoiding additional process invocations is a good argument. I'll > send a v2 with that change instead. I guess you are right that having "." and ".." appear is a bit silly. Perhaps your approach is cleaner, and the extra processes are not too much of a cost. Let's hold off on the v2 for a bit in case someone has a better idea. Thanks, -Stolee