Subject: Re: bug: sparse config interpretation incorrectness in 2.8.0-rc2

From: Junio C Hamano <[email-masked]>
Date: Thu, 17 Mar 2016 00:22:41 -0700

Durham Goode <[email-masked]> writes:

> Using git 2.8.0-rc2, given a repo with the following files:
>
> - one/hideme
> - one/donthide
> - two/foo
>
> A sparse config of:
>
> cat > .git/info/sparse-checkout <<EOF
> /*
> !one/hideme
> EOF
>
> Results in a repository that only has `one/donthide` in it.  I would
> expect `two/foo`to be present as well.  This worked in 2.6,...

2.6 is a tad too old as a reference, as the "!reinclusion" has been
in flux in recent releases.  Can you test these?

 - 2.7.0
 - 2.7.1
 - e79112d

I suspect that v2.7.0 would be broken, v2.7.1 is OK and e79112d
would also be OK (I am guessing this from [1]).  e79112d is the last
version on the 'master' branch without the topic that contains the
commit you bisected down to, but between 2.7.0 and 2.7.1 there was a
reversion of a commit that introduced the original issue.

The commit you bisected down to that is on 'master', IIUC, was a
(faulty) attempt to fix the breakage in a different way.

[Reference]

*1* http://thread.gmane.org/gmane.comp.version-control.git/288228/focus=288273