Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var HookCmd = &cobra.Command{ Use: "hook", Short: "通过Hook可以触发jenkins刷代码", Run: func(cmd *cobra.Command, args []string) { config := repo.GetConfig(configPath).Init() if project == "" { project = config.Patch.CurrentProject } r, err := config.CurrentRepo() config.CheckErr(err) if branchList == "" { logrus.Fatal("分支名不能为空") } p := repo.NewRepoPush(r, config, branchList, nil, false) p.AutoMergeBranchHook() }, }
View Source
var InfoCmd = &cobra.Command{ Use: "info", Short: "info", Run: func(cmd *cobra.Command, args []string) { config := repo.GetConfig(configPath).Init() r, err := config.CurrentRepo() config.CheckErr(err) fmt.Println("repo url is: ", r.Url) }, }
View Source
var InitCmd = &cobra.Command{ Use: "init", Short: "初始化项目配置文件", Run: func(cmd *cobra.Command, args []string) { if try { config := repo.GetConfig() config.Print() return } err := createPatchConfig() checkErr(err) return }, }
View Source
var JiraCmd = &cobra.Command{ Use: "jira", Short: "jira", Run: func(cmd *cobra.Command, args []string) { config := repo.GetConfig(configPath).Init() jc, err := controller.NewJiraController(config) config.CheckErr(err) if project == "" { project = config.Patch.CurrentProject } fmt.Println("current project:", project) switch action { case "add": err = jc.Add(project, jiraID, strings.Split(branchList, ",")) case "del": err = jc.Del(project, jiraID) case "clear": err = jc.Clear(project, disableCheckMerged) case "print": err = jc.Print(project, jiraID) default: err = fmt.Errorf("action not suppert:%s", action) } config.CheckErr(err) fmt.Printf("%s success\n", action) }, }
View Source
var PullCmd = &cobra.Command{ Use: "pull", Short: "pull", Run: func(cmd *cobra.Command, args []string) { var ( err error ) config := repo.GetConfig(configPath) for _, project := range strings.Split(project, ",") { if project == "" { continue } err = pullProject(project, config) config.CheckErr(err) } return }, }
View Source
var ( PushCmd = &cobra.Command{ Use: "push", Short: "cherry-pick方式推送patch", Run: func(cmd *cobra.Command, args []string) { var ( err error mergeUrls, tmpMergeUrls []*repo.RepoPushResult ) config := repo.GetConfig(configPath) if debug { config.LogLevel = 5 } config.Patch.AutoMergeHook = true if disableAutoMergeHook { config.Patch.AutoMergeHook = false } config.Init().ParseJIRA(jiraID) if branchList != "" { config.Patch.TgtBranchs = strings.Split(branchList, ",") } if planTgtBranchList != "" { config.Patch.PlanTgtBranchList = strings.Split(planTgtBranchList, ",") } if project == "" { project = config.Patch.CurrentProject } if len(config.Patch.TgtBranchs) == 0 { logrus.Fatalf("目标分支不能为空") } if config.Patch.DevBranch == "" { logrus.Fatalf("开发分支不能为空") } if project == "" { logrus.Fatalf("项目不能为空") } for _, project := range strings.Split(project, ",") { if project == "" { continue } tmpMergeUrls, err = pushProject(project, config) config.CheckErr(err) mergeUrls = append(mergeUrls, tmpMergeUrls...) } if len(mergeUrls) == 0 { return } logrus.Debugf("patch push ok! \n\n") fmt.Println("result:") var rows [][]string for _, row := range mergeUrls { desc := "" if len(row.OutCommits) > 0 { desc = row.OutCommits[0].Desc } desc = strings.Replace(desc, " ", "", -1) rows = append(rows, []string{row.Project, fmt.Sprintf("%s=>%s", row.DevBranch, row.TargetBranch), desc, row.MergeUrl, row.MergeRes}) } util.PrintTable(rows, []string{"项目", "分支", "描述", "MR", "已合入"}) }, } )
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.