summaryrefslogtreecommitdiffstats
path: root/modules/charset/invisible/generate.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/charset/invisible/generate.go')
-rw-r--r--modules/charset/invisible/generate.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/modules/charset/invisible/generate.go b/modules/charset/invisible/generate.go
index 230ff0b832..39eddd58dd 100644
--- a/modules/charset/invisible/generate.go
+++ b/modules/charset/invisible/generate.go
@@ -63,6 +63,17 @@ func runTemplate(t *template.Template, filename string, data interface{}) error
verbosef("Bad source:\n%s", buf.String())
return fmt.Errorf("unable to format source: %w", err)
}
+
+ old, err := os.ReadFile(filename)
+ if err != nil && !os.IsNotExist(err) {
+ return fmt.Errorf("failed to read old file %s because %w", filename, err)
+ } else if err == nil {
+ if bytes.Equal(bs, old) {
+ // files are the same don't rewrite it.
+ return nil
+ }
+ }
+
file, err := os.Create(filename)
if err != nil {
return fmt.Errorf("failed to create file %s because %w", filename, err)