Skip to content

Commit

Permalink
Fix RamblingCookieMonster#80 Get-BuildVariable breaks if git is aliased
Browse files Browse the repository at this point in the history
[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.
  • Loading branch information
RandomNoun7 committed Nov 13, 2018
1 parent a8793c8 commit f259da7
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion BuildHelpers/Public/Get-BuildVariables.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ function Get-BuildVariables {
$Path = ( Resolve-Path $Path ).Path
$Environment = Get-Item ENV:
if(!$PSboundParameters.ContainsKey('GitPath')) {
$GitPath = (Get-Command $GitPath -ErrorAction SilentlyContinue)[0].Path
$GitPath = (Get-ChildItem ($env:PATH -split ';') -filter git.exe -ErrorAction SilentlyContinue | Select-Object -First 1).Fullname
}

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

0 comments on commit f259da7

Please sign in to comment.