PowerShell/Scripts/clone-repos.ps1
2021-02-15 12:00:23 +01:00

37 lines
894 B
PowerShell
Executable File

#!/bin/powershell
<#
.SYNTAX ./clone-repos.ps1
.DESCRIPTION clones well-known Git repositories into the current directory.
.LINK https://github.com/fleschutz/PowerShell
.NOTES Author: Markus Fleschutz / License: CC0
#>
try {
& git --version
} catch {
write-error "ERROR: can't execute 'git' - make sure Git is installed and available"
exit 1
}
try {
$PathToRepo = "$PSScriptRoot/.."
$Table = import-csv "$PathToRepo/Data/repos.csv"
foreach($Row in $Table) {
$URL = $Row.URL
$Directory = $Row.Directory
write-output ""
if (Test-Path($Directory)) {
write-output "Skipping existing $Directory ..."
continue
}
write-output "Cloning from $URL..."
& git clone --recurse-submodules $URL
if ($lastExitCode -ne "0") { throw "'git clone $URL' failed" }
}
exit 0
} catch {
write-error "ERROR: line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
exit 1
}