Skip to content

Commit f259da7

Browse files
committed
Fix #80 Get-BuildVariable breaks if git is aliased
[hub](https://github.com/github/hub) is a tool put out by git that adds commandline tools to help developers work with github from the commandline in a more natural way. It is designed to be used by aliasing git to hub.exe. Hub then handles the additional commands it knows how to implement, and transparently passes through any native git commands to git.exe. The Get-BuildVariable cmdlet does not account for the possibility that git might be aliased, and assumes that the output of Get-Command 'git' can authoritatively be treated as either returning a Path to git or determining that git is not installed on a system. This change switches the method of determining the path to git over to looking at each path in the $env:PATH variable, and returning the path to the first instance of git.exe that it finds. This should be the same method used by Get-Command, and isn't fooled by the presence of aliases.
1 parent a8793c8 commit f259da7

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

BuildHelpers/Public/Get-BuildVariables.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ function Get-BuildVariables {
7575
$Path = ( Resolve-Path $Path ).Path
7676
$Environment = Get-Item ENV:
7777
if(!$PSboundParameters.ContainsKey('GitPath')) {
78-
$GitPath = (Get-Command $GitPath -ErrorAction SilentlyContinue)[0].Path
78+
$GitPath = (Get-ChildItem ($env:PATH -split ';') -filter git.exe -ErrorAction SilentlyContinue | Select-Object -First 1).Fullname
7979
}
8080

8181
$WeCanGit = ( (Test-Path $( Join-Path $Path .git )) -and (Get-Command $GitPath -ErrorAction SilentlyContinue) )

0 commit comments

Comments
 (0)