mirror of
https://github.com/fleschutz/PowerShell.git
synced 2025-04-09 18:19:32 +02:00
Update list-tags.ps1
This commit is contained in:
parent
b4edc48cfb
commit
c33e0a7519
@ -2,16 +2,16 @@
|
||||
.SYNOPSIS
|
||||
Lists all tags in a repo
|
||||
.DESCRIPTION
|
||||
This PowerShell script fetches all tags in a Git repository and lists it (oldest tag first).
|
||||
.PARAMETER RepoDir
|
||||
This PowerShell script fetches all tags in a local Git repository and lists it (oldest tag first).
|
||||
.PARAMETER repoDir
|
||||
Specifies the path to the Git repository (current working directory by default)
|
||||
.PARAMETER SearchPattern
|
||||
.PARAMETER searchPattern
|
||||
Specifies the search pattern (anything by default)
|
||||
.EXAMPLE
|
||||
PS> ./list-tags.ps1 C:\MyRepo
|
||||
|
||||
Tag Description
|
||||
--- -----------
|
||||
Tag Commit Message
|
||||
--- --------------
|
||||
v0.1 Update README.md
|
||||
...
|
||||
.LINK
|
||||
@ -20,28 +20,30 @@
|
||||
Author: Markus Fleschutz | License: CC0
|
||||
#>
|
||||
|
||||
param([string]$RepoDir = "$PWD", [string]$SearchPattern="*")
|
||||
param([string]$repoDir = "$PWD", [string]$searchPattern="*")
|
||||
|
||||
try {
|
||||
Write-Progress "(1/3) Searching for Git executable... "
|
||||
$Null = (git --version)
|
||||
$null = (git --version)
|
||||
if ($lastExitCode -ne "0") { throw "Can't execute 'git' - make sure Git is installed and available" }
|
||||
|
||||
Write-Progress "(2/3) Checking local repository... "
|
||||
if (-not(Test-Path "$RepoDir" -pathType container)) { throw "Can't access directory: $RepoDir" }
|
||||
if (-not(Test-Path "$repoDir" -pathType container)) { throw "Can't access directory: $repoDir" }
|
||||
|
||||
Write-Progress "(3/3) Updating Git tags from remote..."
|
||||
& git -C "$RepoDir" fetch --tags
|
||||
& git -C "$repoDir" fetch --tags
|
||||
if ($lastExitCode -ne "0") { throw "'git fetch --tags' failed" }
|
||||
& git -C "$RepoDir" fetch --prune-tags
|
||||
|
||||
& git -C "$repoDir" fetch --prune-tags
|
||||
if ($lastExitCode -ne "0") { throw "'git fetch --prune-tags' failed" }
|
||||
|
||||
Write-Progress -completed "Done."
|
||||
""
|
||||
"Git Tags Description"
|
||||
"-------- -----------"
|
||||
& git -C "$RepoDir" tag --list "$SearchPattern" -n
|
||||
"Tag Commit Message"
|
||||
"--- --------------"
|
||||
& git -C "$repoDir" tag --list "$searchPattern" -n
|
||||
if ($lastExitCode -ne "0") { throw "'git tag --list' failed" }
|
||||
|
||||
exit 0 # success
|
||||
} catch {
|
||||
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
|
||||
|
Loading…
Reference in New Issue
Block a user