60 lines
2.2 KiB
PowerShell
60 lines
2.2 KiB
PowerShell
# Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
|
|
|
|
# Script to normalize line endings in text files
|
|
Write-Host "Normalizing line endings in workspace files to LF..." -ForegroundColor Cyan
|
|
|
|
# Text file extensions to process
|
|
$textExtensions = @("*.ps1", "*.txt", "*.json", "*.js", "*.py", "*.csv", "*.md", "*.ini", "*.sh")
|
|
|
|
# Get all text files
|
|
$textFiles = Get-ChildItem -Path $PSScriptRoot -Include $textExtensions -Recurse -File
|
|
|
|
$count = 0
|
|
|
|
foreach ($file in $textFiles) {
|
|
Write-Host "Processing: $($file.Name)" -ForegroundColor DarkGray
|
|
|
|
try {
|
|
# Read file content with current line endings
|
|
$content = Get-Content -Path $file.FullName -Raw -ErrorAction Stop
|
|
|
|
if ($content) {
|
|
# Replace CRLF with LF
|
|
$normalizedContent = $content.Replace("`r`n", "`n")
|
|
|
|
# Check if content was changed
|
|
if ($normalizedContent -ne $content) {
|
|
# Write back with LF endings
|
|
$utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $false
|
|
[System.IO.File]::WriteAllText($file.FullName, $normalizedContent, $utf8NoBomEncoding)
|
|
|
|
Write-Host " - Normalized: $($file.Name)" -ForegroundColor Green
|
|
$count++
|
|
} else {
|
|
Write-Host " - Already has LF endings: $($file.Name)" -ForegroundColor DarkGray
|
|
}
|
|
}
|
|
} catch {
|
|
Write-Host " - Error processing $($file.Name): $_" -ForegroundColor Red
|
|
}
|
|
}
|
|
|
|
Write-Host "`nNormalization complete! Converted $count files to LF line endings." -ForegroundColor Cyan
|
|
|
|
# Update your Git configuration for this repository
|
|
Write-Host "`nUpdating Git configuration to use LF line endings..." -ForegroundColor Cyan
|
|
|
|
try {
|
|
# Ensure Git uses LF in the repo
|
|
& git config core.eol lf
|
|
& git config core.autocrlf false
|
|
|
|
Write-Host "Git configuration updated." -ForegroundColor Green
|
|
Write-Host "- core.eol: lf" -ForegroundColor DarkGray
|
|
Write-Host "- core.autocrlf: false" -ForegroundColor DarkGray
|
|
} catch {
|
|
Write-Host "Failed to update Git configuration: $_" -ForegroundColor Red
|
|
}
|
|
|
|
Write-Host "`nTo verify changes, run your update check again." -ForegroundColor Yellow
|