#git #go #git-flow
#git #Вперед #git-flow
Вопрос:
Я пытаюсь создать «функциональную ветку» из golang. Следующий код не работает:
reader := bufio.NewReader(os.Stdin)
fmt.Print(color.RedString("New feature description: "))
featureName, _ := reader.ReadString('n')
featureName = strings.ReplaceAll(featureName, " ", "-")
featureBranchName := "feature/" featureName
cmdStartBranch := "git"
arguments := []string{"checkout", "-b", featureBranchName}
if _, err := exec.Command(cmdStartBranch, arguments...).Output(); err != nil {
fmt.Println(color.RedString(err.Error()))
os.Exit(1)
}
Но при жестком кодировании featureBranchName
это работает:
cmdStartBranch := "git"
arguments := []string{"checkout", "-b", "feature/ciaone-proprio"}
if _, err := exec.Command(cmdStartBranch, arguments...).Output(); err != nil {
fmt.Println(color.RedString(err.Error()))
os.Exit(1)
}
Ответ №1:
ReadString(‘n’) возвращает разделитель ‘n’, его нужно удалить.
featureName, err := reader.ReadString('n')
if err == nil {
n := len(featureName)
featureName = featureName[:n-1]
}
…