diff options
Diffstat (limited to 'scripts/powershell/Show-GitStatus.ps1')
| -rw-r--r-- | scripts/powershell/Show-GitStatus.ps1 | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/scripts/powershell/Show-GitStatus.ps1 b/scripts/powershell/Show-GitStatus.ps1 new file mode 100644 index 0000000..e8b9548 --- /dev/null +++ b/scripts/powershell/Show-GitStatus.ps1 @@ -0,0 +1,27 @@ +<# +.SYNOPSIS + Displays a color-coded status report for all git repositories in immediate subdirectories. + +.DESCRIPTION + Iterates through all depth-1 directories. If a directory is a git repository, + it checks the status and prints the folder name to the host. + - Prints "[CLEAN]" in Green if there are no pending changes. + - Prints "[DIRTY]" in Red if there are uncommitted changes. + +.EXAMPLE + PS C:\MyProjects> Show-GitStatus + + repo-api [CLEAN] + repo-ui [DIRTY] +#> + +Get-ChildItem -Directory | +Where-Object { Test-Path "$($_.FullName)\.git" } | +ForEach-Object { + if (git -C $_.FullName status --porcelain) { + Write-Host "$($_.Name) [DIRTY]" -ForegroundColor Red + } + else { + Write-Host "$($_.Name) [CLEAN]" -ForegroundColor Green + } +}
\ No newline at end of file |
