# 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
/.debug.log
/*.Makefile
/*.opensdf
/*.pyc
/*.sdf
/*.sln
/*.suo
/*.target.mk
/*.vcproj
/*.vcxproj
/*.vcxproj.filters
/*.vcxproj.user

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

# Gyp generated files
*.xcodeproj

# 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 and files
packages
pubspec.lock

# Vim temporary swap files.
*.swp

# Generated files.
tools/out
