diff --git a/aider/main.py b/aider/main.py index bb647d55d..a25816f45 100644 --- a/aider/main.py +++ b/aider/main.py @@ -324,6 +324,8 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F default_config_files.append(Path.home() / conf_fname) # homedir default_config_files = list(map(str, default_config_files)) + default_config_files.reverse() + parser = get_parser(default_config_files, git_root) args, unknown = parser.parse_known_args(argv) diff --git a/tests/basic/test_main.py b/tests/basic/test_main.py index c0e62c56c..1f0d467b5 100644 --- a/tests/basic/test_main.py +++ b/tests/basic/test_main.py @@ -394,15 +394,25 @@ class TestMain(TestCase): cwd_config = cwd / ".aider.conf.yml" named_config = git_dir / "named.aider.conf.yml" - home_config.write_text("model: gpt-3.5-turbo\nmap-tokens: 1024\n") - git_config.write_text("model: gpt-4\nmap-tokens: 2048\n") cwd_config.write_text("model: gpt-4-32k\nmap-tokens: 4096\n") + git_config.write_text("model: gpt-4\nmap-tokens: 2048\n") + home_config.write_text("model: gpt-3.5-turbo\nmap-tokens: 1024\n") named_config.write_text("model: gpt-4-1106-preview\nmap-tokens: 8192\n") with ( patch("pathlib.Path.home", return_value=fake_home), patch("aider.coders.Coder.create") as MockCoder, ): + # Test loading from specified config file + main( + ["--yes", "--exit", "--config", str(named_config)], + input=DummyInput(), + output=DummyOutput(), + ) + _, kwargs = MockCoder.call_args + self.assertEqual(kwargs["main_model"].name, "gpt-4-1106-preview") + self.assertEqual(kwargs["map_tokens"], 8192) + # Test loading from current working directory main(["--yes", "--exit"], input=DummyInput(), output=DummyOutput()) _, kwargs = MockCoder.call_args @@ -425,16 +435,6 @@ class TestMain(TestCase): self.assertEqual(kwargs["main_model"].name, "gpt-3.5-turbo") self.assertEqual(kwargs["map_tokens"], 1024) - # Test loading from specified config file - main( - ["--yes", "--exit", "--config", str(named_config)], - input=DummyInput(), - output=DummyOutput(), - ) - _, kwargs = MockCoder.call_args - self.assertEqual(kwargs["main_model"].name, "gpt-4-1106-preview") - self.assertEqual(kwargs["map_tokens"], 8192) - def test_map_tokens_option(self): with GitTemporaryDirectory(): with patch("aider.coders.base_coder.RepoMap") as MockRepoMap: