mirror of
https://seed.radicle.dev/rad:z6cFWeWpnZNHh9rUW8phgA3b5yGt.git
synced 2026-10-27 15:20:34 +08:00
Porting the commit code that is found in heartwood[0]. It represents a parsed git commit object -- sans the id for the commit itself. [0]: https://github.com/radicle-dev/heartwood/blob/16b22d9178fa6a1aaf2ecb01ec97e067399c5286/radicle/src/git.rs#L392-L575 Signed-off-by: Fintan Halpenny <fintan.halpenny@gmail.com> X-Clacks-Overhead: GNU Terry Pratchett
29 lines
791 B
Rust
29 lines
791 B
Rust
use std::io;
|
|
|
|
use git_commit::Commit;
|
|
use test_helpers::tempdir::WithTmpDir;
|
|
|
|
#[test]
|
|
fn valid_commits() {
|
|
let radicle_git = format!(
|
|
"file://{}",
|
|
git2::Repository::discover(".").unwrap().path().display()
|
|
);
|
|
let repo = WithTmpDir::new(|path| {
|
|
let repo = git2::Repository::clone(&radicle_git, path)
|
|
.map_err(|err| io::Error::new(io::ErrorKind::Other, err))?;
|
|
Ok::<_, io::Error>(repo)
|
|
})
|
|
.unwrap();
|
|
|
|
let mut walk = repo.revwalk().unwrap();
|
|
walk.push_head().unwrap();
|
|
|
|
// take the first 20 commits and make sure we can parse them
|
|
for oid in walk.take(20) {
|
|
let oid = oid.unwrap();
|
|
let commit = Commit::read(&repo, oid);
|
|
assert!(commit.is_ok(), "Oid: {}, Error: {:?}", oid, commit)
|
|
}
|
|
}
|