# Ignore any python bytecode.
*.pyc

# Ignore the batch files produced by the Windows bootstrapping.
/git-bash
/git.bat
/gitk.bat
/pylint.bat
/.pylint.d/
/python
/python.bat
/ssh.bat
/ssh-keygen.bat
/svn
/svn.bat
/svnversion.bat
/.codereview_upload_cookies
/.gitconfig
/.git_bleeding_edge
/.git_cl_description_backup
/.last_codereview_email_address
/.ssh
/.subversion

# Ignore locations where third-party tools are placed during bootstrapping.
/python*_bin
/git_bin
/git-*_bin
/svn_bin
/external_bin
/win_toolchain/vs2013_files
/win_toolchain/vs_files
/win_toolchain/*.timestamps
/win_toolchain/.vspro
/win_toolchain/data.json

# Ignore ctags/cscope index files
/TAGS
/cscope.files
/cscope.in.out
/cscope.out
/cscope.po.out
/tags

# Ignore unittest related files.
/testing_support/_infra
/testing_support/_rietveld
/tests/git-svn-submodule/
/tests/subversion_config/README.txt
/tests/subversion_config/auth
/tests/subversion_config/servers
/tests/svn/
/tests/svnrepo/

# Ignore intermediate isolate files
*.isolated
*.isolated.state

# Ignore recipe working directory.
/.recipe_deps
/infra/.recipe_deps

# Ignore google AE downloaded for running testing only.
testing_support/google_appengine
