diff --git a/.gitignore b/.gitignore index 82b4b62..906969a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ /sqlite/ /data/ /.idea +/third_party diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 6fa2040..0000000 --- a/.gitmodules +++ /dev/null @@ -1,6 +0,0 @@ -[submodule "third_party/CPP_Core"] - path = third_party/CPP_Core - url = http://192.168.1.75:3000/psc/CPP_Core.git -[submodule "third_party/SSR"] - path = third_party/SSR - url = http://192.168.1.75:3000/psc/SSR.git diff --git a/init.ps1 b/init.ps1 deleted file mode 100644 index e69de29..0000000 diff --git a/init.bash b/third_party/init.bash similarity index 100% rename from init.bash rename to third_party/init.bash diff --git a/third_party/init.ps1 b/third_party/init.ps1 new file mode 100644 index 0000000..8fc8141 --- /dev/null +++ b/third_party/init.ps1 @@ -0,0 +1,40 @@ +$ErrorActionPreference = "Stop" +$scriptDir = $PSScriptRoot +if ( [string]::IsNullOrWhiteSpace($scriptDir)) +{ + $scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path +} +$root = (Resolve-Path -LiteralPath (Join-Path $scriptDir "..")).Path +Set-Location -LiteralPath $root +function Fetch-Repo +{ + param( + [string]$Repo, + [string]$Branch, + [string]$Dir + ) + if (Test-Path -LiteralPath $Dir -PathType Container) + { + git -C $Dir rev-parse --is-inside-work-tree *> $null + git -C $Dir remote set-url origin $Repo + git -C $Dir fetch origin $Branch + git -C $Dir checkout $Branch + git -C $Dir pull --ff-only origin $Branch + } + else + { + git clone --branch $Branch --single-branch $Repo $Dir + } +} +function Fetch-RepoEx +{ + param( + [string]$Name + ) + $repo = "http://192.168.1.75:3000/psc/$Name" + $branch = "master" + Fetch-Repo -Repo $repo -Branch $branch -Dir "third_party/$Name" +} +Fetch-RepoEx "build_infra" +Fetch-RepoEx "CPP_Core" +Fetch-RepoEx "SSR" \ No newline at end of file