#
# 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

# 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
