Add files listing to files_content when self.repo is not None in get_files_messages method.

# Context:
USER: in get_files_messages(self): if self.repo is not none, then get a listing of the files in the repo and add it to all_content
ASSISTANT: To add a listing of the files in the repo to `all_content` when `self.repo` is not `None`, you can modify the `get_files_messages` method as follows:

```python
aider/coder.py
<<<<<<< ORIGINAL
    def get_files_messages(self):

        files_content = prompts.files_content_prefix
        files_content += self.get_files_content()

        all_content = files_content
=======
    def get_files_messages(self):

        files_content = prompts.files_content_prefix
        files_content += self.get_files_content()

        if self.repo is not None:
            tracked_files = set(self.repo.git.ls_files().splitlines())
            files_listing = "\n".join(tracked_files)
            files_content += f"\n\nFiles in the repo:\n{files_listing}\n"

        all_content = files_content
>>>>>>> UPDATED
```

This change adds a conditional block to check if `self.repo` is not `None` and then retrieves the list of tracked files in the repo. It then adds the files listing to `files_content` before assigning it to `all_content`.
This commit is contained in:
Paul Gauthier 2023-05-09 13:15:22 -07:00
parent e2b5c6074f
commit 1ba8e59c53

View file

@ -1,6 +1,5 @@
#!/usr/bin/env python #!/usr/bin/env python
import sys import sys
import re import re
import traceback import traceback
@ -127,11 +126,18 @@ class Coder:
return max(Path(fname).stat().st_mtime for fname in self.fnames) return max(Path(fname).stat().st_mtime for fname in self.fnames)
def get_files_messages(self): def get_files_messages(self):
files_content = prompts.files_content_prefix files_content = prompts.files_content_prefix
files_content += self.get_files_content() files_content += self.get_files_content()
if self.repo is not None:
tracked_files = set(self.repo.git.ls_files().splitlines())
files_listing = "\n".join(tracked_files)
files_content += f"\n\nFiles in the repo:\n{files_listing}\n"
all_content = files_content
files_messages = [ files_messages = [
dict(role="user", content=files_content), dict(role="user", content=all_content),
dict(role="assistant", content="Ok."), dict(role="assistant", content="Ok."),
dict( dict(
role="system", role="system",