Согласно проекту, который мне дали во время стажировки, мне нужно найти способ автоматически печатать различия между двумя коммитами, выбранными в приложении под названием Sourcetree, в файл Word. Я написал для этого скрипт Python и назначил его как «Пользовательское действие» в приложении Sourcetree. Однако моему начальнику не понравился результат, который я получил, и он сказал, что ожидает от меня результатов, как вы можете видеть во вложении. Я также приложу полученный результат. Можете ли вы мне помочь с этим, как я могу получить результат в этом формате? [Файл Word — это мой результат] А другой — это то, что ожидал мой босс] (https://i.sstatic.net/E4Q6CHXZ.png) < /p>
Согласно проекту, который мне дали во время стажировки, мне нужно найти способ автоматически печатать различия между двумя коммитами, выбранными в приложении под названием Sourcetree, в файл Word. Я написал для этого скрипт Python и назначил его как «Пользовательское действие» в приложении Sourcetree. Однако моему начальнику не понравился результат, который я получил, и он сказал, что ожидает от меня результатов, как вы можете видеть во вложении. Я также приложу полученный результат. Можете ли вы мне помочь с этим, как я могу получить результат в этом формате? [Файл Word — это мой результат] А другой — это то, что ожидал мой босс] (https://i.sstatic.net/E4Q6CHXZ.png) < /p> [code]import os import subprocess from docx import Document from docx.shared import RGBColor import re import sys
def extract_function_names(diff): function_names = set() pattern = re.compile(r'^@@.*@@\s*(def|function)\s*([a-zA-Z_][a-zA-Z0-9_]*)') for line in diff.splitlines(): match = pattern.match(line) if match: function_names.add(match.group(2)) return function_names
if file_status == 'A': doc.add_paragraph(f"File added: {file_name}").runs[0].font.color.rgb = RGBColor(0, 128, 0) doc.add_paragraph("Added Part") for line in file_content.splitlines(): run = doc.add_paragraph().add_run(f"+ {line.strip()}") run.font.color.rgb = RGBColor(0, 128, 0) elif file_status == 'D': doc.add_paragraph(f"File deleted: {file_name}").runs[0].font.color.rgb = RGBColor(255, 0, 0) doc.add_paragraph("Deleted Part") for line in file_content.splitlines(): run = doc.add_paragraph().add_run(f"- {line.strip()}") run.font.color.rgb = RGBColor(255, 0, 0) else: lines = diff.splitlines() difference_count = sum(1 for line in lines if line.startswith('-') or line.startswith('+')) function_names = extract_function_names(diff)
doc.add_paragraph(f"Farklılık Sayısı: {difference_count}") doc.add_paragraph(f"Farklılık Olan Fonksiyonlar: {', '.join(function_names)}")
old_line_num = 0 new_line_num = 0
for line in lines: if line.startswith('@@'): parts = line.split(' ') old_line_num = int(parts[1].split(',')[0][1:]) new_line_num = int(parts[2].split(',')[0][1:]) elif line.startswith('-'): run = doc.add_paragraph().add_run(f"- {old_line_num}: {line[1:]}") font = run.font font.color.rgb = RGBColor(255, 0, 0) # Kırmızı renk (silinen satırlar) old_line_num += 1 elif line.startswith('+'): run = doc.add_paragraph().add_run(f"+ {new_line_num}: {line[1:]}") font = run.font font.color.rgb = RGBColor(0, 128, 0) # Yeşil renk (eklenen satırlar) new_line_num += 1
doc.save(output_file) except Exception as e: print(f"Word belgesine yazarken hata oluştu: {e}")
У меня вопрос о разрешении MR из GitLab с помощью SourceTree и/или Android Studio напрямую.
Меня использовали для разрешения MR используя только SourceTree.
Пример: у меня есть ветка функций, которую следует объединить с веткой разработки с...
Я не знаю, как извлечь целочисленные значения, если я возьму целочисленные значения 2 из строки, и она напечатает «a» 50 раз.
Если мне нужно использовать что-нибудь еще, предложите мне что-нибудь, это был мой вопрос на собеседовании.
Я попробовал...
Я настраиваю тестовый пример золотого мастера, однако результат может быть выключен в определенные моменты из-за побочных эффектов, изменяющих некоторые строки в известных местах.$this->assertSame($expected, $actual);
Я настраиваю тестовый пример золотого мастера, однако результат может быть выключен в определенные моменты из-за побочных эффектов, изменяющих некоторые строки в известных местах.$this->assertSame($expected, $actual);
Я не могу понять, как лучше всего решить это и обнажить со мной, я новичок. Каждый вопрос требует, чтобы струнный ответ был сохранен в «Passfixfail». Параметры/радиопроизводительные кнопки: пройти, исправить и сбой. В настоящее время я связываю...