| import type { StructuredPatch } from '../types.js'; |
| /** |
| * Returns a new structured patch which when applied will undo the original `patch`. |
| * |
| * When `patch` is a Git-style patch, `reversePatch` handles extended header information (relating |
| * to renames, file modes, etc.) to the extent that doing so is possible, but note one fundamental |
| * limitation: the correct inverse of a patch featuring `copy from`/`copy to` headers cannot, in |
| * general, be determined based on the information contained in the patch alone, and so |
| * `reversePatch`'s output when passed such a patch will usually be rejected by `git apply`. (The |
| * correct inverse would be a patch that deletes the newly-created file, but for Git to apply such |
| * a patch, the patch must explicitly delete every line of content in the file too, and that |
| * content cannot be determined from the original patch on its own. `reversePatch` therefore does |
| * the only vaguely reasonable thing it can do in this scenario: it outputs a patch with a |
| * `deleted file mode` header - indicating that the file should be deleted - but no hunks.) |
| * |
| * @param patch either a single structured patch object (as returned by `structuredPatch`) or an |
| * array of them (as returned by `parsePatch`). |
| */ |
| export declare function reversePatch(structuredPatch: StructuredPatch): StructuredPatch; |
| export declare function reversePatch(structuredPatch: StructuredPatch[]): StructuredPatch[]; |
| export declare function reversePatch(structuredPatch: StructuredPatch | StructuredPatch[]): StructuredPatch | StructuredPatch[]; |
| //# sourceMappingURL=reverse.d.ts.map |