Commit 27f215cf authored by Richard Levitte's avatar Richard Levitte
Browse files

Reorganize .gitignore to make better use of its features



It's possible to have a very few rules for some directories and trust
that other patterns further along will take care of whatever is left.
.gitignore should therefore be loosely organised from least generic to
most generic, allowing things like this:

    # Keep any file with extensions, such as foo.c, bar.h, ...
    !/dir/*.*

    # ....

    # Remove all object files
    *.o
    *.obj

With this change, we implement some very generic rules for what will
and will not be ignored in the fuzz subdirectory, and truse that
patterns later on (such as *.o, *.obj, *.exe) will take care of
everything we didn't specifically specify for the fuzz subdirectory.

Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
parent f1f5ee17
Loading
Loading
Loading
Loading
+68 −67
Original line number Diff line number Diff line
# Object files
*.o
*.obj

# editor artefacts
*.swp
.#*
\#*#
*~
# Ignore editor artefacts
/.dir-locals.el

# Top level excludes
@@ -25,56 +17,20 @@
# *all* Makefiles
Makefile

/test/*.ss
/test/*.srl
/test/.rnd
/test/test*.pem
/test/newkey.pem
/test/*.log
/test/buildtest_*

# Certificate symbolic links
*.0

# Links under apps
/apps/CA.pl
/apps/tsget
/apps/tsget.pl
/apps/md4.c


# Auto generated headers
/crypto/buildinf.h
/crypto/include/internal/*_conf.h
/openssl/include/opensslconf.h
/util/domd

# Auto generated assembly language source files
*.s
!/crypto/*/asm/*.s
/crypto/arm*.S
/crypto/*/*.S
*.asm
!/crypto/*/asm/*.asm

# Executables
/apps/openssl
/fuzz/asn1
/fuzz/asn1-test
/fuzz/asn1parse
/fuzz/asn1parse-test
/fuzz/bignum
/fuzz/bignum-test
/fuzz/bndiv
/fuzz/bndiv-test
/fuzz/conf
/fuzz/conf-test
/fuzz/cms
/fuzz/cms-test
/fuzz/ct
/fuzz/ct-test
/fuzz/server
/fuzz/server-test
/test/sha256t
/test/sha512t
/test/gost2814789t
@@ -92,35 +48,32 @@ Makefile
/test/ssltest_old
/test/x509aux
/test/v3ext
*.so*
*.dylib*
*.dll*
*.exe
*.pyc
*.exp
*.lib
*.pdb
*.ilk
*.def
*.rc
*.res
# Exceptions
!/test/bctest
!/crypto/des/times/486-50.sol

# Certain files that get created by tests on the fly
/test/*.ss
/test/*.srl
/test/.rnd
/test/test*.pem
/test/newkey.pem
/test/*.log
/test/buildtest_*

# Fuzz stuff.
# Anything without an extension is an executable on Unix, so we keep files
# with extensions.  And we keep the corpora subddir versioned as well.
# Anything more generic with extensions that should be ignored will be taken
# care of by general ignores for those extensions (*.o, *.obj, *.exe, ...)
/fuzz/*
!/fuzz/README*
!/fuzz/corpora
!/fuzz/*.*

# Misc auto generated files
/include/openssl/opensslconf.h
/tools/c_rehash
/tools/c_rehash.pl
/crypto/**/lib
/engines/**/lib
/ssl/**/lib
Makefile.save
*.bak
/tags
/TAGS
cscope.*
*.d
/crypto.map
/ssl.map

@@ -168,3 +121,51 @@ cscope.*
/test/fips_shatest.c
/test/fips_test_suite.c
/test/shatest.c

##### Generic patterns
# Auto generated assembly language source files
*.s
!/crypto/*/asm/*.s
/crypto/arm*.S
/crypto/*/*.S
*.asm
!/crypto/*/asm/*.asm

# Object files
*.o
*.obj

# editor artefacts
*.swp
.#*
\#*#
*~

# Certificate symbolic links
*.0

# All kinds of executables
*.so
*.so.*
*.dylib
*.dylib.*
*.dll
*.dll.*
*.exe
*.pyc
*.exp
*.lib
*.pdb
*.ilk
*.def
*.rc
*.res

# Misc generated stuff
Makefile.save
/crypto/**/lib
/engines/**/lib
/ssl/**/lib
*.bak
cscope.*
*.d