aboutsummaryrefslogtreecommitdiff
path: root/.dev-suite
diff options
context:
space:
mode:
authorMichael Gattozzi <mgattozzi@gmail.com>2020-01-01 22:54:34 -0500
committerMichael Gattozzi <mgattozzi@gmail.com>2020-01-01 22:54:34 -0500
commit86efa907288199acf7bb11ea3f426b18b230a4bd (patch)
tree6387d282c9a3c522d5c0d08ebf1d26bc5defc33b /.dev-suite
parented345b6583684738975e3bf8a7e0c041df0123ab (diff)
Make hooked and dev-suite git hooks cross platform
Up to this point hooked had been only designed to work on Windows, not because dev-suite didn't want to support it, but because doing so was an immense amount of work with no clear design due to how Unix and Window paths are not at all the same. While shebang notation works on them for both the paths are different. In order to get around this we wrap Ruby, Python, and Bash scripts on Windows with a different script that invokes the 'Git for Windows' sh.exe to run the actual interpreters on the script. These can work fine then as long as one has installed Git for Windows on their machine, and has a copy of py.exe or ruby.exe on their path to be invoked. There is one caveat. We have to assume that a user has installed their copy of Git for Windows in the default location. This means if they haven't the scripts will fail to run. There's not much we can do about this and it's just a necessary wart to provide cross platform capabilities for a project. All projects can be initialized now with one of the language choices and then have the proper files linked on their OS as part of the initialization. Those who need to just link them in an already existing project can just run `hooked link` in order to set their computer up. This again handles the differences between the platforms. This project is also updated to the new format of hooked so that collaboration is now not limited to just Unix based OSes.
Diffstat (limited to '.dev-suite')
-rwxr-xr-x.dev-suite/hooked/applypatch-msg1
-rwxr-xr-x.dev-suite/hooked/applypatch-msg.py1
-rwxr-xr-x.dev-suite/hooked/commit-msg4
-rwxr-xr-x.dev-suite/hooked/commit-msg.py1
-rwxr-xr-x.dev-suite/hooked/post-applypatch1
-rwxr-xr-x.dev-suite/hooked/post-applypatch.py1
-rwxr-xr-x.dev-suite/hooked/post-checkout1
-rwxr-xr-x.dev-suite/hooked/post-checkout.py1
-rwxr-xr-x.dev-suite/hooked/post-commit1
-rwxr-xr-x.dev-suite/hooked/post-commit.py1
-rwxr-xr-x.dev-suite/hooked/post-merge1
-rwxr-xr-x.dev-suite/hooked/post-merge.py1
-rwxr-xr-x.dev-suite/hooked/post-receive2
-rwxr-xr-x.dev-suite/hooked/post-receive.py1
-rwxr-xr-x.dev-suite/hooked/post-rewrite1
-rwxr-xr-x.dev-suite/hooked/post-rewrite.py1
-rwxr-xr-x.dev-suite/hooked/post-update1
-rwxr-xr-x.dev-suite/hooked/post-update.py1
-rwxr-xr-x.dev-suite/hooked/pre-auto-gc1
-rwxr-xr-x.dev-suite/hooked/pre-auto-gc.py1
-rwxr-xr-x.dev-suite/hooked/pre-commit7
-rwxr-xr-x.dev-suite/hooked/pre-commit.py7
-rwxr-xr-x.dev-suite/hooked/pre-push1
-rwxr-xr-x.dev-suite/hooked/pre-push.py1
-rwxr-xr-x.dev-suite/hooked/pre-rebase1
-rwxr-xr-x.dev-suite/hooked/pre-rebase.py1
-rwxr-xr-x.dev-suite/hooked/pre-receive1
-rwxr-xr-x.dev-suite/hooked/pre-receive.py1
-rwxr-xr-x.dev-suite/hooked/prepare-commit-msg1
-rwxr-xr-x.dev-suite/hooked/prepare-commit-msg.py1
-rwxr-xr-x.dev-suite/hooked/push-to-checkout1
-rwxr-xr-x.dev-suite/hooked/push-to-checkout.py1
-rwxr-xr-x.dev-suite/hooked/sendemail-validate1
-rwxr-xr-x.dev-suite/hooked/sendemail-validate.py1
-rwxr-xr-x.dev-suite/hooked/update1
-rwxr-xr-x.dev-suite/hooked/update.py1
-rwxr-xr-x.dev-suite/hooked/wrapper/applypatch-msg.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/commit-msg.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/post-applypatch.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/post-checkout.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/post-commit.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/post-merge.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/post-receive.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/post-rewrite.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/post-update.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/pre-auto-gc.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/pre-commit.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/pre-push.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/pre-rebase.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/pre-receive.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/prepare-commit-msg.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/push-to-checkout.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/sendemail-validate.sh2
-rwxr-xr-x.dev-suite/hooked/wrapper/update.sh2
54 files changed, 60 insertions, 28 deletions
diff --git a/.dev-suite/hooked/applypatch-msg b/.dev-suite/hooked/applypatch-msg
deleted file mode 100755
index efcbaec..0000000
--- a/.dev-suite/hooked/applypatch-msg
+++ /dev/null
@@ -1 +0,0 @@
-#! /bin/bash \ No newline at end of file
diff --git a/.dev-suite/hooked/applypatch-msg.py b/.dev-suite/hooked/applypatch-msg.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/applypatch-msg.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/commit-msg b/.dev-suite/hooked/commit-msg
deleted file mode 100755
index cc072bf..0000000
--- a/.dev-suite/hooked/commit-msg
+++ /dev/null
@@ -1,4 +0,0 @@
-#! /bin/bash
-
-# Check that the commit message is up to spec
-hooked-commit-msg $@
diff --git a/.dev-suite/hooked/commit-msg.py b/.dev-suite/hooked/commit-msg.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/commit-msg.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/post-applypatch b/.dev-suite/hooked/post-applypatch
deleted file mode 100755
index efcbaec..0000000
--- a/.dev-suite/hooked/post-applypatch
+++ /dev/null
@@ -1 +0,0 @@
-#! /bin/bash \ No newline at end of file
diff --git a/.dev-suite/hooked/post-applypatch.py b/.dev-suite/hooked/post-applypatch.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/post-applypatch.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/post-checkout b/.dev-suite/hooked/post-checkout
deleted file mode 100755
index efcbaec..0000000
--- a/.dev-suite/hooked/post-checkout
+++ /dev/null
@@ -1 +0,0 @@
-#! /bin/bash \ No newline at end of file
diff --git a/.dev-suite/hooked/post-checkout.py b/.dev-suite/hooked/post-checkout.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/post-checkout.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/post-commit b/.dev-suite/hooked/post-commit
deleted file mode 100755
index efcbaec..0000000
--- a/.dev-suite/hooked/post-commit
+++ /dev/null
@@ -1 +0,0 @@
-#! /bin/bash \ No newline at end of file
diff --git a/.dev-suite/hooked/post-commit.py b/.dev-suite/hooked/post-commit.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/post-commit.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/post-merge b/.dev-suite/hooked/post-merge
deleted file mode 100755
index efcbaec..0000000
--- a/.dev-suite/hooked/post-merge
+++ /dev/null
@@ -1 +0,0 @@
-#! /bin/bash \ No newline at end of file
diff --git a/.dev-suite/hooked/post-merge.py b/.dev-suite/hooked/post-merge.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/post-merge.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/post-receive b/.dev-suite/hooked/post-receive
deleted file mode 100755
index fb6b709..0000000
--- a/.dev-suite/hooked/post-receive
+++ /dev/null
@@ -1,2 +0,0 @@
-#! /bin/bash
-git push github --all --force
diff --git a/.dev-suite/hooked/post-receive.py b/.dev-suite/hooked/post-receive.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/post-receive.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/post-rewrite b/.dev-suite/hooked/post-rewrite
deleted file mode 100755
index efcbaec..0000000
--- a/.dev-suite/hooked/post-rewrite
+++ /dev/null
@@ -1 +0,0 @@
-#! /bin/bash \ No newline at end of file
diff --git a/.dev-suite/hooked/post-rewrite.py b/.dev-suite/hooked/post-rewrite.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/post-rewrite.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/post-update b/.dev-suite/hooked/post-update
deleted file mode 100755
index efcbaec..0000000
--- a/.dev-suite/hooked/post-update
+++ /dev/null
@@ -1 +0,0 @@
-#! /bin/bash \ No newline at end of file
diff --git a/.dev-suite/hooked/post-update.py b/.dev-suite/hooked/post-update.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/post-update.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/pre-auto-gc b/.dev-suite/hooked/pre-auto-gc
deleted file mode 100755
index efcbaec..0000000
--- a/.dev-suite/hooked/pre-auto-gc
+++ /dev/null
@@ -1 +0,0 @@
-#! /bin/bash \ No newline at end of file
diff --git a/.dev-suite/hooked/pre-auto-gc.py b/.dev-suite/hooked/pre-auto-gc.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/pre-auto-gc.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/pre-commit b/.dev-suite/hooked/pre-commit
deleted file mode 100755
index 4229848..0000000
--- a/.dev-suite/hooked/pre-commit
+++ /dev/null
@@ -1,7 +0,0 @@
-#! /bin/bash
-set -eu -o pipefail
-
-cargo build --all
-cargo test --all
-rustup run nightly cargo fmt --all -- --check
-cargo clippy --all --all-targets -- -W clippy::pedantic
diff --git a/.dev-suite/hooked/pre-commit.py b/.dev-suite/hooked/pre-commit.py
new file mode 100755
index 0000000..5ddbc42
--- /dev/null
+++ b/.dev-suite/hooked/pre-commit.py
@@ -0,0 +1,7 @@
+#!/usr/bin/env python3
+import subprocess
+
+subprocess.run("cargo build --all", shell=True, check=True)
+subprocess.run("cargo test --all -- --test-threads=1", shell=True, check=True)
+subprocess.run("rustup run nightly cargo fmt --all -- --check", shell=True, check=True)
+subprocess.run("cargo clippy --all --all-targets -- -W clippy::pedantic", shell=True, check=True)
diff --git a/.dev-suite/hooked/pre-push b/.dev-suite/hooked/pre-push
deleted file mode 100755
index efcbaec..0000000
--- a/.dev-suite/hooked/pre-push
+++ /dev/null
@@ -1 +0,0 @@
-#! /bin/bash \ No newline at end of file
diff --git a/.dev-suite/hooked/pre-push.py b/.dev-suite/hooked/pre-push.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/pre-push.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/pre-rebase b/.dev-suite/hooked/pre-rebase
deleted file mode 100755
index efcbaec..0000000
--- a/.dev-suite/hooked/pre-rebase
+++ /dev/null
@@ -1 +0,0 @@
-#! /bin/bash \ No newline at end of file
diff --git a/.dev-suite/hooked/pre-rebase.py b/.dev-suite/hooked/pre-rebase.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/pre-rebase.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/pre-receive b/.dev-suite/hooked/pre-receive
deleted file mode 100755
index efcbaec..0000000
--- a/.dev-suite/hooked/pre-receive
+++ /dev/null
@@ -1 +0,0 @@
-#! /bin/bash \ No newline at end of file
diff --git a/.dev-suite/hooked/pre-receive.py b/.dev-suite/hooked/pre-receive.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/pre-receive.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/prepare-commit-msg b/.dev-suite/hooked/prepare-commit-msg
deleted file mode 100755
index efcbaec..0000000
--- a/.dev-suite/hooked/prepare-commit-msg
+++ /dev/null
@@ -1 +0,0 @@
-#! /bin/bash \ No newline at end of file
diff --git a/.dev-suite/hooked/prepare-commit-msg.py b/.dev-suite/hooked/prepare-commit-msg.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/prepare-commit-msg.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/push-to-checkout b/.dev-suite/hooked/push-to-checkout
deleted file mode 100755
index efcbaec..0000000
--- a/.dev-suite/hooked/push-to-checkout
+++ /dev/null
@@ -1 +0,0 @@
-#! /bin/bash \ No newline at end of file
diff --git a/.dev-suite/hooked/push-to-checkout.py b/.dev-suite/hooked/push-to-checkout.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/push-to-checkout.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/sendemail-validate b/.dev-suite/hooked/sendemail-validate
deleted file mode 100755
index efcbaec..0000000
--- a/.dev-suite/hooked/sendemail-validate
+++ /dev/null
@@ -1 +0,0 @@
-#! /bin/bash \ No newline at end of file
diff --git a/.dev-suite/hooked/sendemail-validate.py b/.dev-suite/hooked/sendemail-validate.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/sendemail-validate.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/update b/.dev-suite/hooked/update
deleted file mode 100755
index efcbaec..0000000
--- a/.dev-suite/hooked/update
+++ /dev/null
@@ -1 +0,0 @@
-#! /bin/bash \ No newline at end of file
diff --git a/.dev-suite/hooked/update.py b/.dev-suite/hooked/update.py
new file mode 100755
index 0000000..5f7ce86
--- /dev/null
+++ b/.dev-suite/hooked/update.py
@@ -0,0 +1 @@
+#!/usr/bin/env python3 \ No newline at end of file
diff --git a/.dev-suite/hooked/wrapper/applypatch-msg.sh b/.dev-suite/hooked/wrapper/applypatch-msg.sh
new file mode 100755
index 0000000..9719401
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/applypatch-msg.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/applypatch-msg.py
diff --git a/.dev-suite/hooked/wrapper/commit-msg.sh b/.dev-suite/hooked/wrapper/commit-msg.sh
new file mode 100755
index 0000000..b1a3623
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/commit-msg.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/commit-msg.py
diff --git a/.dev-suite/hooked/wrapper/post-applypatch.sh b/.dev-suite/hooked/wrapper/post-applypatch.sh
new file mode 100755
index 0000000..741c689
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/post-applypatch.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/post-applypatch.py
diff --git a/.dev-suite/hooked/wrapper/post-checkout.sh b/.dev-suite/hooked/wrapper/post-checkout.sh
new file mode 100755
index 0000000..a2b99fa
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/post-checkout.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/post-checkout.py
diff --git a/.dev-suite/hooked/wrapper/post-commit.sh b/.dev-suite/hooked/wrapper/post-commit.sh
new file mode 100755
index 0000000..6e392a4
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/post-commit.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/post-commit.py
diff --git a/.dev-suite/hooked/wrapper/post-merge.sh b/.dev-suite/hooked/wrapper/post-merge.sh
new file mode 100755
index 0000000..8a6eda9
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/post-merge.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/post-merge.py
diff --git a/.dev-suite/hooked/wrapper/post-receive.sh b/.dev-suite/hooked/wrapper/post-receive.sh
new file mode 100755
index 0000000..c8b87f9
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/post-receive.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/post-receive.py
diff --git a/.dev-suite/hooked/wrapper/post-rewrite.sh b/.dev-suite/hooked/wrapper/post-rewrite.sh
new file mode 100755
index 0000000..fb41a73
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/post-rewrite.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/post-rewrite.py
diff --git a/.dev-suite/hooked/wrapper/post-update.sh b/.dev-suite/hooked/wrapper/post-update.sh
new file mode 100755
index 0000000..f9e816d
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/post-update.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/post-update.py
diff --git a/.dev-suite/hooked/wrapper/pre-auto-gc.sh b/.dev-suite/hooked/wrapper/pre-auto-gc.sh
new file mode 100755
index 0000000..2e1400c
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/pre-auto-gc.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/pre-auto-gc.py
diff --git a/.dev-suite/hooked/wrapper/pre-commit.sh b/.dev-suite/hooked/wrapper/pre-commit.sh
new file mode 100755
index 0000000..196c797
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/pre-commit.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/pre-commit.py
diff --git a/.dev-suite/hooked/wrapper/pre-push.sh b/.dev-suite/hooked/wrapper/pre-push.sh
new file mode 100755
index 0000000..0d760d0
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/pre-push.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/pre-push.py
diff --git a/.dev-suite/hooked/wrapper/pre-rebase.sh b/.dev-suite/hooked/wrapper/pre-rebase.sh
new file mode 100755
index 0000000..642be35
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/pre-rebase.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/pre-rebase.py
diff --git a/.dev-suite/hooked/wrapper/pre-receive.sh b/.dev-suite/hooked/wrapper/pre-receive.sh
new file mode 100755
index 0000000..b33366f
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/pre-receive.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/pre-receive.py
diff --git a/.dev-suite/hooked/wrapper/prepare-commit-msg.sh b/.dev-suite/hooked/wrapper/prepare-commit-msg.sh
new file mode 100755
index 0000000..e04c27b
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/prepare-commit-msg.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/prepare-commit-msg.py
diff --git a/.dev-suite/hooked/wrapper/push-to-checkout.sh b/.dev-suite/hooked/wrapper/push-to-checkout.sh
new file mode 100755
index 0000000..47718bf
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/push-to-checkout.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/push-to-checkout.py
diff --git a/.dev-suite/hooked/wrapper/sendemail-validate.sh b/.dev-suite/hooked/wrapper/sendemail-validate.sh
new file mode 100755
index 0000000..389deb1
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/sendemail-validate.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/sendemail-validate.py
diff --git a/.dev-suite/hooked/wrapper/update.sh b/.dev-suite/hooked/wrapper/update.sh
new file mode 100755
index 0000000..0d42ffd
--- /dev/null
+++ b/.dev-suite/hooked/wrapper/update.sh
@@ -0,0 +1,2 @@
+#!C:\Program Files\Git\bin\sh.exe
+py.exe .dev-suite/hooked/update.py