@@ -134,6 +134,29 @@ var projectsBranchesRebase = cli.Command{
134134 HideHelpCommand : true ,
135135}
136136
137+ var projectsBranchesReset = cli.Command {
138+ Name : "reset" ,
139+ Usage : "Reset a project branch." ,
140+ Flags : []cli.Flag {
141+ & cli.StringFlag {
142+ Name : "project" ,
143+ },
144+ & cli.StringFlag {
145+ Name : "branch" ,
146+ },
147+ & jsonflag.JSONStringFlag {
148+ Name : "target-config-sha" ,
149+ Usage : "The commit SHA to reset the main branch to. Required if resetting the main branch; disallowed otherwise." ,
150+ Config : jsonflag.JSONConfig {
151+ Kind : jsonflag .Query ,
152+ Path : "target_config_sha" ,
153+ },
154+ },
155+ },
156+ Action : handleProjectsBranchesReset ,
157+ HideHelpCommand : true ,
158+ }
159+
137160func handleProjectsBranchesCreate (ctx context.Context , cmd * cli.Command ) error {
138161 cc := getAPICommandContext (cmd )
139162 unusedArgs := cmd .Args ().Slice ()
@@ -283,3 +306,35 @@ func handleProjectsBranchesRebase(ctx context.Context, cmd *cli.Command) error {
283306 transform := cmd .Root ().String ("transform" )
284307 return ShowJSON ("projects:branches rebase" , json , format , transform )
285308}
309+
310+ func handleProjectsBranchesReset (ctx context.Context , cmd * cli.Command ) error {
311+ cc := getAPICommandContext (cmd )
312+ unusedArgs := cmd .Args ().Slice ()
313+ if ! cmd .IsSet ("branch" ) && len (unusedArgs ) > 0 {
314+ cmd .Set ("branch" , unusedArgs [0 ])
315+ unusedArgs = unusedArgs [1 :]
316+ }
317+ if len (unusedArgs ) > 0 {
318+ return fmt .Errorf ("Unexpected extra arguments: %v" , unusedArgs )
319+ }
320+ params := stainless.ProjectBranchResetParams {}
321+ if cmd .IsSet ("project" ) {
322+ params .Project = stainless .String (cmd .Value ("project" ).(string ))
323+ }
324+ var res []byte
325+ _ , err := cc .client .Projects .Branches .Reset (
326+ ctx ,
327+ cmd .Value ("branch" ).(string ),
328+ params ,
329+ option .WithMiddleware (cc .AsMiddleware ()),
330+ option .WithResponseBodyInto (& res ),
331+ )
332+ if err != nil {
333+ return err
334+ }
335+
336+ json := gjson .Parse (string (res ))
337+ format := cmd .Root ().String ("format" )
338+ transform := cmd .Root ().String ("transform" )
339+ return ShowJSON ("projects:branches reset" , json , format , transform )
340+ }
0 commit comments