| Index: go/src/infra/tools/cipd/apps/cipd/main.go
|
| diff --git a/go/src/infra/tools/cipd/apps/cipd/main.go b/go/src/infra/tools/cipd/apps/cipd/main.go
|
| index 35c5636ecc5d17a54e9fa40f72c62ebed572c884..b02e814af8f3ec14100323ada32ded7e8c8e74ef 100644
|
| --- a/go/src/infra/tools/cipd/apps/cipd/main.go
|
| +++ b/go/src/infra/tools/cipd/apps/cipd/main.go
|
| @@ -707,7 +707,7 @@ var cmdFetch = &subcommands.Command{
|
| CommandRun: func() subcommands.CommandRun {
|
| c := &fetchRun{}
|
| c.Flags.StringVar(&c.packageName, "name", "<name>", "package name")
|
| - c.Flags.StringVar(&c.instanceID, "instance-id", "<instance id>", "package instance ID to fetch")
|
| + c.Flags.StringVar(&c.version, "version", "<version>", "package version to fetch")
|
| c.Flags.StringVar(&c.outputPath, "out", "<path>", "path to a file to write fetch to")
|
| c.ServiceOptions.registerFlags(&c.Flags)
|
| return c
|
| @@ -719,7 +719,7 @@ type fetchRun struct {
|
| ServiceOptions
|
|
|
| packageName string
|
| - instanceID string
|
| + version string
|
| outputPath string
|
| }
|
|
|
| @@ -727,8 +727,7 @@ func (c *fetchRun) Run(a subcommands.Application, args []string) int {
|
| if !checkCommandLine(args, c.GetFlags(), 0) {
|
| return 1
|
| }
|
| - pin := common.Pin{PackageName: c.packageName, InstanceID: c.instanceID}
|
| - err := fetchInstanceFile(pin, c.outputPath, c.ServiceOptions)
|
| + err := fetchInstanceFile(c.packageName, c.version, c.outputPath, c.ServiceOptions)
|
| if err != nil {
|
| reportError("Error while fetching the package: %s", err)
|
| return 1
|
| @@ -736,7 +735,16 @@ func (c *fetchRun) Run(a subcommands.Application, args []string) int {
|
| return 0
|
| }
|
|
|
| -func fetchInstanceFile(pin common.Pin, instanceFile string, serviceOpts ServiceOptions) error {
|
| +func fetchInstanceFile(packageName, version, instanceFile string, serviceOpts ServiceOptions) error {
|
| + client, err := serviceOpts.makeCipdClient()
|
| + if err != nil {
|
| + return err
|
| + }
|
| + pin, err := client.ResolveVersion(packageName, version)
|
| + if err != nil {
|
| + return err
|
| + }
|
| +
|
| out, err := os.OpenFile(instanceFile, os.O_CREATE|os.O_WRONLY, 0666)
|
| if err != nil {
|
| return err
|
| @@ -749,10 +757,6 @@ func fetchInstanceFile(pin common.Pin, instanceFile string, serviceOpts ServiceO
|
| }
|
| }()
|
|
|
| - client, err := serviceOpts.makeCipdClient()
|
| - if err != nil {
|
| - return err
|
| - }
|
| err = client.FetchInstance(pin, out)
|
| if err != nil {
|
| return err
|
|
|