Re: [RFC PATCH 00/12] Sparse checkout
From: Nguyen Thai Ngoc Duy <hidden>
Date: 2016-06-15 22:45:00
On 7/24/08, Jakub Narebski [off-list ref] wrote:
Second, I think you can simply special case .git* files (.gitignore, .gitattributes, .gitmodules), and always check them out for all intermediate directories (unless configured otherwise, of course). So for example if you have the following directory structure: A/.gitignore A/a A/B1/.gitignore A/B1/b A/B2/.gitignore A/B2/c and you are checking out only subdirectory 'B1' (and all files in it; if subdirectories are checked out recursively it depends on configuration), and if for example there is .gitignore in every directory, then checked out tree would look like this: A/.gitignore A/B1/.gitignore A/B1/b The ability to do this is one of advantages of 'sparse' checkout over 'subtree' checkout.
Or teach git to use index version of those files. Or collect all those files, combine them and put the result to .git/info/exclude (and similar places). Anyway well organized repos won't have this problem. Checking some files out as read-only (like this case) may be interesting. Though I do not how much complicated it can be. -- Duy