merge: sync remotes; keep deploy StartupRebootDetectMinutes bootstrap
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,41 @@
|
|||||||
|
# Push main to a mirror remote with host-specific doc URLs, without leaving URL churn on main.
|
||||||
|
# Usage: .\scripts\Push-Mirror.ps1 github|kalinamall|papatramp
|
||||||
|
param(
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[ValidateSet('github', 'kalinamall', 'papatramp')]
|
||||||
|
[string]$Target
|
||||||
|
)
|
||||||
|
|
||||||
|
$ErrorActionPreference = 'Stop'
|
||||||
|
$Root = Split-Path -Parent $PSScriptRoot
|
||||||
|
Set-Location $Root
|
||||||
|
|
||||||
|
$remote = switch ($Target) {
|
||||||
|
'github' { 'github' }
|
||||||
|
'kalinamall' { 'kalinamall' }
|
||||||
|
'papatramp' { 'papatramp' }
|
||||||
|
}
|
||||||
|
|
||||||
|
git remote get-url $remote 2>$null | Out-Null
|
||||||
|
if ($LASTEXITCODE -ne 0) {
|
||||||
|
throw "remote not configured: $remote"
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((git status --porcelain)) {
|
||||||
|
throw 'working tree not clean; commit or stash first'
|
||||||
|
}
|
||||||
|
|
||||||
|
$before = (git rev-parse HEAD).Trim()
|
||||||
|
& "$PSScriptRoot\Rewrite-GitHostUrls.ps1" -Target $Target
|
||||||
|
|
||||||
|
if (-not (git status --porcelain)) {
|
||||||
|
Write-Output "no URL changes for $Target; pushing as-is"
|
||||||
|
git push $remote main
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
git add -A
|
||||||
|
git commit -m "chore(docs): sync repository URLs for ${Target} mirror"
|
||||||
|
git push $remote main
|
||||||
|
git reset --hard $before
|
||||||
|
Write-Output "pushed $remote with ${Target} URLs; local main reset to $before"
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
# Rewrite cross-repo URLs in tracked docs/config for the target Git host.
|
||||||
|
# Usage: .\scripts\Rewrite-GitHostUrls.ps1 github|kalinamall|papatramp
|
||||||
|
param(
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[ValidateSet('github', 'kalinamall', 'papatramp')]
|
||||||
|
[string]$Target
|
||||||
|
)
|
||||||
|
|
||||||
|
$ErrorActionPreference = 'Stop'
|
||||||
|
$Root = Split-Path -Parent $PSScriptRoot
|
||||||
|
Set-Location $Root
|
||||||
|
|
||||||
|
switch ($Target) {
|
||||||
|
'github' {
|
||||||
|
$Base = 'https://github.com/PTah'
|
||||||
|
$BlobSuffix = '/blob/main'
|
||||||
|
}
|
||||||
|
'kalinamall' {
|
||||||
|
$Base = 'https://git.kalinamall.ru/PapaTramp'
|
||||||
|
$BlobSuffix = '/src/branch/main'
|
||||||
|
}
|
||||||
|
'papatramp' {
|
||||||
|
$Base = 'https://git.papatramp.ru/PTah'
|
||||||
|
$BlobSuffix = '/src/branch/main'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$BaseHost = $Base -replace '^https://', ''
|
||||||
|
|
||||||
|
$patterns = @(
|
||||||
|
@{ From = 'https://git.kalinamall.ru/PapaTramp/([^)/''"\s]+)/blob/main/'; To = "$Base/`$1$BlobSuffix/" }
|
||||||
|
@{ From = 'https://git.kalinamall.ru/PapaTramp/([^)/''"\s]+)/src/branch/main/'; To = "$Base/`$1$BlobSuffix/" }
|
||||||
|
@{ From = 'https://git.kalinamall.ru/PapaTramp/([^)/''"\s]+)/src/branch/main/'; To = "$Base/`$1$BlobSuffix/" }
|
||||||
|
@{ From = 'https://git.kalinamall.ru/PapaTramp/'; To = "$Base/" }
|
||||||
|
@{ From = 'https://git.kalinamall.ru/PapaTramp/'; To = "$Base/" }
|
||||||
|
@{ From = 'https://git.kalinamall.ru/PapaTramp/'; To = "$Base/" }
|
||||||
|
@{ From = 'git.kalinamall.ru/PapaTramp/'; To = "$BaseHost/" }
|
||||||
|
@{ From = 'git.kalinamall.ru/PapaTramp/'; To = "$BaseHost/" }
|
||||||
|
@{ From = 'git.kalinamall.ru/PapaTramp/'; To = "$BaseHost/" }
|
||||||
|
)
|
||||||
|
|
||||||
|
$extensions = @('*.md', '*.json', '*.service', '*.example', '*.sh', '*.ps1', '*.yml', '*.yaml')
|
||||||
|
$files = git ls-files $extensions 2>$null | Where-Object { $_ -and (Test-Path $_) }
|
||||||
|
|
||||||
|
foreach ($file in $files) {
|
||||||
|
$content = [System.IO.File]::ReadAllText((Join-Path $Root $file))
|
||||||
|
$updated = $content
|
||||||
|
foreach ($p in $patterns) {
|
||||||
|
$updated = [regex]::Replace($updated, $p.From, $p.To)
|
||||||
|
}
|
||||||
|
if ($updated -ne $content) {
|
||||||
|
[System.IO.File]::WriteAllText((Join-Path $Root $file), $updated, [System.Text.UTF8Encoding]::new($false))
|
||||||
|
Write-Output "updated: $file"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Output "Rewrite-GitHostUrls: target=$Target base=$Base"
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
.DESCRIPTION
|
.DESCRIPTION
|
||||||
Dlya servera publikatsii (napr. DC3). Po umolchaniyu GitHub (github.com/PTah).
|
Dlya servera publikatsii (napr. DC3). Po umolchaniyu GitHub (github.com/PTah).
|
||||||
Na zakrytom zerkale ukazhite -GitUrl URL vashego Gitea.
|
Na zakrytom zerkale ukazhite -GitUrl URL vashego Gitea.
|
||||||
Posle fetch: vsegda reset --hard na origin/main (bez merge), zatem clean -fd.
|
Posle fetch: vsegda reset --hard na vetku upstream (bez merge), zatem clean -fd.
|
||||||
Kopiruyutsya: polnyj spisok v Docs/deploy-netlogon-publish.md.
|
Kopiruyutsya: polnyj spisok v Docs/deploy-netlogon-publish.md.
|
||||||
.EXAMPLE
|
.EXAMPLE
|
||||||
powershell.exe -NoProfile -ExecutionPolicy Bypass -File C:\soft\update-rdp-monitor.ps1
|
powershell.exe -NoProfile -ExecutionPolicy Bypass -File C:\soft\update-rdp-monitor.ps1
|
||||||
|
|||||||
Reference in New Issue
Block a user