From 580724e9f9564cea1669eabccf7c485d40941564 Mon Sep 17 00:00:00 2001 From: Jan-Lukas Else Date: Mon, 20 Apr 2020 21:46:59 +0200 Subject: [PATCH] Prevent empty commits and webmention spam --- storage.go | 7 +++++++ webmention.go | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/storage.go b/storage.go index cefa621..5a69e0e 100644 --- a/storage.go +++ b/storage.go @@ -127,6 +127,13 @@ func (g *Git) unsafeUpdateFile(filepath string, file string, message string) err if err != nil { return errors.New("failed to write to file") } + status, err := w.Status() + if err == nil && status.IsClean() { + // No file changes, prevent empty commit + return nil + } else { + err = nil + } _, err = w.Add(filepath) if err != nil { return errors.New("failed to stage file") diff --git a/webmention.go b/webmention.go index ccce08d..53032cc 100644 --- a/webmention.go +++ b/webmention.go @@ -138,7 +138,7 @@ func HandleWebmention(w http.ResponseWriter, r *http.Request) { e := saveWebmention(&Mention{ Source: sourceUrl.String(), Target: targetUrl.String(), - Date: time.Now().Format(time.RFC3339), + Date: time.Now().Format("2006-01-02"), }) if e != nil { fmt.Println("Failed to save webmention:", e.Error())