Files
kopia/cli/command_content_show.go
Jarek Kowalski 54edb97b3a refactoring: renamed repo/block to repo/content
Also introduced strongly typed content.ID and manifest.ID (instead of string)

This aligns identifiers across all layers of repository:

blob.ID
content.ID
object.ID
manifest.ID
2019-06-01 22:24:19 -07:00

40 lines
886 B
Go

package cli
import (
"bytes"
"context"
"github.com/kopia/kopia/repo"
"github.com/kopia/kopia/repo/content"
)
var (
contentShowCommand = contentCommands.Command("show", "Show contents by ID.").Alias("cat")
contentShowIDs = contentShowCommand.Arg("id", "IDs of contents to show").Required().Strings()
)
func runContentShowCommand(ctx context.Context, rep *repo.Repository) error {
for _, contentID := range toContentIDs(*contentShowIDs) {
if err := contentShow(ctx, rep, contentID); err != nil {
return err
}
}
return nil
}
func contentShow(ctx context.Context, r *repo.Repository, contentID content.ID) error {
data, err := r.Content.GetContent(ctx, contentID)
if err != nil {
return err
}
return showContent(bytes.NewReader(data))
}
func init() {
setupShowCommand(contentShowCommand)
contentShowCommand.Action(repositoryAction(runContentShowCommand))
}