# This config file disables some of the ChromiumOS source style checks.
# Comment out the disable-flags for any checks you want to leave enabled.

[Hook Overrides]
#stray_whitespace_check: false
#long_line_check: false
cros_license_check: false
#tab_check: false

