Skip to content

Commit d7fe938

Browse files
committed
progress for crane copy
1 parent e7fc0dd commit d7fe938

File tree

153 files changed

+5575
-4479
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

153 files changed

+5575
-4479
lines changed

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ require (
2323
github.com/onsi/ginkgo v1.12.0 // indirect
2424
github.com/onsi/gomega v1.9.0 // indirect
2525
github.com/opencontainers/image-spec v1.0.1
26+
github.com/schollz/progressbar/v3 v3.7.4
2627
github.com/sirupsen/logrus v1.6.0 // indirect
2728
github.com/spf13/cobra v1.0.0
2829
github.com/stretchr/testify v1.6.1 // indirect

go.sum

Lines changed: 21 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/crane/copy.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@ import (
2121
"github.com/google/go-containerregistry/pkg/internal/legacy"
2222
"github.com/google/go-containerregistry/pkg/logs"
2323
"github.com/google/go-containerregistry/pkg/name"
24+
v1 "github.com/google/go-containerregistry/pkg/v1"
2425
"github.com/google/go-containerregistry/pkg/v1/remote"
2526
"github.com/google/go-containerregistry/pkg/v1/types"
27+
prog "github.com/schollz/progressbar/v3"
2628
)
2729

2830
// Copy copies a remote image or index from src to dst.
@@ -77,7 +79,17 @@ func copyImage(desc *remote.Descriptor, dstRef name.Reference, o options) error
7779
if err != nil {
7880
return err
7981
}
80-
return remote.Write(dstRef, img, o.remote...)
82+
ch := make(chan v1.Update)
83+
go remote.Write(dstRef, img, append(o.remote, remote.WithProgress(ch))...)
84+
pg := prog.New(0)
85+
for u := range ch {
86+
if u.Error != nil {
87+
return u.Error
88+
}
89+
pg.ChangeMax64(u.Total)
90+
pg.Set64(u.Complete)
91+
}
92+
return nil
8193
}
8294

8395
func copyIndex(desc *remote.Descriptor, dstRef name.Reference, o options) error {

vendor/golang.org/x/sys/unix/asm_aix_ppc64.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_darwin_386.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_darwin_amd64.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_darwin_arm.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_darwin_arm64.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_freebsd_386.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_freebsd_arm.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_linux_386.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_linux_amd64.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_linux_arm.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_linux_arm64.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_linux_mips64x.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_linux_mipsx.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_linux_riscv64.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_linux_s390x.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_netbsd_386.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_netbsd_arm.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_openbsd_386.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_openbsd_arm.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/asm_solaris_amd64.s

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/endian_big.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/golang.org/x/sys/unix/endian_little.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)