Private/Get-GERemoteUrl.ps1
|
function Get-GERemoteUrl { <# .SYNOPSIS Return the URL of a published location, or $null if it is not configured. .DESCRIPTION Wraps git remote get-url. Returns $null on missing remote rather than throwing so callers can branch cleanly. .PARAMETER RemoteName The published location to query. Defaults to origin. .PARAMETER Path The folder to query. Defaults to the current location. .EXAMPLE $url = Get-GERemoteUrl -RemoteName origin .NOTES Internal. Read-only. Steps: 1. Find the project folder root. 2. Query the URL of the named published location; return $null on failure. 3. Return $null if the result is empty; otherwise return the URL string. .LINK Show-Remote #> [CmdletBinding()] param( [string]$RemoteName = 'origin', [string]$Path = (Get-Location).Path ) $root = Get-GERepoRoot -Path $Path $result = Invoke-GEGit -ArgumentList @('remote', 'get-url', $RemoteName) -WorkingDirectory $root -AllowFailure if ($result.ExitCode -ne 0) { return $null } $url = $result.Output | Select-Object -First 1 if ([string]::IsNullOrWhiteSpace($url)) { return $null } return $url } |