From c82d39f804e03987ab7b667d047c5104713356fd Mon Sep 17 00:00:00 2001
From: Niko Ehrenfeuchter <nikolaus.ehrenfeuchter@unibas.ch>
Date: Tue, 23 Apr 2019 15:11:26 +0200
Subject: [PATCH] Use Push-Location / Pop-Location instead of temporary
 variables

---
 Scripts/Install-NewestPackage.ps1 | 9 +++++++--
 Scripts/Prepare-Build.ps1         | 5 ++---
 Scripts/Uninstall-Service.ps1     | 6 ++----
 3 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/Scripts/Install-NewestPackage.ps1 b/Scripts/Install-NewestPackage.ps1
index ff3b07e..8e49263 100644
--- a/Scripts/Install-NewestPackage.ps1
+++ b/Scripts/Install-NewestPackage.ps1
@@ -1,9 +1,13 @@
+# Make sure to run from the directory containing the script itself:
+$BaseDir = $(Split-Path $MyInvocation.MyCommand.Path)
+Push-Location $BaseDir
+
+
 $PackageDir = Get-ChildItem -Directory -Name |
     Where-Object {$_ -match 'build_[0-9]{4}-[0-9]{2}-[0-9]{2}_'} |
     Sort-Object |
     Select-Object -Last 1
 
-$CurDir = Get-Location
 
 Write-Host -NoNewLine "Installing package ["
 Write-Host -NoNewLine $PackageDir -Fore Green
@@ -13,4 +17,5 @@ Write-Host  ""
 cd $PackageDir
 ./Install-Service.ps1
 
-cd $CurDir
\ No newline at end of file
+# Return to the original location before the script was called:
+Pop-Location
\ No newline at end of file
diff --git a/Scripts/Prepare-Build.ps1 b/Scripts/Prepare-Build.ps1
index 1a10898..05ce5a1 100644
--- a/Scripts/Prepare-Build.ps1
+++ b/Scripts/Prepare-Build.ps1
@@ -79,8 +79,7 @@ function Parse-GitDescribe([string]$CommitName) {
 
 $ErrorActionPreference = "Stop"
 
-$OldLocation = Get-Location
-Set-Location $SolutionDir -ErrorAction Stop
+Push-Location $SolutionDir -ErrorAction Stop
 
 $BCommit = "$($SolutionDir)\Resources\BuildCommit.txt"
 $BuildDate = "$($SolutionDir)\Resources\BuildDate.txt"
@@ -141,4 +140,4 @@ Write-Output $(
 
 Write-BuildDetails $BuildDetailsCS $DescItems $GitBranch $DateShort
 
-Set-Location $OldLocation
\ No newline at end of file
+Pop-Location
\ No newline at end of file
diff --git a/Scripts/Uninstall-Service.ps1 b/Scripts/Uninstall-Service.ps1
index aec6cbd..fa954b5 100644
--- a/Scripts/Uninstall-Service.ps1
+++ b/Scripts/Uninstall-Service.ps1
@@ -9,11 +9,9 @@ Write-Host "Loaded configuration '$LocalConfiguration'." -Fore Green
 Write-Host $ServiceDir
 Write-Host $SourceDir
 
-$CurDir = Get-Location
-
-Set-Location "C:\Windows\Microsoft.NET\Framework\v4.0.30319"
+Push-Location "C:\Windows\Microsoft.NET\Framework\v4.0.30319"
 
 $ServiceExe = $ServiceDir + "\" + $ServiceName + ".exe"
 .\InstallUtil.exe -u $ServiceExe
 
-Set-Location $CurDir
\ No newline at end of file
+Pop-Location
\ No newline at end of file
-- 
GitLab