]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: error out of 'go work use' if no directories are given
authorBryan C. Mills <bcmills@google.com>
Thu, 3 Mar 2022 20:13:11 +0000 (15:13 -0500)
committerBryan Mills <bcmills@google.com>
Thu, 3 Mar 2022 21:32:41 +0000 (21:32 +0000)
Otherwise, the behavior of 'go work use -r' (without arguments)
may be surprising.

Change-Id: I50cf1339591720ec5bd333146b89c9944ce420d5
Reviewed-on: https://go-review.googlesource.com/c/go/+/389855
Trust: Bryan Mills <bcmills@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
Reviewed-by: Michael Matloob <matloob@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>

src/cmd/go/alldocs.go
src/cmd/go/internal/workcmd/use.go
src/cmd/go/testdata/script/work_use_noargs.txt [new file with mode: 0644]

index 2bd2fb6fbc9bede1a05c88dc6cd9ac034d850957..b4fb282303c7c21f071e182515b76b6292451763 100644 (file)
 //
 // Usage:
 //
-//     go work use [-r] [moddirs]
+//     go work use [-r] moddirs
 //
 // Use provides a command-line interface for adding
 // directories, optionally recursively, to a go.work file.
index 9e3bb4ae97859475e077c79ff840b50f0961316c..e4666ac26dab35c4a28fde3ac3ef82d884c1cfd9 100644 (file)
@@ -20,7 +20,7 @@ import (
 )
 
 var cmdUse = &base.Command{
-       UsageLine: "go work use [-r] [moddirs]",
+       UsageLine: "go work use [-r] moddirs",
        Short:     "add modules to workspace file",
        Long: `Use provides a command-line interface for adding
 directories, optionally recursively, to a go.work file.
@@ -101,6 +101,9 @@ func runUse(ctx context.Context, cmd *base.Command, args []string) {
                keepDirs[absDir] = dir
        }
 
+       if len(args) == 0 {
+               base.Fatalf("go: 'go work use' requires one or more directory arguments")
+       }
        for _, useDir := range args {
                if !*useR {
                        lookDir(useDir)
diff --git a/src/cmd/go/testdata/script/work_use_noargs.txt b/src/cmd/go/testdata/script/work_use_noargs.txt
new file mode 100644 (file)
index 0000000..ca05434
--- /dev/null
@@ -0,0 +1,11 @@
+# For now, 'go work use' requires arguments.
+# (Eventually, we may may it implicitly behave like 'go work use .'.
+
+! go work use
+stderr '^go: ''go work use'' requires one or more directory arguments'
+
+! go work use -r
+stderr '^go: ''go work use'' requires one or more directory arguments'
+
+-- go.work --
+go 1.18