Productivity hack of the day: Creating pull requests descriptions from Git diff
Martin Humlund Clausen
Posted on September 10, 2024
As developers, we create a lot of pull requests, and I must admit that sometimes I neglect to write a detailed description to help my team review the changes efficiently.
To assist my team, I use ChatGPT to generate richer pull request descriptions, giving me a little more time to focus on coding.
Here’s the simple trick:
- On your current feature branch, run the following PowerShell script from within your root repository folder. It will output a
diff.patch
file . - Paste that file into ChatGPT and use the following prompt:
- "As a software developer, I’ve made the changes in the attached git diff file. Please write a pull request description for my team to help them review it efficiently, with an emphasis on {Insert your bullet points}."
Here is the gist
# Check if the git command is available
if (-not (Get-Command git -ErrorAction SilentlyContinue)) {
Write-Host "Git is not installed or not available in the PATH." -ForegroundColor Red
exit
}
# Ensure we're in a git repository
$gitStatus = git rev-parse --is-inside-work-tree 2>&1
if ($gitStatus -ne "true") {
Write-Host "This is not a git repository." -ForegroundColor Red
exit
}
# Get the current branch name
$currentBranch = git rev-parse --abbrev-ref HEAD
if ($currentBranch -eq "main") {
Write-Host "You are on the 'main' branch. Please switch to a feature branch." -ForegroundColor Yellow
exit
}
# Fetch the latest changes for the main branch
git fetch origin main
# Get the latest commit on the main branch
$mainCommit = git rev-parse origin/main
# Get the latest commit on the current branch
$currentBranchCommit = git rev-parse HEAD
# Generate the diff between the latest commit on main and the current branch
$diffFileName = "diff.patch"
git diff $mainCommit $currentBranchCommit > $diffFileName
# Check if the diff file was generated successfully
if (Test-Path $diffFileName) {
Write-Host "Diff file generated successfully: $diffFileName" -ForegroundColor Green
} else {
Write-Host "Failed to generate diff file." -ForegroundColor Red
}
As a generel rule of thumb, keep your Pull Request small! Not only does that help your team reviewing your changes and it also makes writing Pull request descriptions easier.
Disclaimer
- As alway, when using gpt is that you OWN the output, so dont forget to check it.
- The output is only for scaffolding a pull request description, so modify the output accordingly
💖 💪 🙅 🚩
Martin Humlund Clausen
Posted on September 10, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
productivity Productivity hack of the day: Creating pull requests descriptions from Git diff
September 10, 2024