[PATCH] Add OS X support to the pre-auto-gc example hook

Subsystems: the rest

STALE3738d

5 messages, 3 authors, 2016-06-15 · open the first message on its own page

[PATCH] Add OS X support to the pre-auto-gc example hook

From: Jonathan del Strother <hidden>
Date: 2016-06-15 22:45:24

Signed-off-by: Jonathan del Strother <redacted>
---

Darwin / OS X has a pmset tool for getting power management information.  How about adding OS X support to the auto-gc hook?
Shell scripting isn't my forté, suggestions for improvements would be welcome.

 contrib/hooks/pre-auto-gc-battery |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/contrib/hooks/pre-auto-gc-battery b/contrib/hooks/pre-auto-gc-battery
index 0096f57..0b7bcde 100644
--- a/contrib/hooks/pre-auto-gc-battery
+++ b/contrib/hooks/pre-auto-gc-battery
@@ -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
@@ -30,6 +30,9 @@ then
 elif grep -q '0x01$' /proc/apm 2>/dev/null
 then
 	exit 0
+elif test -x /usr/bin/pmset && (! /usr/bin/pmset -g batt | grep -q 'Battery Power' )
+then
+	exit 0
 fi
 
 echo "Auto packing deferred; not on AC"
-- 
1.6.0.2.308.gd442a.dirty

Re: [PATCH] Add OS X support to the pre-auto-gc example hook

From: Miklos Vajna <hidden>
Date: 2016-06-15 22:45:24

On Tue, Sep 23, 2008 at 11:43:23PM +0100, Jonathan del Strother [off-list ref] wrote:
Shell scripting isn't my fortĂŠ, suggestions for improvements would be
welcome.

+elif test -x /usr/bin/pmset && (! /usr/bin/pmset -g batt | grep -q 'Battery Power' )
What about

+elif test -x /usr/bin/pmset && /usr/bin/pmset -g batt | grep -q 'AC Power'

?

Re: [PATCH] Add OS X support to the pre-auto-gc example hook

From: Jonathan del Strother <hidden>
Date: 2016-06-15 22:45:24

On Fri, Sep 26, 2008 at 12:20 AM, Miklos Vajna [off-list ref] wrote:
On Tue, Sep 23, 2008 at 11:43:23PM +0100, Jonathan del Strother [off-list ref] wrote:
quoted
Shell scripting isn't my fortĂŠ, suggestions for improvements would be
welcome.

+elif test -x /usr/bin/pmset && (! /usr/bin/pmset -g batt | grep -q 'Battery Power' )
What about

+elif test -x /usr/bin/pmset && /usr/bin/pmset -g batt | grep -q 'AC Power'

?
I was trying to handle pmset reporting anything other than Battery
Power (currently it reports either Battery, UPS, or AC), but thinking
about it, if you're on UPS, you probably don't want git gc eating into
your remaining power...
I'll post an updated version on Monday.

[PATCH v2] Add OS X support to the pre-auto-gc example hook

From: Jonathan del Strother <hidden>
Date: 2016-06-15 22:45:25

Signed-off-by: Jonathan del Strother <redacted>
---
Second attempt - this simplifies the test while making it more specific (it will only pack when on AC power, rather than, say, UPS).

 contrib/hooks/pre-auto-gc-battery |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/contrib/hooks/pre-auto-gc-battery b/contrib/hooks/pre-auto-gc-battery
index 0096f57..b0a8caa 100644
--- a/contrib/hooks/pre-auto-gc-battery
+++ b/contrib/hooks/pre-auto-gc-battery
@@ -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
@@ -30,6 +30,10 @@ then
 elif grep -q '0x01$' /proc/apm 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
 
 echo "Auto packing deferred; not on AC"
-- 
1.6.0.2.308.gd442a.dirty

Re: [PATCH v2] Add OS X support to the pre-auto-gc example hook

From: Miklos Vajna <hidden>
Date: 2016-06-15 22:45:25

On Tue, Sep 30, 2008 at 12:36:28AM +0100, Jonathan del Strother [off-list ref] wrote:
Second attempt - this simplifies the test while making it more
specific (it will only pack when on AC power, rather than, say, UPS).
Acked-by: Miklos Vajna <redacted>

Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help