CLI helper: print backtraces with errors
Print backtrace information when displaying an error returned by our API, to make troubleshooting tests a bit easier. Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
This commit is contained in:
parent
f61b77479f
commit
06025caa49
|
|
@ -17,7 +17,7 @@ var (
|
|||
func container(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
images, err := m.Images()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
matches := []*storage.Container{}
|
||||
|
|
@ -45,7 +45,7 @@ func container(flags *mflag.FlagSet, action string, m storage.Store, args []stri
|
|||
}
|
||||
size, err := m.ContainerSize(container.ID)
|
||||
if err != nil {
|
||||
fmt.Printf("Size unknown: %v\n", err)
|
||||
fmt.Printf("Size unknown: %+v\n", err)
|
||||
} else {
|
||||
fmt.Printf("Size: %d\n", size)
|
||||
}
|
||||
|
|
@ -64,7 +64,7 @@ func container(flags *mflag.FlagSet, action string, m storage.Store, args []stri
|
|||
func listContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
container, err := m.Container(args[0])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
d, err := m.ListContainerBigData(container.ID)
|
||||
|
|
@ -81,7 +81,7 @@ func listContainerBigData(flags *mflag.FlagSet, action string, m storage.Store,
|
|||
func getContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
container, err := m.Container(args[0])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
output := os.Stdout
|
||||
|
|
@ -95,7 +95,7 @@ func getContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, a
|
|||
}
|
||||
b, err := m.ContainerBigData(container.ID, args[1])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
output.Write(b)
|
||||
|
|
@ -106,12 +106,12 @@ func getContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, a
|
|||
func getContainerBigDataSize(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
container, err := m.Container(args[0])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
size, err := m.ContainerBigDataSize(container.ID, args[1])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
fmt.Fprintf(os.Stdout, "%d\n", size)
|
||||
|
|
@ -121,12 +121,12 @@ func getContainerBigDataSize(flags *mflag.FlagSet, action string, m storage.Stor
|
|||
func getContainerBigDataDigest(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
container, err := m.Container(args[0])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
d, err := m.ContainerBigDataDigest(container.ID, args[1])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if d.Validate() != nil {
|
||||
|
|
@ -140,7 +140,7 @@ func getContainerBigDataDigest(flags *mflag.FlagSet, action string, m storage.St
|
|||
func setContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
container, err := m.Container(args[0])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
input := os.Stdin
|
||||
|
|
@ -159,7 +159,7 @@ func setContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, a
|
|||
}
|
||||
err = m.SetContainerBigData(container.ID, args[1], b)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
|
|
@ -168,7 +168,7 @@ func setContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, a
|
|||
func getContainerDir(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
path, err := m.ContainerDirectory(args[0])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
fmt.Printf("%s\n", path)
|
||||
|
|
@ -178,7 +178,7 @@ func getContainerDir(flags *mflag.FlagSet, action string, m storage.Store, args
|
|||
func getContainerRunDir(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
path, err := m.ContainerRunDirectory(args[0])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
fmt.Printf("%s\n", path)
|
||||
|
|
@ -195,7 +195,7 @@ func containerParentOwners(flags *mflag.FlagSet, action string, m storage.Store,
|
|||
for _, container := range matched {
|
||||
uids, gids, err := m.ContainerParentOwners(container.ID)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "ContainerParentOwner: %v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "ContainerParentOwner: %+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if jsonOutput {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import (
|
|||
func containers(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
containers, err := m.Containers()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if jsonOutput {
|
||||
|
|
|
|||
|
|
@ -49,13 +49,13 @@ func copyContent(flags *mflag.FlagSet, action string, m storage.Store, args []st
|
|||
}
|
||||
targetLayer, err := m.Layer(targetParts[0])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "error finding layer %q: %v\n", targetParts[0], err)
|
||||
fmt.Fprintf(os.Stderr, "error finding layer %q: %+v\n", targetParts[0], err)
|
||||
return 1
|
||||
}
|
||||
untarIDMappings = idtools.NewIDMappingsFromMaps(targetLayer.UIDMap, targetLayer.GIDMap)
|
||||
targetMount, err := m.Mount(targetLayer.ID, targetLayer.MountLabel)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "error mounting layer %q: %v\n", targetLayer.ID, err)
|
||||
fmt.Fprintf(os.Stderr, "error mounting layer %q: %+v\n", targetLayer.ID, err)
|
||||
return 1
|
||||
}
|
||||
target = filepath.Join(targetMount, targetParts[1])
|
||||
|
|
@ -73,13 +73,13 @@ func copyContent(flags *mflag.FlagSet, action string, m storage.Store, args []st
|
|||
}
|
||||
sourceLayer, err := m.Layer(sourceParts[0])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "error finding layer %q: %v\n", sourceParts[0], err)
|
||||
fmt.Fprintf(os.Stderr, "error finding layer %q: %+v\n", sourceParts[0], err)
|
||||
return 1
|
||||
}
|
||||
tarIDMappings = idtools.NewIDMappingsFromMaps(sourceLayer.UIDMap, sourceLayer.GIDMap)
|
||||
sourceMount, err := m.Mount(sourceLayer.ID, sourceLayer.MountLabel)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "error mounting layer %q: %v\n", sourceLayer.ID, err)
|
||||
fmt.Fprintf(os.Stderr, "error mounting layer %q: %+v\n", sourceLayer.ID, err)
|
||||
return 1
|
||||
}
|
||||
source = filepath.Join(sourceMount, sourceParts[1])
|
||||
|
|
@ -87,7 +87,7 @@ func copyContent(flags *mflag.FlagSet, action string, m storage.Store, args []st
|
|||
}
|
||||
archiver := chrootarchive.NewArchiverWithChown(tarIDMappings, chownOpts, untarIDMappings)
|
||||
if err := archiver.CopyWithTar(source, target); err != nil {
|
||||
fmt.Fprintf(os.Stderr, "error copying %q to %q: %v\n", source, target, err)
|
||||
fmt.Fprintf(os.Stderr, "error copying %q to %q: %+v\n", source, target, err)
|
||||
return 1
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ func createLayer(flags *mflag.FlagSet, action string, m storage.Store, args []st
|
|||
options := &storage.LayerOptions{IDMappingOptions: *mappings}
|
||||
layer, err := m.CreateLayer(paramID, parent, paramNames, paramMountLabel, !paramCreateRO, options)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if jsonOutput {
|
||||
|
|
@ -120,7 +120,7 @@ func importLayer(flags *mflag.FlagSet, action string, m storage.Store, args []st
|
|||
options := &storage.LayerOptions{IDMappingOptions: *mappings}
|
||||
layer, _, err := m.PutLayer(paramID, parent, paramNames, paramMountLabel, !paramCreateRO, options, diffStream)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if jsonOutput {
|
||||
|
|
@ -157,7 +157,7 @@ func createImage(flags *mflag.FlagSet, action string, m storage.Store, args []st
|
|||
}
|
||||
image, err := m.CreateImage(paramID, paramNames, layer, paramMetadata, imageOptions)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if jsonOutput {
|
||||
|
|
@ -193,7 +193,7 @@ func createContainer(flags *mflag.FlagSet, action string, m storage.Store, args
|
|||
options := &storage.ContainerOptions{IDMappingOptions: *mappings}
|
||||
container, err := m.CreateContainer(paramID, paramNames, args[0], paramLayer, paramMetadata, options)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if jsonOutput {
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ func changes(flags *mflag.FlagSet, action string, m storage.Store, args []string
|
|||
}
|
||||
changes, err := m.Changes(from, to)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if jsonOutput {
|
||||
|
|
@ -66,7 +66,7 @@ func diff(flags *mflag.FlagSet, action string, m storage.Store, args []string) i
|
|||
if diffFile != "" {
|
||||
f, err := os.Create(diffFile)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
diffStream = f
|
||||
|
|
@ -90,13 +90,13 @@ func diff(flags *mflag.FlagSet, action string, m storage.Store, args []string) i
|
|||
|
||||
reader, err := m.Diff(from, to, &options)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
_, err = io.Copy(diffStream, reader)
|
||||
reader.Close()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
|
|
@ -110,7 +110,7 @@ func applyDiff(flags *mflag.FlagSet, action string, m storage.Store, args []stri
|
|||
if applyDiffFile != "" {
|
||||
f, err := os.Open(applyDiffFile)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
diffStream = f
|
||||
|
|
@ -118,7 +118,7 @@ func applyDiff(flags *mflag.FlagSet, action string, m storage.Store, args []stri
|
|||
}
|
||||
_, err := m.ApplyDiff(args[0], diffStream)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
|
|
@ -135,7 +135,7 @@ func diffSize(flags *mflag.FlagSet, action string, m storage.Store, args []strin
|
|||
}
|
||||
n, err := m.DiffSize(from, to)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
fmt.Printf("%d\n", n)
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ func image(flags *mflag.FlagSet, action string, m storage.Store, args []string)
|
|||
}
|
||||
size, err := m.ImageSize(image.ID)
|
||||
if err != nil {
|
||||
fmt.Printf("Size unknown: %v\n", err)
|
||||
fmt.Printf("Size unknown: %+v\n", err)
|
||||
} else {
|
||||
fmt.Printf("Size: %d\n", size)
|
||||
}
|
||||
|
|
@ -56,7 +56,7 @@ func image(flags *mflag.FlagSet, action string, m storage.Store, args []string)
|
|||
func listImageBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
image, err := m.Image(args[0])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
d, err := m.ListImageBigData(image.ID)
|
||||
|
|
@ -73,7 +73,7 @@ func listImageBigData(flags *mflag.FlagSet, action string, m storage.Store, args
|
|||
func getImageBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
image, err := m.Image(args[0])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
output := os.Stdout
|
||||
|
|
@ -87,7 +87,7 @@ func getImageBigData(flags *mflag.FlagSet, action string, m storage.Store, args
|
|||
}
|
||||
b, err := m.ImageBigData(image.ID, args[1])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
output.Write(b)
|
||||
|
|
@ -98,12 +98,12 @@ func getImageBigData(flags *mflag.FlagSet, action string, m storage.Store, args
|
|||
func getImageBigDataSize(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
image, err := m.Image(args[0])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
size, err := m.ImageBigDataSize(image.ID, args[1])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
fmt.Fprintf(os.Stdout, "%d\n", size)
|
||||
|
|
@ -113,12 +113,12 @@ func getImageBigDataSize(flags *mflag.FlagSet, action string, m storage.Store, a
|
|||
func getImageBigDataDigest(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
image, err := m.Image(args[0])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
d, err := m.ImageBigDataDigest(image.ID, args[1])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if d.Validate() != nil {
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ var (
|
|||
func images(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
images, err := m.Images()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if jsonOutput {
|
||||
|
|
@ -52,7 +52,7 @@ func imagesByDigest(flags *mflag.FlagSet, action string, m storage.Store, args [
|
|||
}
|
||||
matched, err := m.ImagesByDigest(d)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
for _, match := range matched {
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ func layerParentOwners(flags *mflag.FlagSet, action string, m storage.Store, arg
|
|||
for _, layer := range matched {
|
||||
uids, gids, err := m.LayerParentOwners(layer.ID)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "LayerParentOwner: %v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "LayerParentOwner: %+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if jsonOutput {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ var listLayersTree = false
|
|||
func layers(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
layers, err := m.Layers()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if jsonOutput {
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ func main() {
|
|||
}
|
||||
store, err := storage.GetStore(options)
|
||||
if err != nil {
|
||||
fmt.Printf("error initializing: %v\n", err)
|
||||
fmt.Printf("error initializing: %+v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
os.Exit(command.action(flags, cmd, store, args))
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ func setMetadata(flags *mflag.FlagSet, action string, m storage.Store, args []st
|
|||
paramMetadata = string(b)
|
||||
}
|
||||
if err := m.SetMetadata(args[0], paramMetadata); err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
|
|
|
|||
|
|
@ -16,12 +16,12 @@ func getNames(flags *mflag.FlagSet, action string, m storage.Store, args []strin
|
|||
}
|
||||
id, err := m.Lookup(args[0])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
names, err := m.Names(id)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if jsonOutput {
|
||||
|
|
@ -40,12 +40,12 @@ func addNames(flags *mflag.FlagSet, action string, m storage.Store, args []strin
|
|||
}
|
||||
id, err := m.Lookup(args[0])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
oldnames, err := m.Names(id)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
newNames := []string{}
|
||||
|
|
@ -56,12 +56,12 @@ func addNames(flags *mflag.FlagSet, action string, m storage.Store, args []strin
|
|||
newNames = append(newNames, paramNames...)
|
||||
}
|
||||
if err := m.SetNames(id, newNames); err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
names, err := m.Names(id)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if jsonOutput {
|
||||
|
|
@ -76,16 +76,16 @@ func setNames(flags *mflag.FlagSet, action string, m storage.Store, args []strin
|
|||
}
|
||||
id, err := m.Lookup(args[0])
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if err := m.SetNames(id, paramNames); err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
names, err := m.Names(id)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if jsonOutput {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ func shutdown(flags *mflag.FlagSet, action string, m storage.Store, args []strin
|
|||
}
|
||||
} else {
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%s: %v\n", action, err)
|
||||
fmt.Fprintf(os.Stderr, "%s: %+v\n", action, err)
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import (
|
|||
func status(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
status, err := m.Status()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "status: %v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "status: %+v\n", err)
|
||||
return 1
|
||||
}
|
||||
basics := [][2]string{
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import (
|
|||
func version(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||
version, err := m.Version()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "version: %v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "version: %+v\n", err)
|
||||
return 1
|
||||
}
|
||||
if jsonOutput {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ func wipe(flags *mflag.FlagSet, action string, m storage.Store, args []string) i
|
|||
}
|
||||
} else {
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%s: %v\n", action, err)
|
||||
fmt.Fprintf(os.Stderr, "%s: %+v\n", action, err)
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
|
|
|
|||
Loading…
Reference in New Issue