Merge branch 'lf/echo-n-is-not-portable'
[gitweb.git] / contrib / hooks / pre-auto-gc-battery
index 0096f57b7e09f33108d7177405d02eec05811c03..1f914c94aa748f57bd6c70fdd18dfb681c684556 100644 (file)
@@ -1,9 +1,9 @@
 #!/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.
+# 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
@@ -28,6 +28,13 @@ 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 "Currently drawing from 'AC Power'"
 then
        exit 0
 fi