mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-23 07:16:21 +00:00
b10f0e5b9a
Desktops and servers tend to have no power sensor, thus on_ac_power returns 255 ("unknown"). Thus, let's take any answer other than 1 ("battery") as no contraindication to run gc. If that tool returns "unknown", there's no point in querying other sources as it already queried them, and is smarter than us (can handle multiple adapters). Reported by: Xin Li <delphij@google.com> Signed-off-by: Adam Borowski <kilobyte@angband.pl> Signed-off-by: Junio C Hamano <gitster@pobox.com> (cherry picked from git.git commit 781262c5e7ad4a7813c528803117ed0d2e8c5172) Signed-off-by: Fredrik Roubert <roubert@google.com> Signed-off-by: Jonathan Nieder <jrn@google.com> Change-Id: I51fe2eb1eb879492a61e8e09c86ee34d049036c1
60 lines
1.9 KiB
Bash
Executable File
60 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# An example hook script to verify if you are on battery, in case you
|
|
# are running Windows, 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 program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
if uname -s | grep -q "_NT-"
|
|
then
|
|
if test -x $SYSTEMROOT/System32/Wbem/wmic
|
|
then
|
|
STATUS=$(wmic path win32_battery get batterystatus /format:list | tr -d '\r\n')
|
|
[ "$STATUS" = "BatteryStatus=2" ] && exit 0 || exit 1
|
|
fi
|
|
exit 0
|
|
fi
|
|
|
|
if test -x /sbin/on_ac_power && (/sbin/on_ac_power;test $? -ne 1)
|
|
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
|
|
elif test -d /sys/bus/acpi/drivers/battery && test 0 = \
|
|
"$(find /sys/bus/acpi/drivers/battery/ -type l | wc -l)";
|
|
then
|
|
# No battery exists.
|
|
exit 0
|
|
fi
|
|
|
|
echo "Auto packing deferred; not on AC"
|
|
exit 1
|