Skip to content

Implement copy for data sets (SDK, CLI, VSCE)#778

Draft
ATorrise wants to merge 120 commits intomainfrom
copy-frontend
Draft

Implement copy for data sets (SDK, CLI, VSCE)#778
ATorrise wants to merge 120 commits intomainfrom
copy-frontend

Conversation

@ATorrise
Copy link
Contributor

@ATorrise ATorrise commented Feb 9, 2026

What It Does

  • Added copyDataset to SDK with fromDataset, toDataset, replace, overwrite options
  • Added zowe zssh copy data-set CLI command
  • Implemented copyDataSetMember in VSCE for Zowe Explorer integration

How to Test

CLI

Replace USERID with your chosen HLQ

Test 1: Copy to new target

# Setup
zowe zssh create data-set "USERID.COPY.SRC" --dsorg PO --dirblk 2
echo "test data" | zowe zssh write data-set "USERID.COPY.SRC(MEM1)"

# Copy to new target (TGT doesn't exist yet)
zowe zssh copy data-set "USERID.COPY.SRC" "USERID.COPY.TGT"

# Verify: TGT should have MEM1
zowe zssh list data-set-members "USERID.COPY.TGT"

Test 2: Copy without flags fails on existing target

# Add a member to TGT that doesn't exist in SRC
echo "target only" | zowe zssh write data-set "USERID.COPY.TGT(MEM2)"

# This should fail - target already has MEM1
zowe zssh copy data-set "USERID.COPY.SRC" "USERID.COPY.TGT"
# Expected: Error about target already existing

Test 3: --replace overwrites matching members, keeps others

# Update SRC member with new content
echo "updated source" | zowe zssh write data-set "USERID.COPY.SRC(MEM1)"

# Copy with replace
zowe zssh copy data-set "USERID.COPY.SRC" "USERID.COPY.TGT" --replace

# Verify: MEM1 has "updated source", MEM2 still exists
zowe zssh view data-set "USERID.COPY.TGT(MEM1)"
zowe zssh view data-set "USERID.COPY.TGT(MEM2)"
zowe zssh list data-set-members "USERID.COPY.TGT"
# Should show both MEM1 and MEM2

Test 4: --overwrite replaces target completely

# Copy with overwrite - this deletes all TGT members first
zowe zssh copy data-set "USERID.COPY.SRC" "USERID.COPY.TGT" --overwrite

# Verify: Only MEM1 exists (MEM2 deleted)
zowe zssh list data-set-members "USERID.COPY.TGT"

Cleanup

zowe zssh delete data-set "USERID.COPY.SRC"
zowe zssh delete data-set "USERID.COPY.TGT"

Test cases for reviewerss to verify

  • CLI zowe zssh copy data-set works for PS data sets
  • CLI zowe zssh copy data-set works for PDS data sets
  • CLI zowe zssh copy data-set works for individual members
  • CLI --replace flag works correctly
  • CLI --overwrite flag works correctly
  • VSCE copy/paste works in Zowe Explorer Data Sets view
  • Error messages are clear when copy fails

Review Checklist
I certify that I have:

Additional Comments
🤠

ATorrise and others added 30 commits January 16, 2026 11:48
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber Torrise <112635587+ATorrise@users.noreply.github.com>
ty fernando

Co-authored-by: Fernando Rijo Cedeno <37381190+zFernand0@users.noreply.github.com>
Signed-off-by: Amber Torrise <112635587+ATorrise@users.noreply.github.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber Torrise <112635587+ATorrise@users.noreply.github.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
…ample can use them

Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
ATorrise and others added 10 commits February 10, 2026 11:37
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
@sonarqubecloud
Copy link

❌ The last analysis has failed.

See analysis details on SonarQube Cloud

ATorrise and others added 2 commits February 10, 2026 14:29
Signed-off-by: Amber <amber.torrise@broadcom.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Amber Torrise <112635587+ATorrise@users.noreply.github.com>
ATorrise and others added 15 commits February 11, 2026 15:28
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber Torrise <112635587+ATorrise@users.noreply.github.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
Signed-off-by: Amber <amber.torrise@broadcom.com>
…ration, adding flag to api

Signed-off-by: Amber <amber.torrise@broadcom.com>
@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
2 Security Hotspots
5.1% Duplication on New Code (required ≤ 3%)
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

Implement copy for data sets

2 participants

Comments