# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~

# global ignores
*.py[co]
*.swp
*~
*.o
*.hpc_o
*.prof_o
*.dyn_o
*.hi
*.hpc_hi
*.prof_hi
*.dyn_hi
*.hp
*.tix
*.prof
*.stat
.hpc/

# /
/.hsenv
/Makefile
/Makefile.ghc
/Makefile.ghc.bak
/Makefile.in
/Makefile.local
/Session.vim
/TAGS*
/apps/
/aclocal.m4
/autom4te.cache
/autotools/install-sh
/autotools/missing
/autotools/py-compile
/autotools/replace_vars.sed
/autotools/shell-env-init
/cabal_macros.h
/config.log
/config.status
/configure
/devel/squeeze-amd64.tar.gz
/devel/squeeze-amd64.conf
/devel/wheezy-amd64.tar.gz
/devel/wheezy-amd64.conf
/dist/
/empty-cabal-config
/epydoc.conf
/ganeti
/ganeti.cabal
/ganeti.depsflags
/stamp-srclinks
/stamp-directories
/vcs-version
/*.patch
/*.tar.bz2
/*.tar.gz
/ganeti-[0-9]*.[0-9]*.[0-9]*

# daemons
/daemons/daemon-util
/daemons/ganeti-cleaner
/daemons/ganeti-masterd
/daemons/ganeti-noded
/daemons/ganeti-rapi
/daemons/ganeti-watcher

# doc
/doc/api/
/doc/coverage/
/doc/html/
/doc/man-html/
/doc/install-quick.rst
/doc/news.rst
/doc/upgrade.rst
/doc/hs-lint.html
/doc/manpages-enabled.rst
/doc/man-*.rst
/doc/users/groupmemberships
/doc/users/groups
/doc/users/users

# doc/examples
/doc/examples/bash_completion
/doc/examples/bash_completion-debug
/doc/examples/ganeti.cron
/doc/examples/ganeti.initd
/doc/examples/ganeti.logrotate
/doc/examples/ganeti-kvm-poweroff.initd
/doc/examples/ganeti-master-role.ocf
/doc/examples/ganeti-node-role.ocf
/doc/examples/gnt-config-backup
/doc/examples/hooks/ipsec
/doc/examples/systemd/ganeti-*.service

# lib
/lib/_constants.py
/lib/_vcsversion.py
/lib/_generated_rpc.py
/lib/opcodes.py
/lib/rpc/stub/

# man
/man/*.[0-9]
/man/*.html
/man/*.in
/man/*.gen

# test/hs
/test/hs/hail
/test/hs/harep
/test/hs/hbal
/test/hs/hcheck
/test/hs/hinfo
/test/hs/hroller
/test/hs/hscan
/test/hs/hspace
/test/hs/hsqueeze
/test/hs/hpc-htools
/test/hs/hpc-mon-collector
/test/hs/htest

# tools
/tools/kvm-ifup
/tools/kvm-ifup-os
/tools/xen-ifup-os
/tools/burnin
/tools/ensure-dirs
/tools/users-setup
/tools/vcluster-setup
/tools/vif-ganeti
/tools/vif-ganeti-metad
/tools/net-common
/tools/node-cleanup
/tools/node-daemon-setup
/tools/prepare-node-join
/tools/shebang/
/tools/ssh-update
/tools/ssl-update

# scripts
/scripts/gnt-backup
/scripts/gnt-cluster
/scripts/gnt-debug
/scripts/gnt-filter
/scripts/gnt-group
/scripts/gnt-instance
/scripts/gnt-job
/scripts/gnt-node
/scripts/gnt-os
/scripts/gnt-network
/scripts/gnt-storage

# haskell-specific rules
/src/mon-collector
/src/htools
/src/hconfd
/src/hluxid
/src/hs2py
/src/hs2py-constants
/src/ganeti-confd
/src/ganeti-wconfd
/src/ganeti-kvmd
/src/ganeti-luxid
/src/ganeti-metad
/src/ganeti-mond
/src/rpc-test

# automatically-built Haskell files
/src/AutoConf.hs
/src/Ganeti/Curl/Internal.hs
/src/Ganeti/Hs2Py/ListConstants.hs
/src/Ganeti/Version.hs
/test/hs/Test/Ganeti/TestImports.hs
