From f50a1f202c3f7cbc6c7f3460d6ef880b31e7bff2 Mon Sep 17 00:00:00 2001 From: Zhao Xiaojie Date: Tue, 8 Dec 2020 15:55:33 +0800 Subject: [PATCH] Fix the feature of preferGitHub and mirror do not working (#7) --- main.go | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/main.go b/main.go index d9842a0..51084a2 100644 --- a/main.go +++ b/main.go @@ -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) @@ -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) }