ignore_match/
ignore_match.rs1use grit_lib::ignore::IgnoreMatcher;
6use grit_lib::repo::init_repository;
7use std::fs;
8
9fn main() -> grit_lib::error::Result<()> {
10 let root = tempfile::tempdir()?;
11 let repo = init_repository(root.path(), false, "main", None, "files")?;
12
13 let wt = repo.work_tree.as_ref().expect("non-bare");
14 fs::write(wt.join(".gitignore"), "*.log\n")?;
15
16 let mut matcher = IgnoreMatcher::from_repository(&repo)?;
17 let (ignored_log, m_log) = matcher.check_path(&repo, None, "build.log", false)?;
18 let (ignored_txt, m_txt) = matcher.check_path(&repo, None, "readme.txt", false)?;
19
20 println!("build.log ignored={ignored_log} ({m_log:?})");
21 println!("readme.txt ignored={ignored_txt} ({m_txt:?})");
22
23 Ok(())
24}