mirror of
https://github.com/pre-commit/pre-commit-hooks.git
synced 2025-08-14 17:31:28 +08:00
34 lines
957 B
Python
34 lines
957 B
Python
from __future__ import absolute_import
|
|
from __future__ import print_function
|
|
from __future__ import unicode_literals
|
|
|
|
from pre_commit_hooks.util import cmd_output
|
|
|
|
|
|
def main(argv=None):
|
|
# `argv` is ignored, pre-commit will send us a list of files that we
|
|
# don't care about
|
|
added_diff = cmd_output(
|
|
'git', 'diff', '--staged', '--diff-filter=A', '--raw',
|
|
)
|
|
retv = 0
|
|
for line in added_diff.splitlines():
|
|
metadata, filename = line.split('\t', 1)
|
|
new_mode = metadata.split(' ')[1]
|
|
if new_mode == '160000':
|
|
print('{}: new submodule introduced'.format(filename))
|
|
retv = 1
|
|
|
|
if retv:
|
|
print()
|
|
print('This commit introduces new submodules.')
|
|
print('Did you unintentionally `git add .`?')
|
|
print('To fix: git rm {thesubmodule} # no trailing slash')
|
|
print('Also check .gitmodules')
|
|
|
|
return retv
|
|
|
|
|
|
if __name__ == '__main__':
|
|
exit(main())
|