in tools/upgrade/commands/consolidate_nested_configurations.py [0:0]
def run(self) -> None:
subdirectory = self._subdirectory
subdirectory = Path(subdirectory) if subdirectory else Path.cwd()
# Find configurations
configurations = sorted(find_files(subdirectory, ".pyre_configuration.local"))
if not configurations:
LOG.warning(
f"Skipping consolidation. No configurations found in {subdirectory}"
)
return
if len(configurations) == 1:
configuration = configurations[0]
LOG.warning(
f"Skipping consolidation. Only one configuration found: {configuration}"
)
return
# Gather nesting structure of configurations
nested_configurations = self.gather_nested_configuration_mapping(configurations)
if all(len(nested) == 0 for nested in nested_configurations.values()):
LOG.warning(
"Skipping consolidation. None of the configurations found are nested."
)
return
# Consolidate targets
for topmost, nested in nested_configurations.items():
if len(nested) == 0:
continue
consolidate_nested(
self._repository,
Path(topmost),
[Path(configuration) for configuration in nested],
)
configuration = Configuration(Path(topmost))
self._get_and_suppress_errors(configuration)
self._repository.commit_changes(
commit=(not self._no_commit),
title=f"Consolidate configurations in {subdirectory}",
summary="Consolidating nested configurations.",
set_dependencies=False,
)