# These ignores are auto-generated from the canonical svn ignore metadata
# using:
#
#  $ git svn create-ignore
#
# Whenever possible, prefer creating ignores in svn and then generating them
# to keep git in sync.
/.children
/.project
/Makefile
/benchmarks
/build
/ipch
/out
/xcodebuild
/.flaky.log
/*.Makefile
/*.opensdf
/*.pyc
/*.sdf
/*.sln
/*.suo
/*.target.mk
/*.vcproj
/*.vcxproj
/*.vcxproj.filters
/*.vcxproj.user
/*.xcodeproj

# End generated ignores. The following are hand-added because the svn:ignore
# stuff doesn't handle them well.

# Dart Editor config files - also in all subdirectories.
.children
.project

# Built by chromebot and downloaded from Google Storage
client/tests/drt

# Compiled python binaries
*.pyc
third_party/gsutil/*/gsutilc

# From the Mac OS X Finder
.DS_Store

# Pub generated "packages" directories
packages

# Vim temporary swap files.
*.swp

# Generated files.
tools/out
