Messages in this thread | | | Date | Fri, 26 Jun 2009 15:51:41 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH] gitignore: add *.bz2 and *.cpio to top-level; clean up usr/ |
| |
Sam Ravnborg wrote: > > My concern is that we may decide to carry files in certain formats > in the kernel source. > And I see a tendency to add more and more file extensions to the > top-level .gitignore file. > > It is fine as long as this is files that are: > 1) either generated in a lot of places > 2) or generated in the top-level directory > > But files that we generate in a few arch/*/boot/ directories > does not belong in the top-level .gitignore file. > We should keep the ignore rules close to where they apply, > even if this may cause us to add a few more lines > to the relevant .gitignore files. >
Honestly, I think this is ridiculous. A single well-maintained .gitignore file is a *service* to the whole tree, and the last thing we want is git to behave differently in different subdirectories.
It is *much better* to have global rules, and add exceptions out in the leaves of the tree where they apply. The question that the global .gitignore should answer is:
"If I have a file of type X, is the user *likely* to want to actually want it in the tree?"
In the case of *.gz *.bz2 *.lzma or *.cpio, I think the answer is a resounding "no". Almost every architecture uses compressed files at some stage of its boot, and it's *always* a generated file. A non-generated file is probably a patch being handled by a developer, not something that is meant to be in the tree.
I'm not saying we wouldn't *ever* want to have compressed binary blobs in the tree -- there are actually a handful of reasons to do so -- but *those are the exceptions*, and therefore should be using !-rules in their respective .gitignores, instead of requiring that the entire tree suffers from less sensible defaults.
-hpa
| |