@@ -25,10 +25,11 @@ import (
2525)
2626
2727var newBranchCmd = & cobra.Command {
28- Use : "branch" ,
29- Aliases : []string {"b" },
30- Short : "Create a new branch for a specified project" ,
31- Example : `gitlabctl new branch project23 --name=release-x --ref=master` ,
28+ Use : "branch" ,
29+ Aliases : []string {"b" },
30+ Short : "Create a new branch for a specified project" ,
31+ Example : `# create a develop branch from master branch for project groupx/myapp
32+ gitlabctl new branch develop --project=groupx/myapp --ref=master` ,
3233 SilenceErrors : true ,
3334 SilenceUsage : true ,
3435 Args : cobra .ExactArgs (1 ),
@@ -39,16 +40,22 @@ var newBranchCmd = &cobra.Command{
3940
4041func init () {
4142 newCmd .AddCommand (newBranchCmd )
42- addNewBranchFlags (newBranchCmd )
43+ addProjectFlag (newBranchCmd )
44+ verifyMarkFlagRequired (newBranchCmd , "project" )
45+ newBranchCmd .Flags ().StringP ("ref" , "r" , "" ,
46+ "The branch name or commit SHA to create branch from" )
47+ verifyMarkFlagRequired (newBranchCmd , "ref" )
4348}
4449
45- func runNewBranch (cmd * cobra.Command , project string ) error {
46- opts := assignCreateBranchOptions (cmd )
47- branch , err := newBranch (project , opts )
50+ func runNewBranch (cmd * cobra.Command , branch string ) error {
51+ opts := new (gitlab.CreateBranchOptions )
52+ opts .Ref = gitlab .String (getFlagString (cmd , "ref" ))
53+ opts .Branch = gitlab .String (branch )
54+ createdBranch , err := newBranch (getFlagString (cmd , "project" ), opts )
4855 if err != nil {
4956 return err
5057 }
51- printBranchOut (cmd , branch )
58+ printBranchOut (cmd , createdBranch )
5259 return nil
5360}
5461
0 commit comments