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
Top comments (0)
Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more