On 04/04/14 16:24, Gabriel L. Somlo wrote:
> When using a git mirror, having build byproducts stay untracked
> and hidden makes generating and formatting patches much easier.
> The presence of .gitignore should leave svn users unaffected.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Gabriel Somlo <[email protected]>
> ---
> 
> Please consider applying (not 100% sure I got *everything*, but
> we can add/remove lines from it later).
> 
> Thanks much,
>   Gabriel
> 
>  .gitignore | 8 ++++++++
>  1 file changed, 8 insertions(+)
>  create mode 100644 .gitignore
> 
> diff --git a/.gitignore b/.gitignore
> new file mode 100644
> index 0000000..bd112ae
> --- /dev/null
> +++ b/.gitignore
> @@ -0,0 +1,8 @@
> +/BaseTools/Source/C/bin
> +/BaseTools/Source/C/libs
> +/BaseTools/Source/C/VfrCompile
> +/Build
> +/Conf
> +*.d
> +*.o
> +*.pyc
> 

(1) I used to do this with .gitignore too, but at one point I got a
helpful hint from Eric Blake (IIRC): you can do the same patterns in
".git/info/exclude". That file is not versioned (which I consider an
advantage in this case) -- you can easily modify it privately, without
it interfering with your patches.

(2) In addition to your entries, I have:

tags

because edk2 is completely impossible to navigate without ctags and a
tags-capable editor. (This also illustrates why ".git/info/exclude" is
very flexible.)

(3) Some of your entries are too generic. In case of VfrCompile, I like
to exclude only generated files -- if I hack into the BaseTools sources
for some reason, I'd like to see those diffs:

/BaseTools/Source/C/VfrCompile/EfiVfrParser.cpp
/BaseTools/Source/C/VfrCompile/EfiVfrParser.h
/BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr
/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg
/BaseTools/Source/C/VfrCompile/VfrLexer.cpp
/BaseTools/Source/C/VfrCompile/VfrLexer.h
/BaseTools/Source/C/VfrCompile/VfrParser.dlg
/BaseTools/Source/C/VfrCompile/VfrSyntax.cpp
/BaseTools/Source/C/VfrCompile/VfrTokens.h

(4) I also like to track the Conf directory, ie. I wouldn't like to
exclude it completely, just the .cache subdir:

/Conf/.cache/

I suggest to keep this patch downstream only, or (actually, more) to put
your patterns in ".git/info/exclude", without tracking them.

Thanks
Laszlo

------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to