Atualizar -todos- os arquivos de código .NET para ter marcadores de fim de arquivo CRLF

Antes de personalizar as configurações do TortoiseGit para dizer ao git para NÃO MODIFICAR MEUS ENDEREÇOS DE LINHA para nenhum dos meus arquivos de código .NET … git mudou o CRLF para LF.

Dane-se isso. Quero meu CRLF de volta, por favor – porque esses projetos específicos serão usados ​​apenas em um PC Windows com Visual Studio 2012.

Então … sem mais uma data de vencimento, aqui estão os passos para consertar.

Crie o script e coloque-o na pasta raiz do seu repositório.

foreach ($ext in @("*.cs", "*.js", "*.html", "*.csproject", "*.sln", "*.css"))  {
(dir -Recurse -Filter $ext) | foreach {
$file
= gc $_.FullName
$file
| sc $_.FullName
}

}

Salvei esse script do PowerShell como normalize-crlf.ps1

Execute o script do PowerShell.

NOTA: Isso só mudará a política do PowerShell enquanto a janela do PowerShell estiver aberta. Depois de fechada, a política será revertida para a configuração padrão (atualmente definida).

1. Start PowerShell.
2. PS C:\> Set-ExecutionPolicy Unrestricted -Scope Process
3. Change directory to the root folder of your repository (eg. cd C:\Projects\XWing)
4. Execute the powershell script.

Por exemplo.

Screenie

Agradecimentos especiais a @tdecreton do código JabbR.net e RavenDb – de onde foi copiado