From 9dfca25455dbac7fad721bac44daa9d9a149475a Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Thu, 12 Mar 2020 22:40:41 +0100 Subject: Make hooks easier to setup & maintain By giving them meaningful names and adding a master script to call them all. --- repo/hooks/check-links.sh | 5 +++++ repo/hooks/pre-push | 3 +++ repo/hooks/setup.sh | 3 +++ repo/update-count.sh | 29 +++++++++++++++++++++++++++++ scripts/pre-push | 5 ----- scripts/update-count.sh | 29 ----------------------------- 6 files changed, 40 insertions(+), 34 deletions(-) create mode 100755 repo/hooks/check-links.sh create mode 100755 repo/hooks/pre-push create mode 100755 repo/hooks/setup.sh create mode 100755 repo/update-count.sh delete mode 100755 scripts/pre-push delete mode 100755 scripts/update-count.sh diff --git a/repo/hooks/check-links.sh b/repo/hooks/check-links.sh new file mode 100755 index 0000000..5681326 --- /dev/null +++ b/repo/hooks/check-links.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +echo "Checking for unresolved links…" + +! grep -Er '^\[.*\]:.*TODO.*' diff --git a/repo/hooks/pre-push b/repo/hooks/pre-push new file mode 100755 index 0000000..ad0e03f --- /dev/null +++ b/repo/hooks/pre-push @@ -0,0 +1,3 @@ +#/bin/bash + +./repo/hooks/check-links.sh diff --git a/repo/hooks/setup.sh b/repo/hooks/setup.sh new file mode 100755 index 0000000..ffb52ca --- /dev/null +++ b/repo/hooks/setup.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +git config --local core.hooksPath repo/hooks diff --git a/repo/update-count.sh b/repo/update-count.sh new file mode 100755 index 0000000..d0a094e --- /dev/null +++ b/repo/update-count.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +list-tracked () +{ + GIT_LITERAL_PATHSPECS='' git ls-files '*.md' '*.org' +} + +count-leaks () +{ + let pages=0 + let words=0 + + while read filename + do + let words+=$(git show HEAD:${filename} | wc -w | cut -d' ' -f1) + let pages+=1 + done + + echo ${words} ${pages} +} + + + +read words pages < <(list-tracked | count-leaks) + +pattern="[0-9]* words in [0-9]* pages" +actual="${words} words in ${pages} pages" + +sed -i "s/${pattern}/${actual}/" README.md diff --git a/scripts/pre-push b/scripts/pre-push deleted file mode 100755 index d0c019d..0000000 --- a/scripts/pre-push +++ /dev/null @@ -1,5 +0,0 @@ -#/bin/bash - -echo "Checking for unresolved links…" - -! grep -Er '^\[.*\]:.*TODO.*' diff --git a/scripts/update-count.sh b/scripts/update-count.sh deleted file mode 100755 index d0a094e..0000000 --- a/scripts/update-count.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -list-tracked () -{ - GIT_LITERAL_PATHSPECS='' git ls-files '*.md' '*.org' -} - -count-leaks () -{ - let pages=0 - let words=0 - - while read filename - do - let words+=$(git show HEAD:${filename} | wc -w | cut -d' ' -f1) - let pages+=1 - done - - echo ${words} ${pages} -} - - - -read words pages < <(list-tracked | count-leaks) - -pattern="[0-9]* words in [0-9]* pages" -actual="${words} words in ${pages} pages" - -sed -i "s/${pattern}/${actual}/" README.md -- cgit v1.2.3