Skip to content

Commit 0c025a0

Browse files
committed
Merge pull request #89 from mboersma/60-refresh-units-tag
feat(cmd): refresh-units accepts -t for tag, branch, or SHA
2 parents 731d728 + a9c98c1 commit 0c025a0

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

cmd/cmd.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cmd
22

33
import (
4+
"errors"
45
"fmt"
56
"io/ioutil"
67
"net/http"
@@ -277,10 +278,12 @@ deisctl looks for unit files in these directories, in this order:
277278
- /var/lib/deis/units
278279
279280
Usage:
280-
deisctl refresh-units [-p <target>]
281+
deisctl refresh-units [-p <target>] [-t <tag>]
281282
282283
Options:
283284
-p --path=<target> where to save unit files [default: /var/lib/deis/units]
285+
-t --tag=<tag> git tag, branch, or SHA to use when downloading unit files
286+
[default: master]
284287
`
285288
// parse command-line arguments
286289
args, err := docopt.Parse(usage, nil, true, "", false)
@@ -295,7 +298,7 @@ Options:
295298
}
296299
// download and save the unit files to the specified path
297300
rootURL := "https://raw.githubusercontent.com/deis/deisctl/"
298-
branch := "master"
301+
tag := args["--tag"].(string)
299302
units := []string{
300303
"deis-builder.service",
301304
"deis-builder-data.service",
@@ -310,12 +313,15 @@ Options:
310313
"deis-router.service",
311314
}
312315
for _, unit := range units {
313-
src := rootURL + branch + "/units/" + unit
316+
src := rootURL + tag + "/units/" + unit
314317
dest := filepath.Join(dir, unit)
315318
res, err := http.Get(src)
316319
if err != nil {
317320
return err
318321
}
322+
if res.StatusCode != 200 {
323+
return errors.New(res.Status)
324+
}
319325
defer res.Body.Close()
320326
data, err := ioutil.ReadAll(res.Body)
321327
if err != nil {
@@ -324,7 +330,7 @@ Options:
324330
if err = ioutil.WriteFile(dest, data, 0644); err != nil {
325331
return err
326332
}
327-
fmt.Printf("Refreshed %s from %s\n", unit, branch)
333+
fmt.Printf("Refreshed %s from %s\n", unit, tag)
328334
}
329335
return nil
330336
}

0 commit comments

Comments
 (0)