MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / import_ignore_patterns

Function import_ignore_patterns

atomic-cli/src/commands/git/import.rs:116–154  ·  view source on GitHub ↗
(workdir: &Path, kind: Option<&str>)

Source from the content-addressed store, hash-verified

114}
115
116fn import_ignore_patterns(workdir: &Path, kind: Option<&str>) -> Vec<String> {
117 const COMMON_IMPORT_IGNORES: &[&str] = &[
118 "node_modules/",
119 "bower_components/",
120 ".yarn/cache/",
121 ".pnpm-store/",
122 ];
123
124 let template = if let Some(kind) = kind {
125 super::super::init::get_ignore_template(kind)
126 } else if workdir.join("Cargo.toml").exists() {
127 super::super::init::get_ignore_template("rust")
128 } else if workdir.join("package.json").exists() {
129 super::super::init::get_ignore_template("node")
130 } else if workdir.join("go.mod").exists() {
131 super::super::init::get_ignore_template("go")
132 } else if workdir.join("setup.py").exists() || workdir.join("pyproject.toml").exists() {
133 super::super::init::get_ignore_template("python")
134 } else {
135 None
136 };
137
138 let mut patterns: Vec<String> = COMMON_IMPORT_IGNORES
139 .iter()
140 .map(|pattern| (*pattern).to_string())
141 .collect();
142
143 patterns.extend(
144 template
145 .unwrap_or(".atomic\n.git\n")
146 .lines()
147 .map(str::trim)
148 .filter(|line| !line.is_empty() && !line.starts_with('#'))
149 .map(ToOwned::to_owned),
150 );
151 patterns.sort();
152 patterns.dedup();
153 patterns
154}
155
156fn current_git_branch(git_repo: &GitRepository) -> Option<String> {
157 let head = git_repo.head().ok()?;

Calls 7

get_ignore_templateFunction · 0.85
extendMethod · 0.80
sortMethod · 0.80
existsMethod · 0.45
iterMethod · 0.45
linesMethod · 0.45
is_emptyMethod · 0.45