Private/ConvertTo-SafeBranchName.ps1
|
<#
.SYNOPSIS Converts a human-readable string into a git-safe branch name slug. .DESCRIPTION Lowercases, replaces non-word/non-hyphen/non-dot characters with hyphens, and trims leading/trailing hyphens. #> function ConvertTo-SafeBranchName { [CmdletBinding()] [OutputType([string])] param( [Parameter(Mandatory)] [string] $Name ) $slug = $Name.ToLowerInvariant() $slug = $slug -replace '[^\w\-\.]+', '-' $slug = $slug.Trim('-') if ([string]::IsNullOrWhiteSpace($slug)) { throw "Could not produce a valid branch name from: '$Name'" } return $slug } |