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