diff options
-rwxr-xr-x | Biz/Ide/pre-commit | 19 | ||||
-rwxr-xr-x | Biz/Ide/version | 11 |
2 files changed, 29 insertions, 1 deletions
diff --git a/Biz/Ide/pre-commit b/Biz/Ide/pre-commit index 8b17092..507d7e6 100755 --- a/Biz/Ide/pre-commit +++ b/Biz/Ide/pre-commit @@ -1,2 +1,19 @@ #!/usr/bin/env bash -exec $BIZ_ROOT/Biz/Ide/lint **/* +# +# - prevent frozen code from being checked in +# - guard against lint errors +## + set -e + changed=($(git diff-index --cached --name-only HEAD)) + for ns in ${changed[@]} + do + version=$($BIZ_ROOT/Biz/Ide/version $ns) + if (( $version < 1 )); then + echo "fail: version: $ns: $version" + exit 1 + else + echo "info: version: $ns: $version" + fi + done + $BIZ_ROOT/Biz/Ide/lint **/* +## diff --git a/Biz/Ide/version b/Biz/Ide/version new file mode 100755 index 0000000..3a02b95 --- /dev/null +++ b/Biz/Ide/version @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +# +# simple implementation of kelvin versioning +## + ns=$1 + commits=$(git log --oneline --follow $ns | wc -l) + # gold melts at 1337 kelvin, so we start with this + # bc we are forging gold here + version=$(bc -l <<< "1337 - $commits") + echo $version +## |