Showing the changes to git-commitgraph/src/file (2 of 4 files). Show all
Unified · Split
| @@ -8,7 +8,7 @@ use std::{ · 7 unmodified lines | |||
| 8 | 8 | ||
| 9 | /// Access | 9 | /// Access |
| 10 | impl File { | 10 | impl File { |
| 11 | /// Returns the commit data for the commit located at the given lex position. | 11 | /// Returns the commit data for the commit located at the given lexigraphical position. |
| 12 | /// | 12 | /// |
| 13 | /// `pos` must range from 0 to self.num_commits(). | 13 | /// `pos` must range from 0 to self.num_commits(). |
| 14 | /// | 14 | /// |
| @@ -23,13 +23,13 @@ impl File { · 8 unmodified lines | |||
| 23 | HashKind::Sha1 | 23 | HashKind::Sha1 |
| 24 | } | 24 | } |
| 25 | 25 | ||
| 26 | // copied from git-odb/src/pack/index/access.rs | ||
| 27 | /// Returns 20 bytes sha1 at the given index in our list of (sorted) sha1 hashes. | 26 | /// Returns 20 bytes sha1 at the given index in our list of (sorted) sha1 hashes. |
| 28 | /// The position ranges from 0 to self.num_commits() | 27 | /// The position ranges from 0 to self.num_commits() |
| 28 | // copied from git-odb/src/pack/index/access.rs | ||
| 29 | pub fn id_at(&self, pos: file::Position) -> borrowed::Id<'_> { | 29 | pub fn id_at(&self, pos: file::Position) -> borrowed::Id<'_> { |
| 30 | assert!( | 30 | assert!( |
| 31 | pos.0 < self.num_commits(), | 31 | pos.0 < self.num_commits(), |
| 32 | "expected lex position less than {}, got {}", | 32 | "expected lexigraphical position less than {}, got {}", |
| 33 | self.num_commits(), | 33 | self.num_commits(), |
| 34 | pos.0 | 34 | pos.0 |
| 35 | ); | 35 | ); |
| @@ -85,7 +85,7 @@ impl File { · 49 unmodified lines | |||
| 85 | 85 | ||
| 86 | /// Returns the number of commits in this graph file. | 86 | /// Returns the number of commits in this graph file. |
| 87 | /// | 87 | /// |
| 88 | /// The maximum valid `Lexfile::Position` that can be used with this file is one less than | 88 | /// The maximum valid `file::Position` that can be used with this file is one less than |
| 89 | /// `num_commits()`. | 89 | /// `num_commits()`. |
| 90 | pub fn num_commits(&self) -> u32 { | 90 | pub fn num_commits(&self) -> u32 { |
| 91 | self.fan[255] | 91 | self.fan[255] |
| @@ -101,7 +101,7 @@ impl File { · 9 unmodified lines | |||
| 101 | pub(crate) fn commit_data_bytes(&self, pos: file::Position) -> &[u8] { | 101 | pub(crate) fn commit_data_bytes(&self, pos: file::Position) -> &[u8] { |
| 102 | assert!( | 102 | assert!( |
| 103 | pos.0 < self.num_commits(), | 103 | pos.0 < self.num_commits(), |
| 104 | "expected lex position less than {}, got {}", | 104 | "expected lexigraphical position less than {}, got {}", |
| 105 | self.num_commits(), | 105 | self.num_commits(), |
| 106 | pos.0 | 106 | pos.0 |
| 107 | ); | 107 | ); |
| @@ -45,7 +45,7 @@ const EXTENDED_EDGES_MASK: u32 = 0x8000_0000; · 44 unmodified lines | |||
| 45 | 45 | ||
| 46 | pub struct Commit<'a> { | 46 | pub struct Commit<'a> { |
| 47 | file: &'a File, | 47 | file: &'a File, |
| 48 | lex_pos: file::Position, | 48 | pos: file::Position, |
| 49 | // We can parse the below fields lazily if needed. | 49 | // We can parse the below fields lazily if needed. |
| 50 | commit_timestamp: u64, | 50 | commit_timestamp: u64, |
| 51 | generation: u32, | 51 | generation: u32, |
| @@ -59,7 +59,7 @@ impl<'a> Commit<'a> { · 7 unmodified lines | |||
| 59 | let bytes = file.commit_data_bytes(pos); | 59 | let bytes = file.commit_data_bytes(pos); |
| 60 | Commit { | 60 | Commit { |
| 61 | file, | 61 | file, |
| 62 | lex_pos: pos, | 62 | pos, |
| 63 | root_tree_id: borrowed::Id::try_from(&bytes[..SHA1_SIZE]).expect("20 bytes SHA1 to be alright"), | 63 | root_tree_id: borrowed::Id::try_from(&bytes[..SHA1_SIZE]).expect("20 bytes SHA1 to be alright"), |
| 64 | parent1: ParentEdge::from_raw(BigEndian::read_u32(&bytes[SHA1_SIZE..SHA1_SIZE + 4])), | 64 | parent1: ParentEdge::from_raw(BigEndian::read_u32(&bytes[SHA1_SIZE..SHA1_SIZE + 4])), |
| 65 | parent2: ParentEdge::from_raw(BigEndian::read_u32(&bytes[SHA1_SIZE + 4..SHA1_SIZE + 8])), | 65 | parent2: ParentEdge::from_raw(BigEndian::read_u32(&bytes[SHA1_SIZE + 4..SHA1_SIZE + 8])), |
| @@ -94,7 +94,7 @@ impl<'a> Commit<'a> { · 28 unmodified lines | |||
| 94 | } | 94 | } |
| 95 | 95 | ||
| 96 | pub fn id(&self) -> borrowed::Id<'_> { | 96 | pub fn id(&self) -> borrowed::Id<'_> { |
| 97 | self.file.id_at(self.lex_pos) | 97 | self.file.id_at(self.pos) |
| 98 | } | 98 | } |
| 99 | 99 | ||
| 100 | pub fn parent1(&self) -> Result<Option<graph::Position>, Error> { | 100 | pub fn parent1(&self) -> Result<Option<graph::Position>, Error> { |
| @@ -112,7 +112,7 @@ impl<'a> Debug for Commit<'a> { · 11 unmodified lines | |||
| 112 | f, | 112 | f, |
| 113 | "Commit {{ id: {}, lex_pos: {}, generation: {}, root_tree_id: {}, parent1: {:?}, parent2: {:?} }}", | 113 | "Commit {{ id: {}, lex_pos: {}, generation: {}, root_tree_id: {}, parent1: {:?}, parent2: {:?} }}", |
| 114 | self.id(), | 114 | self.id(), |
| 115 | self.lex_pos, | 115 | self.pos, |
| 116 | self.generation(), | 116 | self.generation(), |
| 117 | self.root_tree_id(), | 117 | self.root_tree_id(), |
| 118 | self.parent1, | 118 | self.parent1, |
| @@ -125,7 +125,7 @@ impl<'a> Eq for Commit<'a> {} · 6 unmodified lines | |||
| 125 | 125 | ||
| 126 | impl<'a> PartialEq for Commit<'a> { | 126 | impl<'a> PartialEq for Commit<'a> { |
| 127 | fn eq(&self, other: &Self) -> bool { | 127 | fn eq(&self, other: &Self) -> bool { |
| 128 | self.file as *const File == other.file as *const File && self.lex_pos == other.lex_pos | 128 | self.file as *const File == other.file as *const File && self.pos == other.pos |
| 129 | } | 129 | } |
| 130 | } | 130 | } |
| 131 | 131 | ||