Skip to content

Commit

Permalink
Fix the feature of preferGitHub and mirror do not working (#7)
Browse files Browse the repository at this point in the history
  • Loading branch information
LinuxSuRen authored Dec 8, 2020
1 parent 769ac1c commit f50a1f2
Showing 1 changed file with 17 additions and 13 deletions.
30 changes: 17 additions & 13 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ func main() {

var ctx context.Context
if defMgr, err := alias.GetDefaultAliasMgrWithNameAndInitialData(cmd.Name(), []alias.Alias{
{Name: "cl", Command: "config list"},
{Name: "cm", Command: "checkout master"},
}); err == nil {
ctx = context.WithValue(context.Background(), alias.AliasKey, defMgr)

Expand All @@ -51,22 +51,26 @@ func main() {
var defMgr *alias.DefaultAliasManager
var err error
if defMgr, err = alias.GetDefaultAliasMgrWithNameAndInitialData(cmd.Name(), []alias.Alias{
{Name: "cl", Command: "config list"},
{Name: "cm", Command: "checkout master"},
}); err == nil {
ctx = context.WithValue(context.Background(), alias.AliasKey, defMgr)
var gitBinary string
var targetCmd []string
env := os.Environ()

if gitBinary, err = exec.LookPath("git"); err != nil {
panic("cannot find git")
}

if ok, redirect := aliasCmd.RedirectToAlias(ctx, args); ok {
env := os.Environ()
var gitBinary string
if gitBinary, err = exec.LookPath("git"); err == nil {
syscall.Exec(gitBinary, append([]string{"git"}, redirect...), env)
}
} else {
env := os.Environ()
var gitBinary string
if gitBinary, err = exec.LookPath("git"); err == nil {
syscall.Exec(gitBinary, append([]string{"git"}, args...), env)
}
args = redirect
}

preferGitHub(args)
useMirror(args)

targetCmd = append([]string{"git"}, args...)
_ = syscall.Exec(gitBinary, targetCmd, env) // ignore the errors due to we've no power to deal with it
} else {
err = fmt.Errorf("cannot get default alias manager, error: %v", err)
}
Expand Down

0 comments on commit f50a1f2

Please sign in to comment.