Skip to main content

sley/
diff.rs

1//! Diff helpers on top of [`sley_diff_merge`].
2
3use sley_core::ObjectId;
4use sley_diff_merge::{
5    DiffNameStatusOptions, NameStatusEntry, diff_name_status_trees_with_options,
6};
7
8use crate::{Repository, Result};
9
10impl Repository {
11    /// Compare two tree objects and return name-status entries (`git diff --name-status`).
12    pub fn diff_name_status(
13        &self,
14        left: &ObjectId,
15        right: &ObjectId,
16    ) -> Result<Vec<NameStatusEntry>> {
17        diff_name_status_trees_with_options(
18            self.objects.as_ref(),
19            self.object_format(),
20            left,
21            right,
22            DiffNameStatusOptions::default(),
23        )
24    }
25}