gtx


Branch: develop

Author
thewhodidthis <thewhodidthis@fastmail.com>
Date
Feb. 05 '23 10:56:19
Commit
dcf53d71a68b2480c9e85282e590e4ac206de270
Parent
c26bcf5f0ef8b94bbb278f644efb0b08248ae8a8
Changes
diff --git a/project.go b/project.go
index 7b95787..4a2f5e7 100644
--- a/project.go
+++ b/project.go
@@ -2,8 +2,10 @@ package main
 
 import (
 	"bytes"
+	"errors"
 	"fmt"
 	"html/template"
+	"io/fs"
 	"log"
 	"os"
 	"os/exec"
@@ -103,7 +105,6 @@ func (p *project) writePages(branches []branch) {
 				if err != nil {
 					log.Printf("unable to create commit directory: %v", err)
 				}
-
 				continue
 			}
 
@@ -114,6 +115,11 @@ func (p *project) writePages(branches []branch) {
 			for _, obj := range c.Tree {
 				dst := filepath.Join(p.base, "object", obj.Dir())
 
+				if _, err := os.Stat(base); err == nil || errors.Is(err, fs.ErrExist) {
+					log.Printf("commit %v already processed", c.Abbr)
+					continue
+				}
+
 				if err := os.MkdirAll(filepath.Dir(dst), 0755); err != nil {
 					if err != nil {
 						log.Printf("unable to create object directory: %v", err)
@@ -163,7 +169,6 @@ func (p *project) writeCommitDiff(par string, c commit, base string, b branch) {
 
 	if err != nil {
 		log.Printf("unable to diff against parent: %v", err)
-
 		return
 	}
 
@@ -174,7 +179,6 @@ func (p *project) writeCommitDiff(par string, c commit, base string, b branch) {
 
 	if err != nil {
 		log.Printf("unable to create commit diff to parent: %v", err)
-
 		return
 	}
 
@@ -193,7 +197,6 @@ func (p *project) writeCommitDiff(par string, c commit, base string, b branch) {
 
 	if err := p.template.Execute(f, page); err != nil {
 		log.Printf("unable to apply template: %v", err)
-
 		return
 	}
 }
@@ -215,7 +218,6 @@ func (p *project) writeBranchPage(b branch) {
 	if err != nil {
 		// TODO: Remove from branches slice?
 		log.Printf("unable to create branch page: %v", err)
-
 		return
 	}