From 8dbf34adcafefe0c1d8635dcd000348af0e3e214 Mon Sep 17 00:00:00 2001 From: Jeff Lindsay Date: Mon, 3 Nov 2014 08:20:59 -0800 Subject: [PATCH] only use shell when set, always pass environment --- dockerhook.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/dockerhook.go b/dockerhook.go index b598e35..2623add 100644 --- a/dockerhook.go +++ b/dockerhook.go @@ -17,7 +17,6 @@ import ( ) var debug = flag.Bool("d", false, "debug mode displays handler output") -var env = flag.Bool("e", false, "pass environment to handler") var shell = flag.Bool("s", false, "run handler via SHELL") var skipInspect = map[string]bool { @@ -80,14 +79,11 @@ func trigger(hook []string, event, id string, docker *dockerapi.Client) { log.Println("info: trigger:", id[:12], event) hook = append(hook, event, id) var cmd *exec.Cmd - if *shell { + if *shell && os.Getenv("SHELL") != "" { cmd = exec.Command(os.Getenv("SHELL"), "-c", strings.Join(hook, " ")) } else { cmd = exec.Command(hook[0], hook[1:]...) } - if !*env { - cmd.Env = []string{} - } if !skipInspect[event] { cmd.Stdin = inspect(docker, id) }