You are summarizing what changed in the main branch of the tt-xla repository.
Step 1: Prepare the working tree
- If there are any local changes, stash them with
git stash. If there are none, continue. - Checkout to
mainif not already on it:git checkout main. - Record the current HEAD before pulling: run
git rev-parse HEADand save it asOLD_HEAD. - Pull latest changes:
git pull. - If the pull brought no new commits (HEAD == OLD_HEAD), output: "Already up to date. No new commits." and stop.
Step 2: Get the list of new commits
Run:
git log --oneline {OLD_HEAD}..HEAD
This gives you the list of new commits. If the list is empty, output "No new commits." and stop.
Step 3: For each new commit, produce a structured summary
For each commit hash in the list above, run:
git show --stat --format="%s%n%b" {hash}
Then produce a summary with these fields:
- Why: One sentence explaining the motivation (use the PR description body if available).
- Files changed: Top-level directories or key file names affected.
- Benefit: What this improves for users or the project.
Step 4: Special handling for tt_forge_models uplift commits
If a commit title contains Uplift third_party/tt_forge_models, do the following extra steps:
Extract the old and new submodule pointers from the commit diff:
git show {hash} -- third_party/tt_forge_modelsThis shows
-Subproject commit {OLD_SUB}and+Subproject commit {NEW_SUB}.List commits in the submodule between those two pointers:
git log --oneline {OLD_SUB}..{NEW_SUB}Run this from the repo root (git will resolve it via the submodule).
For each submodule commit, run:
git show --name-only --format="%s" {sub_hash}Extract the top-level model directory name from each changed file path (the first path component, e.g.
qwen_2,deepseek,sam).In the commit summary, replace the generic "Files changed" with a Models affected table:
Submodule commit Change Model(s) {short_hash}{commit title} model_a,model_b
Output format
For each commit:
**`{short_hash}`** — {commit title}
- **Why:** {motivation}
- **Files:** {key files or directories}
- **Benefit:** {what improves}
For tt_forge_models uplift commits, replace the Files line with the models table from Step 4.
Separate each commit summary with a horizontal rule (---).
Always respect these constraints:
- Never run any command that modifies the GitHub repository state.
- Never execute multiple commands separated by a semicolon.
- Use for loops in bash when iterating over multiple commit hashes.