Radish alpha
r
rad:z6cFWeWpnZNHh9rUW8phgA3b5yGt
Git libraries for Radicle
Radicle
Git
Merge remote-tracking branch 'seb/sebastinez/fileDiff-path'
Fintan Halpenny committed 2 years ago
commit b1984bd3f8c8e2d0a1fd53c9833c76ac8e1bfcc1
parent f9360d8
1 file changed +18 -1
modified radicle-surf/src/diff.rs
@@ -17,7 +17,12 @@

//! Types that represent diff(s) in a Git repo.

-
use std::{borrow::Cow, ops::Range, path::PathBuf, string::FromUtf8Error};
+
use std::{
+
    borrow::Cow,
+
    ops::Range,
+
    path::{Path, PathBuf},
+
    string::FromUtf8Error,
+
};

#[cfg(feature = "serde")]
use serde::{ser, ser::SerializeStruct, Serialize, Serializer};
@@ -287,6 +292,18 @@ pub enum FileDiff {
    Copied(Copied),
}

+
impl FileDiff {
+
    pub fn path(&self) -> &Path {
+
        match self {
+
            FileDiff::Added(x) => x.path.as_path(),
+
            FileDiff::Deleted(x) => x.path.as_path(),
+
            FileDiff::Modified(x) => x.path.as_path(),
+
            FileDiff::Moved(x) => x.new_path.as_path(),
+
            FileDiff::Copied(x) => x.new_path.as_path(),
+
        }
+
    }
+
}
+

#[cfg(feature = "serde")]
impl Serialize for FileDiff {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>