pub struct Added { /* private fields */ }
Implementations§
Source§impl Added
impl Added
Sourcepub const fn kind(&self) -> ChangeKind
pub const fn kind(&self) -> ChangeKind
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 fn path(&self) -> &Path
pub fn path(&self) -> &Path
Returns the path of the file.
Examples found in repository?
examples/example.rs (line 34)
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 size(&self) -> usize
pub const fn size(&self) -> usize
Returns the total size in bytes of the file, before the change.
Examples found in repository?
examples/example.rs (line 35)
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}
Trait Implementations§
impl Eq for Added
impl StructuralPartialEq for Added
Auto Trait Implementations§
impl Freeze for Added
impl RefUnwindSafe for Added
impl Send for Added
impl Sync for Added
impl Unpin for Added
impl UnwindSafe for Added
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