Skip to content

Commit fca6ee4

Browse files
committed
check if files need to be ignored in case they are listed in a discussion
1 parent 22b5450 commit fca6ee4

2 files changed

Lines changed: 19 additions & 5 deletions

File tree

src/git_bob/_ai_github_utilities.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ def comment_on_issue(repository, issue, prompt_function, **kwargs):
6060
file_changes = ""
6161
conversation_type = "issue"
6262

63-
discussion = modify_discussion(Config.git_utilities.get_conversation_on_issue(repository, issue), prompt_visionlm=prompt_function)
63+
discussion = modify_discussion(Config.git_utilities.get_conversation_on_issue(repository, issue),
64+
prompt_visionlm=prompt_function, repository=repository, branch_name="main")
6465
print("Discussion:", discussion)
6566

6667
all_files = "* " + "\n* ".join(Config.git_utilities.list_repository_files(repository))
@@ -84,6 +85,8 @@ def comment_on_issue(repository, issue, prompt_function, **kwargs):
8485
""")
8586
filenames = text_to_json(relevant_files)
8687

88+
filenames = [f for f in filenames if not is_ignored(f, repository, "main")]
89+
8790
file_content_dict = Config.git_utilities.get_repository_file_contents(repository, "main", filenames)
8891

8992
temp = []
@@ -148,7 +151,10 @@ def review_pull_request(repository, issue, prompt_function, **kwargs):
148151
if Config.pull_request is None: # it's not a PR
149152
return comment_on_issue(repository, issue, prompt_function)
150153

151-
discussion = modify_discussion(Config.git_utilities.get_conversation_on_issue(repository, issue), prompt_visionlm=prompt_function)
154+
discussion = modify_discussion(Config.git_utilities.get_conversation_on_issue(repository, issue),
155+
prompt_visionlm=prompt_function,
156+
repository=repository,
157+
branch_name="main")
152158
print("Discussion:", discussion)
153159

154160
file_changes = Config.git_utilities.get_diff_of_pull_request(repository, issue)
@@ -606,7 +612,11 @@ def solve_github_issue(repository, issue, prompt_function, base_branch=None):
606612

607613
repo = Config.git_utilities.get_repository_handle(repository)
608614

609-
discussion = modify_discussion(Config.git_utilities.get_conversation_on_issue(repository, issue), prompt_visionlm=prompt_function)
615+
discussion = modify_discussion(Config.git_utilities.get_conversation_on_issue(repository, issue),
616+
prompt_visionlm=prompt_function,
617+
repository=repository,
618+
branch_name=base_branch)
619+
repository=repository, branch_name=base_branch)
610620
print("Discussion:", discussion)
611621

612622
all_files = "* " + "\n* ".join(Config.git_utilities.list_repository_files(repository, branch_name=base_branch))

src/git_bob/_utilities.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -261,9 +261,10 @@ def image_to_url(image):
261261
return img_str
262262

263263

264-
def modify_discussion(discussion, prompt_visionlm=prompt_openai):
264+
def modify_discussion(discussion, prompt_visionlm=prompt_openai, repository=None, branch_name=None):
265265
import re
266266
import docx2markdown
267+
from ._ai_github_utilities import is_ignored
267268
#from ._github_utilities import get_conversation_on_issue, get_diff_of_pull_request, get_file_in_repository
268269

269270
# Regex to find URLs in the discussion
@@ -273,6 +274,9 @@ def modify_discussion(discussion, prompt_visionlm=prompt_openai):
273274
# Placeholder for additional content extracted from URLs
274275
additional_content = {}
275276

277+
if branch_name is None:
278+
branch_name = "main"
279+
276280
# Process each URL based on its type
277281
for url in urls:
278282
if url.endswith(")"): # happens with ![](url) syntax
@@ -348,7 +352,7 @@ def modify_discussion(discussion, prompt_visionlm=prompt_openai):
348352
if len(potential_filename) < 4: # too short to be a filename
349353
continue
350354
# check if file exists
351-
if os.path.exists(potential_filename):
355+
if os.path.exists(potential_filename) and not is_ignored(potential_filename, repository, branch_name):
352356
if potential_filename.endswith('.ipynb'):
353357
file_contents = read_text_file(potential_filename)
354358
file_contents = erase_outputs_of_code_cells(file_contents)

0 commit comments

Comments
 (0)