Renamed folder Scripts to scripts

This commit is contained in:
Markus Fleschutz
2023-10-31 11:32:46 +01:00
parent f826630e72
commit 66af9a5668
598 changed files with 304 additions and 304 deletions

51
scripts/remove-tag.ps1 Executable file
View File

@ -0,0 +1,51 @@
<#
.SYNOPSIS
Removes a Git tag (locally, remote, or both)
.DESCRIPTION
This PowerShell script removes a Git tag, either locally, remote, or both.
.PARAMETER TagName
Specifies the Git tag name
.PARAMETER Mode
Specifies either locally, remote, or both
.PARAMETER RepoDir
Specifies the path to the Git repository
.EXAMPLE
PS> ./remove-tag v1.7 locally
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz | License: CC0
#>
param([string]$TagName = "", [string]$Mode = "", [string]$RepoDir = "$PWD")
try {
if ($TagName -eq "") { $TagName = read-host "Enter new tag name" }
if ($Mode -eq "") { $Mode = read-host "Remove the tag locally, remote, or both" }
$StopWatch = [system.diagnostics.stopwatch]::startNew()
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" }
if (($Mode -eq "locally") -or ($Mode -eq "both")) {
"Removing local tag..."
& git -C "$RepoDir" tag --delete $TagName
if ($lastExitCode -ne "0") { throw "'git tag --delete' failed with exit code $lastExitCode" }
}
if (($Mode -eq "remote") -or ($Mode -eq "both")) {
"Removing remote tag..."
& git -C "$RepoDir" push origin :refs/tags/$TagName
if ($lastExitCode -ne "0") { throw "'git push origin' failed with exit code $lastExitCode" }
}
[int]$Elapsed = $StopWatch.Elapsed.TotalSeconds
"✔️ removed tag '$TagName' in $Elapsed sec"
exit 0 # success
} catch {
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
exit 1
}