4
4
"fmt"
5
5
"io"
6
6
"os"
7
+ "strconv"
7
8
"time"
8
9
9
10
"github.com/spf13/cobra"
@@ -22,7 +23,7 @@ func state() *cobra.Command {
22
23
}
23
24
24
25
func statePull () * cobra.Command {
25
- var buildName string
26
+ var buildNumber int
26
27
cmd := & cobra.Command {
27
28
Use : "pull <workspace> [file]" ,
28
29
Args : cobra .MinimumNArgs (1 ),
@@ -31,15 +32,15 @@ func statePull() *cobra.Command {
31
32
if err != nil {
32
33
return err
33
34
}
34
- workspace , err := namedWorkspace (cmd , client , args [0 ])
35
- if err != nil {
36
- return err
37
- }
38
35
var build codersdk.WorkspaceBuild
39
- if buildName == "latest" {
36
+ if buildNumber == 0 {
37
+ workspace , err := namedWorkspace (cmd , client , args [0 ])
38
+ if err != nil {
39
+ return err
40
+ }
40
41
build = workspace .LatestBuild
41
42
} else {
42
- build , err = client .WorkspaceBuildByName (cmd .Context (), workspace . ID , buildName )
43
+ build , err = client .WorkspaceBuildByUsernameAndWorkspaceNameAndBuildNumber (cmd .Context (), codersdk . Me , args [ 0 ], strconv . Itoa ( buildNumber ) )
43
44
if err != nil {
44
45
return err
45
46
}
@@ -58,12 +59,12 @@ func statePull() *cobra.Command {
58
59
return os .WriteFile (args [1 ], state , 0600 )
59
60
},
60
61
}
61
- cmd .Flags ().StringVarP ( & buildName , "build" , "b" , "latest" , "Specify a workspace build to target by name." )
62
+ cmd .Flags ().IntVarP ( & buildNumber , "build" , "b" , 0 , "Specify a workspace build to target by name." )
62
63
return cmd
63
64
}
64
65
65
66
func statePush () * cobra.Command {
66
- var buildName string
67
+ var buildNumber int
67
68
cmd := & cobra.Command {
68
69
Use : "push <workspace> <file>" ,
69
70
Args : cobra .ExactArgs (2 ),
@@ -77,10 +78,10 @@ func statePush() *cobra.Command {
77
78
return err
78
79
}
79
80
var build codersdk.WorkspaceBuild
80
- if buildName == "latest" {
81
+ if buildNumber == 0 {
81
82
build = workspace .LatestBuild
82
83
} else {
83
- build , err = client .WorkspaceBuildByName (cmd .Context (), workspace . ID , buildName )
84
+ build , err = client .WorkspaceBuildByUsernameAndWorkspaceNameAndBuildNumber (cmd .Context (), codersdk . Me , args [ 0 ], strconv . Itoa ( buildNumber ) )
84
85
if err != nil {
85
86
return err
86
87
}
@@ -108,6 +109,6 @@ func statePush() *cobra.Command {
108
109
return cliui .WorkspaceBuild (cmd .Context (), cmd .OutOrStderr (), client , build .ID , before )
109
110
},
110
111
}
111
- cmd .Flags ().StringVarP ( & buildName , "build" , "b" , "latest" , "Specify a workspace build to target by name." )
112
+ cmd .Flags ().IntVarP ( & buildNumber , "build" , "b" , 0 , "Specify a workspace build to target by name." )
112
113
return cmd
113
114
}
0 commit comments