.gitignore

# C*
.out/
build/
src/gen-java/
src/resources/org/apache/cassandra/config/
logs/
conf/hotspot_compiler
doc/cql3/CQL.html

# C* debs
build-stamp
build.properties
debian/cassandra*debhelper*
debian/cassandra*.substvars
debian/cassandra/
debian/cassandra-tools/
debian/files

# gitignore doesn't help with modified files - you may wish to:
#   git update-index --assume-unchanged test/data/serialization/2.0/db.RowMutation.bin
# to undo:
#   git update-index --no-assume-unchanged test/data/serialization/2.0/db.RowMutation.bin

# IntelliJ
.idea/
*.eml
*.iml
*.ipr
*.iws

# Eclipse
.classpath
.project
.metadata
.settings/
local.properties

# Cscope
cscope.*

# NetBeans
nbbuild/
nbdist/
nbproject/
nb-configuration.xml
nbactions.xml

# Maven, etc.
out/
target/

# General
*.pyc
*~
*.bak
*.sw[o,p]
*.tmp
.DS_Store
Thumbs.db

# JSR223
lib/jsr223/clojure/*.jar
lib/jsr223/groovy/*.jar
lib/jsr223/jaskell/*.jar
lib/jsr223/jruby/*.jar
lib/jsr223/jruby/jni
lib/jsr223/jruby/ruby
lib/jsr223/jython/*.jar
lib/jsr223/jython/cachedir
lib/jsr223/scala/*.jar

/.ant-targets-build.xml

src/dist/*
*.logdir_IS_UNDEFINED

# Sidecar version - generated by build.gradle
sidecar.version

# Sidecar copyDist files copied to root directory
agents
bin
conf
lib

# Local gradle cache
.gradle

dtest-jars
scripts/dependency-reduced-pom.xml

default-stylesheet.xsl
