23 lines
578 B
Bash
23 lines
578 B
Bash
#!/bin/bash
|
|
# look at all staged files with the given extensions;
|
|
# if any were modified more recently than your target,
|
|
# rebuild the target with the default `make` task,
|
|
# and `git add` the changed target file.
|
|
|
|
set -e
|
|
|
|
# extensions of files which may affect what your target looks like
|
|
extensions="tex|pdf|png|bib|eps|cls"
|
|
|
|
# your target file
|
|
tgt="thesis.pdf"
|
|
|
|
for fpath in $(git diff --cached --name-only --diff-filter=ACM | grep -P "\.${extensions}" | grep -v "${tgt}")
|
|
do
|
|
if test ${fpath} -nt ${tgt}; then
|
|
make
|
|
git add ${tgt}
|
|
break
|
|
fi
|
|
done
|