Showing the changes to git-commitgraph (3 of 3 files). Show all
Unified · Split
| @@ -1,11 +1,11 @@ | ||
| 1 | 1 | [package] |
| 2 | 2 | name = "git-commitgraph" |
| 3 | 3 | version = "0.0.0" |
| 4 | −repository = "https://github.com/Byron/git-oxide" | |
| 4 | +repository = "https://github.com/Byron/gitxoxide" | |
| 5 | 5 | documentation = "https://git-scm.com/docs/commit-graph#:~:text=The%20commit-graph%20file%20is%20a%20supplemental%20data%20structure,or%20in%20the%20info%20directory%20of%20an%20alternate." |
| 6 | 6 | license = "MIT/Apache-2.0" |
| 7 | −description = "A WIP crate of the gitoxide project dedicated implementing the git commitgraph file format and its maintenance" | |
| 8 | −authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>", "Conor Davis <gitoxide@conor.fastmail.fm>"] | |
| 7 | +description = "A crate of the gitoxide project dedicated implementing the git commitgraph file format and its maintenance" | |
| 8 | +authors = ["Conor Davis <gitoxide@conor.fastmail.fm>", "Sebastian Thiel <sebastian.thiel@icloud.com>"] | |
| 9 | 9 | edition = "2018" |
| 10 | 10 | |
| 11 | 11 | [lib] |
| @@ -2,7 +2,7 @@ use crate::{check_common, create_repo, inspect_refs}; · 1 unmodified line | ||
| 2 | 2 | use git_commitgraph::Graph; |
| 3 | 3 | |
| 4 | 4 | #[test] |
| 5 | −fn single_parent() -> Result<(), Box<dyn std::error::Error>> { | |
| 5 | +fn single_parent() -> crate::Result { | |
| 6 | 6 | let repo_dir = create_repo("single_parent.sh"); |
| 7 | 7 | let refs = inspect_refs(repo_dir.path(), &["parent", "child"]); |
| 8 | 8 | let cg = Graph::from_info_dir(repo_dir.path().join(".git").join("objects").join("info"))?; |
| @@ -15,7 +15,7 @@ fn single_parent() -> Result<(), Box<dyn std::error::Error>> { · 6 unmodified lines | ||
| 15 | 15 | } |
| 16 | 16 | |
| 17 | 17 | #[test] |
| 18 | −fn octupus_merges() -> Result<(), Box<dyn std::error::Error>> { | |
| 18 | +fn octupus_merges() -> crate::Result { | |
| 19 | 19 | let repo_dir = create_repo("octopus_merges.sh"); |
| 20 | 20 | let refs = inspect_refs( |
| 21 | 21 | repo_dir.path(), |
| @@ -44,7 +44,7 @@ fn octupus_merges() -> Result<(), Box<dyn std::error::Error>> { · 22 unmodified lines | ||
| 44 | 44 | } |
| 45 | 45 | |
| 46 | 46 | #[test] |
| 47 | −fn single_commit() -> Result<(), Box<dyn std::error::Error>> { | |
| 47 | +fn single_commit() -> crate::Result { | |
| 48 | 48 | let repo_dir = create_repo("single_commit.sh"); |
| 49 | 49 | let refs = inspect_refs(repo_dir.path(), &["commit"]); |
| 50 | 50 | let cg = Graph::from_info_dir(repo_dir.path().join(".git").join("objects").join("info"))?; |
| @@ -56,7 +56,7 @@ fn single_commit() -> Result<(), Box<dyn std::error::Error>> { · 5 unmodified lines | ||
| 56 | 56 | } |
| 57 | 57 | |
| 58 | 58 | #[test] |
| 59 | −fn two_parents() -> Result<(), Box<dyn std::error::Error>> { | |
| 59 | +fn two_parents() -> crate::Result { | |
| 60 | 60 | let repo_dir = create_repo("two_parents.sh"); |
| 61 | 61 | let refs = inspect_refs(repo_dir.path(), &["parent1", "parent2", "child"]); |
| 62 | 62 | let cg = Graph::from_info_dir(repo_dir.path().join(".git").join("objects").join("info"))?; |
| @@ -9,6 +9,8 @@ use std::{ · 8 unmodified lines | ||
| 9 | 9 | process::Command, |
| 10 | 10 | }; |
| 11 | 11 | |
| 12 | +type Result = std::result::Result<(), Box<dyn std::error::Error>>; | |
| 13 | + | |
| 12 | 14 | mod access; |
| 13 | 15 | |
| 14 | 16 | pub fn check_common(cg: &Graph, expected: &HashMap<String, RefInfo, impl BuildHasher>) { |
| @@ -35,6 +37,7 @@ pub fn check_common(cg: &Graph, expected: &HashMap<String, RefInfo, impl BuildHa · 20 unmodified lines | ||
| 35 | 37 | .expect("find RefInfo by id") |
| 36 | 38 | }) |
| 37 | 39 | .collect(); |
| 40 | + | |
| 38 | 41 | let commit = cg.commit_at(ref_info.pos()); |
| 39 | 42 | assert_eq!(commit.id(), ref_info.id()); |
| 40 | 43 | assert_eq!(commit.root_tree_id(), ref_info.root_tree_id()); |
| @@ -45,7 +48,7 @@ pub fn check_common(cg: &Graph, expected: &HashMap<String, RefInfo, impl BuildHa · 4 unmodified lines | ||
| 45 | 48 | assert_eq!( |
| 46 | 49 | commit |
| 47 | 50 | .iter_parents() |
| 48 | − .collect::<Result<Vec<_>, _>>() | |
| 51 | + .collect::<std::result::Result<Vec<_>, _>>() | |
| 49 | 52 | .expect("failed to access commit's parents"), |
| 50 | 53 | expected_parents.iter().map(|x| x.pos()).collect::<Vec<_>>() |
| 51 | 54 | ); |
| @@ -134,10 +137,11 @@ pub fn inspect_refs(repo_dir: impl AsRef<Path>, refs: &[&'static str]) -> HashMa · 82 unmodified lines | ||
| 134 | 137 | infos.sort_by_key(|x| x.1); |
| 135 | 138 | |
| 136 | 139 | let get_pos = |id: borrowed::Id| -> GraphPosition { |
| 137 | − let pos = infos | |
| 140 | + let pos: u32 = infos | |
| 138 | 141 | .binary_search_by_key(&id, |x| x.1.to_borrowed()) |
| 139 | − .expect("sorted_ids to contain id"); | |
| 140 | − let pos: u32 = pos.try_into().expect("graph position to fit in u32"); | |
| 142 | + .expect("sorted_ids to contain id") | |
| 143 | + .try_into() | |
| 144 | + .expect("graph position to fit in u32"); | |
| 141 | 145 | GraphPosition(pos) |
| 142 | 146 | }; |
| 143 | 147 | |