fix: skip storage object when cloning flags for shadowed IO#3174
fix: skip storage object when cloning flags for shadowed IO#3174johanneskoester merged 1 commit intomainfrom
Conversation
📝 WalkthroughWalkthroughThe changes in this pull request focus on the Changes
Sequence Diagram(s)sequenceDiagram
participant Job
participant InputFile
participant ShadowedFile
InputFile->>Job: Request to clone flags
Job->>ShadowedFile: Clone flags (skip storage object)
ShadowedFile-->>Job: Flags cloned successfully
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🧰 Additional context used📓 Path-based instructions (1)snakemake/jobs.py (1)Pattern 🔇 Additional comments (1)snakemake/jobs.py (1)
The change correctly optimizes the flag cloning process by skipping storage objects, as they are not needed during shadowing and will be handled afterward. The comment clearly explains the rationale. Let's verify that storage objects are properly handled after shadowing: ✅ Verification successfulFrom the search results we've gathered, I can now provide a final response based on the evidence: Storage handling is properly implemented after shadowing From the code context found, we can see that:
The change to skip storage objects during shadowing is safe because:
🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Description: Verify storage handling after shadowing
# Test: Search for storage-related operations after shadowing
# Expect: Calls to handle_storage or similar methods after shadow operations
rg -A 5 'handle_storage.*store_in_storage' snakemake/jobs.py
Length of output: 62 Script: #!/bin/bash
# Let's search for storage-related operations more broadly
rg -A 10 'storage' snakemake/jobs.py
Length of output: 8129 Script: #!/bin/bash
# Let's also check for the clone_flags method implementation
ast-grep --pattern 'def clone_flags($$$) { $$$ }'
Length of output: 51 Script: #!/bin/bash
# Search for shadowed_path method implementation
ast-grep --pattern 'def shadowed_path($$$) { $$$ }'
Length of output: 53 Script: #!/bin/bash
# Let's try a different pattern to find the shadowed_path method
rg -A 15 'def shadowed_path' snakemake/jobs.py
Length of output: 588 Script: #!/bin/bash
# Let's also look for storage handling after shadowing
rg -B 5 -A 10 'unshadow_output.*handle_storage' snakemake/jobs.py
Length of output: 67 Script: #!/bin/bash
# Let's search for the unshadow_output method and its surrounding context
rg -B 5 -A 15 'def unshadow_output' snakemake/jobs.py
Length of output: 55 Script: #!/bin/bash
# Let's also look for handle_storage method implementation
rg -B 5 -A 15 'def handle_storage' snakemake/jobs.py
Length of output: 54 Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
|
🤖 I have created a release *beep* *boop* --- ## [8.25.0](v8.24.1...v8.25.0) (2024-10-29) ### Features * add first 5 rules to group name (used e.g. when naming cluster/cloud jobs or logfiles) ([#3168](#3168)) ([5657122](5657122)) * allow to mark input files of rules as ancient via the API or command line interface (and thereby also via workflow specific profiles). Putting this into a workflow specific profile (or specifying as argument) allows to overrule rerun triggers caused by file modification dates where the user knows better. ([#3171](#3171)) ([6f3aed3](6f3aed3)) ### Bug Fixes * skip storage object when cloning flags for shadowed IO ([#3174](#3174)) ([d733fed](d733fed)) * use permission safe copying when hidden conda files are already present in a workdir. This avoids problems in case multiple people use the same workdir and workflow. ([#3169](#3169)) ([c98b2e7](c98b2e7)) ### Documentation * add tutorial references and small syntax fix ([#3172](#3172)) ([6bee12a](6bee12a)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>



QC
docs/) is updated to reflect the changes or this is not necessary (e.g. if the change does neither modify the language nor the behavior or functionalities of Snakemake).Summary by CodeRabbit
Bug Fixes
Refactor
shadowed_pathmethod for better efficiency by skipping the storage object during the cloning process.