-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
318 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,4 +22,6 @@ modules\__pycache__ | |
sourcesage.egg-info | ||
.pytest_cache | ||
dist | ||
build | ||
build | ||
.SourceSageAssets | ||
docs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -164,3 +164,5 @@ SourceSageAssets | |
|
||
.pypirc | ||
temp/ | ||
.SourceSageAssets | ||
.Gaiah.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
|
||
|
||
## 1. `generate_diff_report.py` | ||
|
||
### 概要 | ||
このスクリプトは、Gitリポジトリ内の最新のリリースと前回のリリースの間の差分を取得し、それをマークダウン形式のレポートに変換します。 | ||
|
||
### 主な機能 | ||
- **`run_command`関数**: 指定されたコマンドを実行し、その出力をキャプチャして表示します。 | ||
- **`get_git_diff`関数**: 最新のGitタグを取得し、それと前のタグの間の差分を生成します。 | ||
- **`generate_markdown_report`関数**: 差分情報を整理し、マークダウン形式のレポートを生成します。 | ||
- **`main`関数**: 全体のプロセスを管理し、実行します。 | ||
|
||
--- | ||
|
||
## 2. `get_diff.py` | ||
|
||
### 概要 | ||
このスクリプトは、現在のGitリポジトリのステージングエリアにある変更を取得し、その差分を表示します。 | ||
|
||
### 主な機能 | ||
- **リポジトリの初期化**: 指定されたパスのGitリポジトリを初期化します。 | ||
- **差分の取得**: ステージングエリアにある変更を取得し、それを表示します。 | ||
|
||
--- | ||
|
||
## 3. `get_issues.py` | ||
|
||
### 概要 | ||
このスクリプトは、指定されたGitHubリポジトリから開いているIssueを取得し、そのデータをJSONファイルとして保存します。 | ||
|
||
### 主な機能 | ||
- **GitHub APIの使用**: GitHub APIを利用して、指定されたリポジトリから開いているIssueを取得します。 | ||
- **データの保存**: 取得したIssueデータをJSON形式で保存します。 | ||
|
||
--- | ||
|
||
## 4. `make_issue_res.py` | ||
|
||
### 概要 | ||
このスクリプトは、取得したIssueデータを元に、指定されたテンプレートを使用してマークダウンファイルを生成します。 | ||
|
||
### 主な機能 | ||
- **テンプレートの読み込み**: 指定されたテンプレートファイルを読み込みます。 | ||
- **マークダウンファイルの生成**: 各Issueに対してテンプレートを適用し、マークダウンファイルを生成します。 | ||
|
||
--- | ||
|
||
以上が`example`フォルダ内の各ファイルの日本語解説です。それぞれのスクリプトは、SourceSageプロジェクトの様々な自動化タスクをサポートするために設計されています。 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
import subprocess | ||
import os | ||
from loguru import logger | ||
|
||
def run_command(command): | ||
""" | ||
指定されたコマンドを実行し、出力をキャプチャして表示します。 | ||
""" | ||
logger.info(f">>>>>> 実行コマンド: {' '.join(command)}") | ||
result = subprocess.run(command, capture_output=True, text=True, encoding='utf-8') | ||
if result.returncode != 0: | ||
raise Exception(f"コマンドが失敗しました: {result.stderr}") | ||
return result.stdout.strip() # 出力の前後の空白を削除 | ||
|
||
def get_git_diff(): | ||
""" | ||
現在のリリースと前のリリースの間の git diff を取得します。 | ||
""" | ||
logger.info("最新の git タグを取得しています...") | ||
run_command(["git", "fetch", "--tags"]) | ||
|
||
logger.info("最新と前のタグを取得しています...") | ||
tags_output = run_command(["git", "tag", "--sort=-creatordate"]) | ||
tags = tags_output.split() | ||
|
||
if len(tags) < 2: | ||
raise Exception("比較するタグが十分にありません。") | ||
|
||
latest_tag, previous_tag = tags[:2] | ||
logger.success(f"最新タグ: {latest_tag}, 前のタグ: {previous_tag}") | ||
|
||
logger.info("git diff を生成しています...") | ||
diff = run_command(["git", "diff", previous_tag, latest_tag]) | ||
|
||
return diff, latest_tag, previous_tag | ||
|
||
def generate_markdown_report(diff, latest_tag, previous_tag): | ||
""" | ||
git diff からマークダウンレポートを生成します。 | ||
""" | ||
logger.info("マークダウンレポートを生成しています...") | ||
report_content = f"# Git Diff レポート\n\n" | ||
report_content += f"## バージョン比較\n\n" | ||
report_content += f"**{previous_tag}** と **{latest_tag}** の比較\n\n" | ||
report_content += "## 差分の詳細\n\n" | ||
|
||
# ファイル名ごとに差分を整理 | ||
file_diffs = {} | ||
current_file = None | ||
for line in diff.split("\n"): | ||
if line.startswith("diff --git"): | ||
current_file = line.split(" ")[-1][2:] # ファイル名を抽出 | ||
file_diffs[current_file] = [] | ||
elif current_file: | ||
file_diffs[current_file].append(line) | ||
|
||
# ファイル名ごとに見出しとコードブロックを生成 | ||
for file, lines in file_diffs.items(): | ||
report_content += f"### {file}\n\n" | ||
report_content += "```diff\n" | ||
report_content += "\n".join(lines) | ||
report_content += "\n```\n\n" | ||
|
||
with open(".SourceSageAssets/git_diff_report.md", "w", encoding='utf8') as file: | ||
file.write(report_content) | ||
|
||
logger.success("マークダウンレポートが正常に生成されました!") | ||
|
||
def main(): | ||
logger.info("git diff レポートの生成を開始します...") | ||
diff, latest_tag, previous_tag = get_git_diff() | ||
generate_markdown_report(diff, latest_tag, previous_tag) | ||
logger.success("プロセスが完了しました。") | ||
|
||
if __name__ == "__main__": | ||
main() |
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.