mirror of
https://github.com/taigrr/mg.git
synced 2026-04-02 03:28:42 -07:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cacdbf673f |
@@ -3,6 +3,7 @@ package cmd
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/taigrr/mg/parse"
|
||||
)
|
||||
@@ -27,5 +28,11 @@ func GetConfig() parse.MGConfig {
|
||||
}
|
||||
}
|
||||
}
|
||||
homeDir, _ := os.UserHomeDir()
|
||||
for i, repo := range conf.Repos {
|
||||
if strings.HasPrefix(repo.Path, "$HOME") {
|
||||
conf.Repos[i].Path = strings.Replace(repo.Path, "$HOME", homeDir, 1)
|
||||
}
|
||||
}
|
||||
return conf
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
git "github.com/go-git/go-git/v5"
|
||||
"github.com/spf13/cobra"
|
||||
@@ -52,6 +53,16 @@ var registerCmd = &cobra.Command{
|
||||
os.Exit(1)
|
||||
}
|
||||
path = newPath.Filesystem.Root()
|
||||
|
||||
homeDir, err := os.UserHomeDir()
|
||||
if err != nil {
|
||||
log.Println("Unable to get home directory")
|
||||
os.Exit(1)
|
||||
}
|
||||
if strings.HasPrefix(path, homeDir) {
|
||||
path = "$HOME" + path[len(homeDir):]
|
||||
}
|
||||
|
||||
for _, v := range conf.Repos {
|
||||
if v.Path == path {
|
||||
fmt.Printf("repo %s already registered\n", path)
|
||||
|
||||
@@ -32,9 +32,9 @@ func (m MRConfig) ToMGConfig() MGConfig {
|
||||
mgconf := MGConfig(m)
|
||||
for i, repo := range mgconf.Repos {
|
||||
checkout := repo.Remote
|
||||
if strings.HasPrefix(checkout, "git clone '") {
|
||||
if after, ok := strings.CutPrefix(checkout, "git clone '"); ok {
|
||||
// git clone 'git@bitbucket.org:taigrr/mg.git' 'mg'
|
||||
remote := strings.TrimPrefix(checkout, "git clone '")
|
||||
remote := after
|
||||
sp := strings.Split(remote, "' '")
|
||||
remote = sp[0]
|
||||
mgconf.Repos[i].Remote = remote
|
||||
|
||||
Reference in New Issue
Block a user