From a81f674a05a5747df1109ed3e572042caf6d607b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20K=C5=99epinsk=C3=BD?= Date: Wed, 16 Mar 2022 19:59:39 +0100 Subject: [PATCH] resume kubectl cp with tail when --retries is negative - count retries from 1 when printing info for users --- staging/src/k8s.io/kubectl/pkg/cmd/cp/cp.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/cp/cp.go b/staging/src/k8s.io/kubectl/pkg/cmd/cp/cp.go index 3e25c6e5371..30ebef54f67 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/cp/cp.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/cp/cp.go @@ -373,7 +373,7 @@ func (t *TarPipe) initReadFrom(n uint64) { Command: []string{"tar", "cf", "-", t.src.File.String()}, Executor: &exec.DefaultRemoteExecutor{}, } - if t.o.MaxTries > 0 { + if t.o.MaxTries != 0 { options.Command = []string{"sh", "-c", fmt.Sprintf("tar cf - %s | tail -c+%d", t.src.File, n)} } @@ -387,10 +387,10 @@ func (t *TarPipe) Read(p []byte) (n int, err error) { n, err = t.reader.Read(p) if err != nil { if t.o.MaxTries < 0 || t.retries < t.o.MaxTries { + t.retries++ fmt.Printf("Resuming copy at %d bytes, retry %d/%d\n", t.bytesRead, t.retries, t.o.MaxTries) t.initReadFrom(t.bytesRead + 1) err = nil - t.retries++ } else { fmt.Printf("Dropping out copy after %d retries\n", t.retries) }