pub enum ChangeKind {
Added,
Modified,
Deleted,
Renamed,
}
Variants§
Implementations§
Source§impl ChangeKind
impl ChangeKind
Sourcepub const fn letter(self) -> char
pub const fn letter(self) -> char
Added => 'A'
Modified => 'M'
Deleted => 'D'
Renamed => 'R'
Examples found in repository?
examples/example.rs (line 33)
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4 let path = std::env::args().nth(1).unwrap_or_else(|| String::from("."));
5 let repo = git_commits::open(&path)?;
6
7 for commit in repo.commits()? {
8 let commit = commit?;
9
10 let msg = commit.message_lossy();
11 let first_line = msg.trim().lines().next().unwrap_or_default();
12
13 let committer = commit.committer();
14 let author = commit.author();
15
16 println!();
17 println!("SHA: {}", commit.sha());
18 println!("Time: {}", committer.time_local().unwrap()); // same as `commit.time_local()`
19 println!("Author: {}", author.name_lossy());
20 println!("Message: {first_line}");
21 println!();
22
23 for change in commit.changes()? {
24 let change = change?;
25
26 // The following `match` can be simplified, by simply doing:
27 // println!(" {}", change);
28
29 match change {
30 Change::Added(change) => {
31 println!(
32 " {} {} ({} bytes)",
33 change.kind().letter(),
34 change.path().display(),
35 change.size(),
36 );
37 }
38 Change::Modified(change) => {
39 println!(
40 " {} {} ({} -> {} bytes)",
41 change.kind().letter(),
42 change.path().display(),
43 change.old_size(),
44 change.new_size(),
45 );
46 }
47 Change::Deleted(change) => {
48 println!(
49 " {} {} ({} bytes)",
50 change.kind().letter(),
51 change.path().display(),
52 change.size(),
53 );
54 }
55 Change::Renamed(change) => {
56 println!(
57 " {} {} -> {} ({} bytes)",
58 change.kind().letter(),
59 change.old_path().display(),
60 change.new_path().display(),
61 change.size(),
62 );
63 }
64 }
65 }
66 }
67
68 Ok(())
69}
Sourcepub const fn symbol(self) -> char
pub const fn symbol(self) -> char
`Added => '+'
`Modified => '~'
`Deleted => '-'
`Renamed => '>'
pub const fn is_added(self) -> bool
pub const fn is_modified(self) -> bool
pub const fn is_deleted(self) -> bool
pub const fn is_renamed(self) -> bool
Trait Implementations§
Source§impl Clone for ChangeKind
impl Clone for ChangeKind
Source§fn clone(&self) -> ChangeKind
fn clone(&self) -> ChangeKind
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ChangeKind
impl Debug for ChangeKind
Source§impl Display for ChangeKind
impl Display for ChangeKind
Source§impl Hash for ChangeKind
impl Hash for ChangeKind
Source§impl PartialEq for ChangeKind
impl PartialEq for ChangeKind
impl Copy for ChangeKind
impl Eq for ChangeKind
impl StructuralPartialEq for ChangeKind
Auto Trait Implementations§
impl Freeze for ChangeKind
impl RefUnwindSafe for ChangeKind
impl Send for ChangeKind
impl Sync for ChangeKind
impl Unpin for ChangeKind
impl UnwindSafe for ChangeKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more