forked from fleschutz/PowerShell
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlist-tags.ps1
More file actions
executable file
·46 lines (39 loc) · 1.32 KB
/
list-tags.ps1
File metadata and controls
executable file
·46 lines (39 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<#
.SYNOPSIS
Lists all tags in a Git repository
.DESCRIPTION
This PowerShell script lists all tags in the given Git repository.
.PARAMETER RepoDir
Specifies the path to the Git repository
.PARAMETER SearchPattern
Specifies the search pattern (anything by default)
.EXAMPLE
PS> ./list-tags C:\MyRepo
Tag Description
--- -----------
v0.1 Update README.md
v0.2 Fix typo
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz / License: CC0
#>
param([string]$RepoDir = "$PWD", [string]$SearchPattern="*")
try {
if (-not(test-path "$RepoDir" -pathType container)) { throw "Can't access directory: $RepoDir" }
$Null = (git --version)
if ($lastExitCode -ne "0") { throw "Can't execute 'git' - make sure Git is installed and available" }
write-progress "🢃 Fetching latest tags..."
& git -C "$RepoDir" fetch --all --tags --quiet
if ($lastExitCode -ne "0") { throw "'git fetch --all --tags' failed" }
write-progress -completed "Fetched"
""
"Tag Description"
"--- -----------"
& git -C "$RepoDir" tag --list "$SearchPattern" -n
if ($lastExitCode -ne "0") { throw "'git tag --list' failed" }
exit 0 # success
} catch {
"⚠️ Error: $($Error[0]) ($($MyInvocation.MyCommand.Name):$($_.InvocationInfo.ScriptLineNumber))"
exit 1
}