[PATCH 4/4] contrib/hooks: add an example pre-auto-gc hook
- From
Miklos Vajna <vmiklos@frugalware.org>
- Date
- Apr 1, 2008, 11:39 UTC
- Message-ID
- <52c671c64b2f203793ee88a84fee6f83cba2a4ff.1207049697.git.vmiklos@frugalware.org>
- In-Reply-To
- <7vsky6jhz3.fsf@gitster.siamese.dyndns.org>
It disables git-gc --auto when you are running Linux and you are on battery.
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> --- contrib/hooks/pre-auto-gc-battery | 45 +++++++++++++++++++++++++++++++++++++ 1 files changed, 45 insertions(+), 0 deletions(-) create mode 100644 contrib/hooks/pre-auto-gc-battery
diff --git a/contrib/hooks/pre-auto-gc-battery b/contrib/hooks/pre-auto-gc-battery new file mode 100644 index 0000000..4077111 --- /dev/null +++ b/contrib/hooks/pre-auto-gc-battery @@ -0,0 +1,45 @@ +#!/bin/sh +# +# An example hook script to verify if you are on battery, in case you +# are running Linux. 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 +# will have put this somewhere standard. 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: +# +# chmod a+x 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-battery + +defer=0 + +if [ -e /sbin/on_ac_power ]; then + /sbin/on_ac_power + if [ $? = 1 ]; then + defer = 1 + fi +elif [ -e /sys/class/power_supply/AC/online ]; then + if [ "`cat /sys/class/power_supply/AC/online`" = 0 ]; then + defer=1 + fi +elif [ -e /proc/acpi/ac_adapter/AC/state ]; then + if grep -q 'off-line' /proc/acpi/ac_adapter/AC/state; then + defer=1 + fi +elif [ -e /proc/apm ]; then + if grep -q '0$' /proc/apm; then + defer=1 + fi +fi + +if [ "$defer" = 1 ]; then + echo "Auto packing deferred; on battery" + exit 1 +fi
-- 1.5.5.rc2.4.gec07.dirty