| #!/bin/sh |
| # |
| # An example hook script to verify if you are on battery, in case you |
| # are running Linux or OS X. Called by git-gc --auto with no arguments. |
| # The hook should exit with non-zero status after issuing an appropriate |
| # message if it wants to stop the auto repacking. |
| # |
| # This hook is stored in the contrib/hooks directory. Your distribution |
| # may have put this somewhere else. If you want to use this hook, you |
| # should make this script executable then link to it in the repository |
| # you would like to use it in. |
| # |
| # For example, if the hook is stored in |
| # /usr/share/git-core/contrib/hooks/pre-auto-gc-battery: |
| # |
| # cd /path/to/your/repository.git |
| # ln -sf /usr/share/git-core/contrib/hooks/pre-auto-gc-battery \ |
| # hooks/pre-auto-gc |
| |
| if test -x /sbin/on_ac_power && /sbin/on_ac_power |
| then |
| exit 0 |
| elif test "$(cat /sys/class/power_supply/AC/online 2>/dev/null)" = 1 |
| then |
| exit 0 |
| elif grep -q 'on-line' /proc/acpi/ac_adapter/AC/state 2>/dev/null |
| then |
| exit 0 |
| elif grep -q '0x01$' /proc/apm 2>/dev/null |
| then |
| exit 0 |
| elif grep -q "AC Power \+: 1" /proc/pmu/info 2>/dev/null |
| then |
| exit 0 |
| elif test -x /usr/bin/pmset && /usr/bin/pmset -g batt | |
| grep -q "drawing from 'AC Power'" |
| then |
| exit 0 |
| fi |
| |
| echo "Auto packing deferred; not on AC" |
| exit 1 |