Examples/ChangesByUserName.ugit.ps1
<# .SYNOPSIS Generates a Mermaid graph of changes by username. .DESCRIPTION Generates a Mermaid graph of changes by username, for the current branch. #> param() $gitRemote = git remote $headBranch = git remote | Select-Object -First 1 | git remote show | Select-Object -ExpandProperty HeadBranch $currentBranch = git branch | ? IsCurrentBranch if ($currentBranchName -eq $headBranch) { Write-Warning "Not graphing the main branch." return } $currentBranchCommits = git log "$($gitRemote.RemoteName)/$headBranch..$CurrentBranch" $changesByUserName = $currentBranchCommits | Group-Object GitUserName -NoElement if ($env:GITHUB_STEP_SUMMARY) { " ~~~mermaid $( @( "pie title Changes by UserName" foreach ($changeSet in $changesByUserName) { (' ' * 4) + '"' + $($changeSet.Name) + '"' + ' : ' + ($changeSet.Count) } ) -join [Environment]::NewLine) ~~~ " | Out-File -Append -FilePath $env:GITHUB_STEP_SUMMARY } |