Initial commit
This commit is contained in:
Executable
+47
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import subprocess
|
||||
import os
|
||||
import pdb
|
||||
import fnmatch
|
||||
|
||||
import sys
|
||||
|
||||
def main():
|
||||
p = subprocess.Popen(["git", "rev-parse", "--show-toplevel"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
out, err = p.communicate()
|
||||
|
||||
out = out.strip('\n')
|
||||
track_filepath = os.path.join(out, ".gittrack")
|
||||
|
||||
p = subprocess.Popen(["git", "ls-files", out, "--exclude-standard", "--others"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
out, err = p.communicate()
|
||||
|
||||
out = out.splitlines()
|
||||
|
||||
try:
|
||||
with open(track_filepath) as f:
|
||||
content = f.read().splitlines()
|
||||
except IOError:
|
||||
return 0
|
||||
|
||||
|
||||
untracked = []
|
||||
for filepath in out:
|
||||
for name in content:
|
||||
if fnmatch.fnmatch(filepath, name):
|
||||
untracked.append(filepath)
|
||||
|
||||
if untracked:
|
||||
print "The following files are not tracked: "
|
||||
for i in untracked:
|
||||
print i
|
||||
print "Please either stage these files for the commit or add them to the project's .gitignore to disregard them."
|
||||
return 1
|
||||
else:
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
exit(main())
|
||||
@@ -0,0 +1,2 @@
|
||||
.build
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
# Use this file to configure the Overcommit hooks you wish to use. This will
|
||||
# extend the default configuration defined in:
|
||||
# https://github.com/brigade/overcommit/blob/master/config/default.yml
|
||||
#
|
||||
# At the topmost level of this YAML file is a key representing type of hook
|
||||
# being run (e.g. pre-commit, commit-msg, etc.). Within each type you can
|
||||
# customize each hook, such as whether to only run it on certain files (via
|
||||
# `include`), whether to only display output if it fails (via `quiet`), etc.
|
||||
#
|
||||
# For a complete list of hooks, see:
|
||||
# https://github.com/brigade/overcommit/tree/master/lib/overcommit/hook
|
||||
#
|
||||
# For a complete list of options that you can use to customize hooks, see:
|
||||
# https://github.com/brigade/overcommit#configuration
|
||||
#
|
||||
# Uncomment the following lines to make the configuration take effect.
|
||||
|
||||
#PreCommit:
|
||||
# RuboCop:
|
||||
# enabled: true
|
||||
# on_warn: fail # Treat all warnings as failures
|
||||
#
|
||||
# TrailingWhitespace:
|
||||
# enabled: true
|
||||
# exclude:
|
||||
# - '**/db/structure.sql' # Ignore trailing whitespace in generated files
|
||||
#
|
||||
#PostCheckout:
|
||||
# ALL: # Special hook name that customizes all hooks of this type
|
||||
# quiet: true # Change all post-checkout hooks to only display output on failure
|
||||
#
|
||||
# IndexTags:
|
||||
# enabled: true # Generate a tags file with `ctags` each time HEAD changes
|
||||
|
||||
|
||||
PreCommit:
|
||||
CheckUntracked:
|
||||
enabled: true
|
||||
quiet: false
|
||||
description: 'Check for files that should be tracked or ignored.'
|
||||
required_executable: './.git-hooks/pre-commit/check_untracked.py'
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
void setup()
|
||||
{
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
}
|
||||
Reference in New Issue
Block a user