### General file patterns
*~
.*.sw?
.build_lock
.clangd
.checkstyle
.classpath
.config
.fx-build-dir
.cproject
.DS_Store
.gdb_history
.gdbinit
.jiri_manifest
.landmines
.packages
.project
.pydevproject
.ssh
.vscode
*.iml
*.orig
*.pyc
*.sublime-project
*.sublime-workspace
Cargo.lock
!/third_party/rust_crates/**/Cargo.lock
Cargo.toml
!/third_party/rust_crates/**/Cargo.toml
CMakeLists.txt
compile_commands.json
cmake-build-debug/
cscope.*
default.profraw
rls*.log
Session.vim
tags
Thumbs.db
tools/cipd.gni
topaz/
vendor/
!/third_party/rust_crates/vendor
tmp/

### Specific files
/garnet/tools/cipd.gni

### Directories to be ignored across the tree
.cipd/
.idea/

### Top-level directories
/.jiri/
/.jiri_root/
/integration/
# For storing local scripts and data files in a source tree.
/local/
/out/
/prebuilt/
/test_data/
/third_party/*
!/third_party/rust_crates
/tmp/
/topaz/
/vendor/
/src/experiences

# All files in vendor need to be delivered as is, as they use
# checksumming to ensure secure package delivery.
!/third_party/rust_crates/vendor/**
