Provide separate initialization paths for global and in-repo initialiazation
This commit is contained in:
parent
66f3e903a1
commit
000aaed1e5
@ -3,6 +3,7 @@ package commands
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/github/git-media/gitconfig"
|
||||
"github.com/github/git-media/gitmedia"
|
||||
"regexp"
|
||||
)
|
||||
|
||||
@ -13,11 +14,43 @@ type InitCommand struct {
|
||||
var valueRegexp = regexp.MustCompile("\\Agit[\\-\\s]media")
|
||||
|
||||
func (c *InitCommand) Run() {
|
||||
var sub string
|
||||
if len(c.SubCommands) > 0 {
|
||||
sub = c.SubCommands[0]
|
||||
}
|
||||
|
||||
switch sub {
|
||||
case "hooks":
|
||||
c.hookInit()
|
||||
default:
|
||||
c.runInit()
|
||||
}
|
||||
|
||||
fmt.Println("git media initialized")
|
||||
}
|
||||
|
||||
func (c *InitCommand) runInit() {
|
||||
c.globalInit()
|
||||
if inRepo() {
|
||||
c.repoInit()
|
||||
}
|
||||
}
|
||||
|
||||
func (c *InitCommand) globalInit() {
|
||||
setFilter("clean")
|
||||
setFilter("smudge")
|
||||
requireFilters()
|
||||
}
|
||||
|
||||
fmt.Println("git media initialized")
|
||||
func (c *InitCommand) repoInit() {
|
||||
c.hookInit()
|
||||
}
|
||||
|
||||
func (c *InitCommand) hookInit() {
|
||||
}
|
||||
|
||||
func inRepo() bool {
|
||||
return gitmedia.LocalGitDir != ""
|
||||
}
|
||||
|
||||
func setFilter(filterName string) {
|
||||
|
@ -65,16 +65,14 @@ func Environ() []string {
|
||||
func init() {
|
||||
var err error
|
||||
LocalWorkingDir, LocalGitDir, err = resolveGitDir()
|
||||
if err != nil {
|
||||
Exit("Not in a git repository")
|
||||
}
|
||||
if err == nil {
|
||||
LocalMediaDir = filepath.Join(LocalGitDir, "media")
|
||||
LocalLogDir = filepath.Join(LocalMediaDir, "logs")
|
||||
queueDir = setupQueueDir()
|
||||
|
||||
LocalMediaDir = filepath.Join(LocalGitDir, "media")
|
||||
LocalLogDir = filepath.Join(LocalMediaDir, "logs")
|
||||
queueDir = setupQueueDir()
|
||||
|
||||
if err := os.MkdirAll(TempDir, 0744); err != nil {
|
||||
Panic(err, "Error trying to create temp directory: %s", TempDir)
|
||||
if err := os.MkdirAll(TempDir, 0744); err != nil {
|
||||
Panic(err, "Error trying to create temp directory: %s", TempDir)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user