#
# NOTE! Please use 'git ls-files -i --exclude-standard'
# command after changing this file, to see if there are
# any tracked files which get ignored after the change.
#

# Standard ignores
*.[aod]
*.la
*.lo
*.pyc
*.so
*~
tags

# Anything created as a result of running a test
results.*/
tmp/

# This file is meant only for local testing
private_host_attributes_config.py

# default svn:ignore property:
*.o
#*#
.*.rej
*.rej
.*~
*~
.*.swp
.#*
.DS_Store.
# additional patterns:
*.pyc
client/control
client/results/
client/tests/kvm/images
client/tests/kvm/env
client/tmp
client/tests/kvm/*.cfg
logs/*
results-*
results/*
server/tmp
tko/parsers/test/site_scenarios
ExternalSource
/frontend/client/www/
/shadow_config.ini
/shadow_config.param.ini
/site-packages/
monitor_db.pid
server/cros/chaos_shadow_ap_list.conf
server/site_tests/network_WiFiChaosPSK/control.local
manifest-versions
server/cros/bluetooth/LATEST_STABLE_AUTOTEST_COMMIT

# These exist on the production servers.
bug_filing_oauth_credentials.dat
gmail_api_credentials.dat
creds/
site_utils/autotest_private/
site_utils/autotest_tools/
site_utils/devserver/
site_utils/buildbot_src/

# Container directory
containers/

# Shadow config for ssp deploy
ssp_deploy_shadow_config.json

# Shadow config for perf dashboard
tko/perf_upload/perf_dashboard_shadow_config.json

# HWID key file used by site_utils/hwid_lib.py
hwid_key

# Present on Skylab drones
/swarming_state/

# Nested checkout
server/cros/faft/fw-testing-configs/

.idea
.vscode
.cipd_bin

autotest.iml