add hooks
This commit is contained in:
commit
3f2d54c041
5 changed files with 73 additions and 0 deletions
6
README.md
Normal file
6
README.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
These hooks for git make it possible to efficiently use Powerpoint in a git repository.
|
||||
|
||||
When creating or cloning the repository locally run setup.sh first to copy the hook scripts into the .git folder.
|
||||
|
||||
Everytime a .pptx file is committed its unzipped contents will be committed instead.
|
||||
After a pull the file is zipped back into a .pptx.
|
20
hooks/post-commit.disabled
Normal file
20
hooks/post-commit.disabled
Normal file
|
@ -0,0 +1,20 @@
|
|||
#!/bin/sh
|
||||
|
||||
echo "Ich bin der Post Commit und jetzt disabled"
|
||||
|
||||
#chmod -x .git/hooks/post-commit # disable hook
|
||||
mv .git/hooks/post-commit .git/hooks/post-commit.disabled
|
||||
|
||||
for f in $(cat .changes)
|
||||
do
|
||||
echo "File: $f"
|
||||
git rm --cached $f
|
||||
new_dir=".$(basename $f)"
|
||||
new_path="$(dirname $f)/$new_dir"
|
||||
git add $new_path
|
||||
done
|
||||
rm .changes
|
||||
echo "Jetzt das amend"
|
||||
|
||||
git commit --amend --reuse-message=HEAD --no-verify
|
||||
echo "End post commit"
|
15
hooks/post-merge
Normal file
15
hooks/post-merge
Normal file
|
@ -0,0 +1,15 @@
|
|||
#!/bin/bash
|
||||
echo "Running Post-Merge"
|
||||
dirs=$(find -type d -iname "*.pptx")
|
||||
for d in $dirs
|
||||
do
|
||||
echo "creating Powerpoint for $d"
|
||||
cd $d
|
||||
foldername="$(basename $d)"
|
||||
echo "foldername=$foldername"
|
||||
filename="${foldername:1}"
|
||||
echo "filename=$filename"
|
||||
|
||||
zip -r ../$filename *
|
||||
cd ..
|
||||
done
|
25
hooks/pre-commit
Normal file
25
hooks/pre-commit
Normal file
|
@ -0,0 +1,25 @@
|
|||
#!/bin/sh
|
||||
|
||||
files=$(git diff --cached --name-only --diff-filter=ACM)
|
||||
rm .changes
|
||||
touch .changes
|
||||
for f in $files
|
||||
do
|
||||
echo "File: $f"
|
||||
if [[ ( $f == *.ppt ) || ( $f == *.pptx ) ]]
|
||||
then
|
||||
echo "Unzipping Powerpoint: $f"
|
||||
new_dir=".$(basename $f)"
|
||||
new_path="$(dirname $f)/$new_dir"
|
||||
echo "new_dir= $new_dir"
|
||||
echo "new_path= $new_path"
|
||||
|
||||
rm -r $new_path
|
||||
unzip $f -d $new_path
|
||||
echo $f >> .changes
|
||||
mv .git/hooks/post-commit.disabled .git/hooks/post-commit # enable hook
|
||||
echo "Post-commit enabled"
|
||||
fi
|
||||
done
|
||||
|
||||
#
|
7
setup.sh
Normal file
7
setup.sh
Normal file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
cp hooks/post-merge .git/hooks/
|
||||
cp hooks/post-commit.disabled .git/hooks/
|
||||
cp hooks/pre-commit .git/hooks/
|
||||
|
||||
.git/hooks/post-merge
|
Loading…
Reference in a new issue