public function manageIgnored(array
$files, ScaffoldOptions
$options) { if (!
$this->
managementOfGitIgnoreEnabled($options)) { return;
} // Accumulate entries to add to .gitignore, sorted into buckets based on the
// location of the .gitignore file the entry should be added to.
$add_to_git_ignore =
[];
foreach ($files as $scaffoldResult) { $path =
$scaffoldResult->
destination()->
fullPath();
$is_ignored = Git::
checkIgnore($this->io,
$path,
$this->dir
);
if (!
$is_ignored) { $is_tracked = Git::
checkTracked($this->io,
$path,
$this->dir
);
if (!
$is_tracked &&
$scaffoldResult->
isManaged()) { $dir =
realpath(dirname($path));
$name =
basename($path);
$add_to_git_ignore[$dir][] = '/' .
$name;
} } } // Write out the .gitignore files one at a time.
foreach ($add_to_git_ignore as $dir =>
$entries) {