Every patch travels through a deterministic sequence of gates. Each stage must succeed before the next unlocks — giving you full audit control over what lands in your codebase.
The Load stage accepts your input and prepares it for the pipeline. RepoPatch supports two import modes:
.txt file already formatted in Patch Language v1.3. RepoPatch parses it directly into the pipeline.
Load performs a lightweight top-level parse: it counts PATCH blocks, records target file paths, and detects the input kind. It does not validate anchors or execute anything — that's Conform and Validate's job.
Conform runs across four subtabs: Convert, Run, Issues, and Code Quality. It performs a structural pass (is the patch language valid?) and a code quality pass (do the new lines introduce problems?). Issues are reported as diagnostic tiles.
The conformance checker verifies that every PATCHSET, PATCH, and ENDPATCH is correctly nested, all operation keywords (REPLACE, INSERT BEFORE, etc.) are well-formed, and prefix rules (- vs . ) are respected throughout.
The Code Quality subtab surfaces issues found in the new content the patch is introducing. Free tier covers structural and integrity checks. Pro adds an audit layer.
<root> with no matching </root>. Freedef old_helper()) but another new block calls it. Potential runtime break. FreeModifyAllData, ViewAllData, AuthorApex, or another sensitive permission in a Salesforce permission set or profile. Profor or while block. ProValidate resolves every anchor block against the actual workspace files. An anchor must match exactly once. Zero matches and multiple matches are both hard failures.
When an anchor fails to match, RepoPatch shows you why — not just that it failed. You get a per-line comparison with ✓/✗ markers, the closest match found in the file, and the similarity percentage.
Apply executes all operations against the workspace. Files are written exactly as the . lines specify — indentation, blank lines, and all. The workspace version increments on success.
| Operation | Effect |
|---|---|
| REPLACE | Swap matched old block for new content in-place |
| INSERT BEFORE | Add new lines immediately before the anchor |
| INSERT AFTER | Add new lines immediately after the anchor |
| DELETE | Remove matched block from the file |
| CREATEFILE | Write a new file with the supplied content |
| DELETEFILE | Remove an entire file from the workspace |
After Apply completes, two action buttons appear: Record Success and Revert Failed Release. This gives you a final human-in-the-loop checkpoint before committing the result to history.
Version history entries are always preserved — both ✓ and ✗ outcomes remain visible in the picklist, giving you a complete chronological audit trail of every patch applied to the workspace.
Start a free anonymous session in the Beta and run a real patchset through all five stages. No install, no account required.
No install required · Beta is live · MFA upgrade in 60 seconds