Skip to main content

forge_engine/runtime/patch/
render_diff.rs

1use std::path::Path;
2
3use crate::error::ForgeResult;
4
5/// Generate a unified diff from (original_dir, patched_dir).
6///
7/// Prefers `git diff --no-index` if git is on PATH.
8/// Falls back to internal line-diff producing valid unified format.
9///
10/// This is async because it may spawn a `git` subprocess.
11pub async fn render_diff(original_dir: &Path, patched_dir: &Path) -> ForgeResult<String> {
12    Ok(typed_patch::render_diff(original_dir, patched_dir).await?)
13}