Add fix command
This commit is contained in:
parent
d312f0c211
commit
af068507f1
46
fix.go
Normal file
46
fix.go
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"github.com/genjidb/genji"
|
||||||
|
"github.com/urfave/cli/v2"
|
||||||
|
"go.arsenm.dev/logger/log"
|
||||||
|
"go.arsenm.dev/lure/internal/config"
|
||||||
|
"go.arsenm.dev/lure/internal/db"
|
||||||
|
"go.arsenm.dev/lure/internal/repos"
|
||||||
|
)
|
||||||
|
|
||||||
|
func fixCmd(c *cli.Context) error {
|
||||||
|
gdb.Close()
|
||||||
|
|
||||||
|
err := os.RemoveAll(config.CacheDir)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Unable to remove cache directory").Err(err).Send()
|
||||||
|
}
|
||||||
|
|
||||||
|
err = os.MkdirAll(config.CacheDir, 0o755)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Unable to create new cache directory").Err(err).Send()
|
||||||
|
}
|
||||||
|
|
||||||
|
gdb, err = genji.Open(config.DBPath)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Unable to create new database").Err(err).Send()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make sure the DB is rebuilt when repos are pulled
|
||||||
|
config.DBPresent = false
|
||||||
|
|
||||||
|
err = db.Init(gdb)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Error initializing database").Err(err).Send()
|
||||||
|
}
|
||||||
|
|
||||||
|
err = repos.Pull(c.Context, gdb, cfg.Repos)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Error pulling repos").Err(err).Send()
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
5
main.go
5
main.go
@ -146,6 +146,11 @@ func main() {
|
|||||||
Aliases: []string{"ref"},
|
Aliases: []string{"ref"},
|
||||||
Action: refreshCmd,
|
Action: refreshCmd,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "fix",
|
||||||
|
Usage: "Attempt to fix problems with LURE",
|
||||||
|
Action: fixCmd,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Name: "version",
|
Name: "version",
|
||||||
Usage: "Display the current LURE version and exit",
|
Usage: "Display the current LURE version and exit",
|
||||||
|
Loading…
Reference in New Issue
Block a user