reworking database, init and add commands
This commit is contained in:
@@ -2,23 +2,41 @@ package clientcmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/deranjer/gvc/common/database"
|
||||
"github.com/deranjer/gvc/common/engine"
|
||||
)
|
||||
|
||||
// InitializeRepo creates the repo directory and a new config file
|
||||
func InitializeRepo() string {
|
||||
func InitializeRepo(dbPath string, version string, rootPath string) (string, error) {
|
||||
cwd, err := os.Getwd()
|
||||
if err != nil {
|
||||
log.Fatal("unable to get current working directory.. permissions issue?")
|
||||
fmt.Printf("unable to get current working directory.. permissions issue? %s\n", err)
|
||||
return "", err
|
||||
}
|
||||
repoName := filepath.Base(cwd)
|
||||
fmt.Println("Initializing repo in dir: ", cwd)
|
||||
err = os.Mkdir(".gvc", 0644)
|
||||
if err != nil {
|
||||
fmt.Println(".gvc directory already exists, but no config file... continuing")
|
||||
fmt.Printf(".gvc directory already exists, but no config file... continuing")
|
||||
}
|
||||
err = engine.CreatePaths(rootPath)
|
||||
if err != nil {
|
||||
fmt.Printf("unable to create root dir paths.. permissions issue? %s\n", err)
|
||||
return "", err
|
||||
}
|
||||
fmt.Println("Creating DB...")
|
||||
err = database.CreateDB(dbPath, version, repoName)
|
||||
if err != nil {
|
||||
fmt.Printf("unable to create db: %s\n", err)
|
||||
err := os.Remove(dbPath)
|
||||
if err != nil {
|
||||
fmt.Printf("unable to roll back database, cannot delete db: %s err: %s", dbPath, err)
|
||||
}
|
||||
return "", err
|
||||
}
|
||||
repoName := filepath.Base(cwd)
|
||||
fmt.Println("Adding new repo with name: ", repoName)
|
||||
return repoName
|
||||
return repoName, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user