Repository navigation
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two source paths such as
a/b.jsonanda__b.jsoncurrently map to one flattened backup file, silently losing a workflow. Generated metadata can also overwrite a workflow namedREADME.mdorbackup-report.json, and repeated runs with a custom output directory can back up their own generated copies.Preflight candidate destinations before creating or writing backups, reject filename/metadata collisions, exclude the resolved custom output directory from input, and refuse output at the repository root or an ancestor (including directory aliases). Compare destination names without case on every platform for portable backups; this deliberately also rejects case-only differences on case-sensitive filesystems. Preserve existing flattened names, redaction and report schema. Existing generated backups can still be refreshed; stale or source files are not deleted.
Validation: eight regression cases were observed failing before fixes, including three mixed-case regressions added for the final review finding. Actual Node 20.20.2 and 24.19.0 each pass all 44 tests; lint/typecheck/build, normal scan smoke and diff checks pass. Coverage includes repeated custom/absolute output, reserved metadata, alias-to-root and sibling-prefix boundaries. The non-Windows platform branch is simulated in portable-name tests; no physical macOS machine was tested. No real n8n workflow/API, credentials, dependencies, Actions or releases are involved.