patcher 0.2.1

patcher is a Rust library for generating and applying Git-style unified diff patches.
Documentation
# Tutorial: patcher

This project provides tools to **compare** two pieces of text (like files) to find the differences (*diffing*).
It generates a structured list of changes called a **Patch**.
This *Patch* acts like instructions that can be used later by a **Patcher** to **apply** those changes to the original text, effectively transforming it into the new version, or reversing the changes.
It can handle changes across *multiple files* as well.


**Source Repository:** [None](None)

```mermaid
flowchart TD
    A0["Differ
"]
    A1["Patch
"]
    A2["Chunk
"]
    A3["Operation
"]
    A4["Patcher
"]
    A5["MultifilePatch
"]
    A6["MultifilePatcher
"]
    A7["ApplyResult
"]
    A0 -- "Generates" --> A1
    A1 -- "Contains" --> A2
    A2 -- "Contains" --> A3
    A4 -- "Applies" --> A1
    A5 -- "Aggregates" --> A1
    A6 -- "Applies" --> A5
    A6 -- "Uses" --> A4
    A6 -- "Returns" --> A7
```

## Chapters

1. [Differ
](01_differ_.md)
2. [Patch
](02_patch_.md)
3. [Chunk
](03_chunk_.md)
4. [Operation
](04_operation_.md)
5. [Patcher
](05_patcher_.md)
6. [MultifilePatch
](06_multifilepatch_.md)
7. [MultifilePatcher
](07_multifilepatcher_.md)
8. [ApplyResult
](08_applyresult_.md)


---

Generated by [AI Codebase Knowledge Builder](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge)