diff --git a/util/hook.go b/util/hook.go index 8c3e0ce..a5c3e8f 100644 --- a/util/hook.go +++ b/util/hook.go @@ -51,7 +51,9 @@ func DeleteHook(path, _ string) error { } func writeContent(writer io.Writer, exePath string) { - _, err := fmt.Fprintf(writer, `#!/bin/sh\n\n"%s/commit-message-check" validate $1\n`, exePath) + _, err := fmt.Fprint(writer, "#!/bin/sh\n\n") + _, err = fmt.Fprintf(writer, `"%s/commit-message-check" validate $1`, exePath) + _, err = fmt.Fprint(writer, "\n") if err != nil { log.Printf("[ERROR]\t Could not write commit-msg script: %s", err) } diff --git a/util/hook_test.go b/util/hook_test.go index 2767c48..fda7c7a 100644 --- a/util/hook_test.go +++ b/util/hook_test.go @@ -134,7 +134,7 @@ func TestWriteContent(t *testing.T) { writeContent(buffer, "usr/tmp") - assert.Contains(t, buffer.String(), `#!/bin/sh\n\n`) + assert.Contains(t, buffer.String(), "#!/bin/sh\n\n") }) t.Run("executes commit-message-check with root path and quotes path to handle spaces", func(t *testing.T) { @@ -142,7 +142,15 @@ func TestWriteContent(t *testing.T) { writeContent(buffer, "usr/tmp") - assert.Contains(t, buffer.String(), `"usr/tmp/commit-message-check" validate $1\n`) + assert.Contains(t, buffer.String(), `"usr/tmp/commit-message-check" validate $1`) + }) + + t.Run("inserts a blank line at the end of file", func(t *testing.T) { + buffer.Reset() + + writeContent(buffer, "usr/tmp") + + assert.Contains(t, buffer.String(), "$1\n") }) t.Run("logs any error", func(t *testing.T) {