diff --git a/main.go b/main.go index fa5e528..4b86754 100644 --- a/main.go +++ b/main.go @@ -835,6 +835,16 @@ func unlinkStale(targetPath, repo string) error { } repoPath := filepath.Join(repoAbs, rel) + if _, err := os.Stat(repoPath); errors.Is(err, os.ErrNotExist) { + if err := os.Remove(targetPath); err != nil { + return err + } + fmt.Printf("removed %s (missing repo file)\n", targetPath) + return nil + } else if err != nil { + return err + } + if err := os.Remove(targetPath); err != nil { return err }