mod fixture; use std::convert::TryFrom; use std::iter::FromIterator; use anyhow::Result; use git2::Repository; use git_trim::args::{DeleteFilter, DeleteRange, Scope}; use git_trim::{ get_trim_plan, ClassifiedBranch, Git, LocalBranch, PlanParam, RemoteTrackingBranch, }; use fixture::{rc, test_default_param, Fixture}; fn fixture() -> Fixture { rc().append_fixture_trace( r#" git init origin origin < README.md git add README.md git commit -m "Initial commit" EOF git clone origin local local < PlanParam<'static> { PlanParam { delete: DeleteFilter::from_iter(vec![ DeleteRange::MergedLocal, DeleteRange::MergedRemote(Scope::Scoped("origin".to_owned())), DeleteRange::Stray, DeleteRange::Diverged(Scope::Scoped("origin".to_owned())), DeleteRange::Local, DeleteRange::Remote(Scope::Scoped("origin".to_owned())), ]), ..test_default_param() } } #[test] fn test_merged_non_tracking() -> Result<()> { let guard = fixture().prepare( "local", r#" origin < Result<()> { let guard = fixture().prepare( "local", r#" origin <