Linux script to verify if you are on battery
Image Source: Picsum

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.

#!/bin/sh
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
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
The SQL Whisperer

The SQL Whisperer

Senior Backend Engineer with a deep passion for Ruby on Rails, high-concurrency systems, and database optimization.

How to Repair Corrupt MP4 Video Files?
Prev post

How to Repair Corrupt MP4 Video Files?

Next post

How to run any process on single core or set CPU affinity in Linux

How to run any process on single core or set CPU affinity in Linux