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

Function import_ignore_patterns

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

Source from the content-addressed store, hash-verified

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