def run()

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,
        )