From 6a3aa91a6a65b99b8da9ac2b663b63b0e0aa61a0 Mon Sep 17 00:00:00 2001 From: Jonathan Allbritten <18425821+aj0413@users.noreply.github.com> Date: Sun, 2 Nov 2025 15:20:18 -0500 Subject: [PATCH 1/2] fix: partially fix extract file functionality --- .data/Dockerfile.minimal | 9 +++++++-- cmd/dive/cli/internal/ui/v1/app/controller.go | 7 ++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.data/Dockerfile.minimal b/.data/Dockerfile.minimal index 25e48f07..e5e55d88 100644 --- a/.data/Dockerfile.minimal +++ b/.data/Dockerfile.minimal @@ -1,2 +1,7 @@ -FROM scratch -COPY README.md /README.md +FROM busybox:latest AS minimal +COPY README.md /extract/README.md +RUN mkdir -p /root/minimal/really/nested + +FROM alpine:latest AS final +COPY --from=minimal /extract/README.md /tmp/README.md +RUN mkdir -p /root/minimal \ No newline at end of file diff --git a/cmd/dive/cli/internal/ui/v1/app/controller.go b/cmd/dive/cli/internal/ui/v1/app/controller.go index eb2afbce..893ac558 100644 --- a/cmd/dive/cli/internal/ui/v1/app/controller.go +++ b/cmd/dive/cli/internal/ui/v1/app/controller.go @@ -2,11 +2,12 @@ package app import ( "fmt" - "github.com/wagoodman/dive/cmd/dive/cli/internal/ui/v1" + "regexp" + + v1 "github.com/wagoodman/dive/cmd/dive/cli/internal/ui/v1" "github.com/wagoodman/dive/cmd/dive/cli/internal/ui/v1/view" "github.com/wagoodman/dive/cmd/dive/cli/internal/ui/v1/viewmodel" "golang.org/x/net/context" - "regexp" "github.com/awesome-gocui/gocui" ) @@ -60,7 +61,7 @@ func newController(ctx context.Context, g *gocui.Gui, cfg v1.Config) (*controlle } func (c *controller) onFileTreeViewExtract(p string) error { - return c.config.Content.Extract(c.ctx, c.config.Analysis.Image, c.views.LayerDetails.CurrentLayer.Id, p) + return c.config.Content.Extract(c.ctx, c.config.Analysis.Image, c.views.LayerDetails.CurrentLayer.Tree.Name, p) } func (c *controller) onFileTreeViewOptionChange() error { From aff775de1daeee2e66bcef0bfc89fd2847aecd1d Mon Sep 17 00:00:00 2001 From: Jonathan Allbritten <18425821+aj0413@users.noreply.github.com> Date: Sun, 2 Nov 2025 20:13:39 -0500 Subject: [PATCH 2/2] fix: pass nil for filterRegex when extracting file --- cmd/dive/cli/internal/ui/v1/view/filetree.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cmd/dive/cli/internal/ui/v1/view/filetree.go b/cmd/dive/cli/internal/ui/v1/view/filetree.go index f106cb1f..3c4f3d86 100644 --- a/cmd/dive/cli/internal/ui/v1/view/filetree.go +++ b/cmd/dive/cli/internal/ui/v1/view/filetree.go @@ -2,14 +2,15 @@ package view import ( "fmt" + "regexp" + "github.com/anchore/go-logger" - "github.com/wagoodman/dive/cmd/dive/cli/internal/ui/v1" + v1 "github.com/wagoodman/dive/cmd/dive/cli/internal/ui/v1" "github.com/wagoodman/dive/cmd/dive/cli/internal/ui/v1/format" "github.com/wagoodman/dive/cmd/dive/cli/internal/ui/v1/key" "github.com/wagoodman/dive/cmd/dive/cli/internal/ui/v1/viewmodel" "github.com/wagoodman/dive/internal/log" "github.com/wagoodman/dive/internal/utils" - "regexp" "github.com/awesome-gocui/gocui" "github.com/wagoodman/dive/dive/filetree" @@ -321,7 +322,7 @@ func (v *FileTree) toggleSortOrder() error { } func (v *FileTree) extractFile() error { - node := v.vm.CurrentNode(v.filterRegex) + node := v.vm.CurrentNode(nil) for _, listener := range v.extractListeners { err := listener(node.Path()) if err != nil {