feat(windows): добавлены proxy-хелперы и упрощен git baseline
- Зачем: - нужно перенести привычные proxy_on/proxy_off/myip из bash в pwsh и убрать устаревший codevpn. - нужно сделать Windows Git baseline проще и предсказуемее, чтобы effective значения и проверки не путались. - Что: - в managed profile PowerShell 7 добавлены `proxy_on`, `proxy_off`, `myip` и удалён `codevpn`. - Git baseline перенесён в `~/.gitconfig`, а `~/.gitconfig.local` оставлен только для локальных и персональных override-настроек. - README уточнён: legacy-статус Windows PowerShell 5.1, новые helper-функции и корректная команда проверки Git-конфига. - Проверка: - `chezmoi -S "$HOME\dotfiles\chezmoi" apply --force` - `pwsh -NoLogo -Command ''Get-Command proxy_on,proxy_off,myip,Reload-Profile,wt-here; Test-Path function:codevpn''` - `git config --global --includes --list --show-origin`
This commit is contained in:
1 parent
8fd5b9c630
commit
9b66fc70fc
5 files changed
+119
-36
No files matched your search
@@ -5,13 +5,38 @@ if (-not $IsWindows) {
|
||||
$GlobalGitConfig = Join-Path $HOME '.gitconfig'
|
||||
$LocalGitConfig = Join-Path $HOME '.gitconfig.local'
|
||||
$BackupPath = '{0}.pre-chezmoi.bak-{1}' -f $GlobalGitConfig, (Get-Date -Format 'yyyyMMdd-HHmmss')
|
||||
$ManagedStub = @'
|
||||
$ManagedStubs = @(
|
||||
@'
|
||||
[core]
|
||||
autocrlf = false
|
||||
eol = lf
|
||||
quotepath = false
|
||||
longpaths = true
|
||||
|
||||
[fetch]
|
||||
prune = true
|
||||
|
||||
[pull]
|
||||
ff = only
|
||||
|
||||
[init]
|
||||
defaultBranch = main
|
||||
|
||||
[include]
|
||||
path = ~/.gitconfig.local
|
||||
'@,
|
||||
@'
|
||||
[include]
|
||||
path = ~/.gitconfig.local
|
||||
'@,
|
||||
@'
|
||||
[include]
|
||||
path = ~/.config/git/config
|
||||
|
||||
[include]
|
||||
path = ~/.gitconfig.local
|
||||
'@
|
||||
)
|
||||
|
||||
$ManagedKeys = @(
|
||||
'core.autocrlf',
|
||||
@@ -30,8 +55,14 @@ function Test-ManagedGitStub {
|
||||
)
|
||||
|
||||
$NormalizedContent = ($Content -replace "`r", '').Trim()
|
||||
$NormalizedStub = ($ManagedStub -replace "`r", '').Trim()
|
||||
return $NormalizedContent -eq $NormalizedStub
|
||||
foreach ($ManagedStub in $ManagedStubs) {
|
||||
$NormalizedStub = ($ManagedStub -replace "`r", '').Trim()
|
||||
if ($NormalizedContent -eq $NormalizedStub) {
|
||||
return $true
|
||||
}
|
||||
}
|
||||
|
||||
return $false
|
||||
}
|
||||
|
||||
if (-not (Test-Path -LiteralPath $GlobalGitConfig)) {
|
||||
|
||||
Reference in new issue
Block a user