Normalmente, o Windows ignora caso, mas preserva o mesmo. Se seus nomes de arquivos mudarem de maiúsculas e minúsculas, deve ser devido a algum programa diferente de rsync que copiou arquivos e desconfiou o caso durante a cópia. Esse programa provavelmente está configurado incorretamente. Ou, se você usa um servidor Samba, talvez esteja mal configurado. Por padrão, o Samba também preserva o caso de nomes de arquivos.
Então, talvez você possa resolver o problema de nomes de arquivos mudando inesperadamente o caso deles.
Então você fica com " apenas " o problema da diferenciação de maiúsculas e minúsculas dos filtros. Se isso acaba sendo o seu caso, e você está relutante em aplicar o patch sugerido por Wim, você pode usar classes de caracteres nos filtros.
É feio e chato, mas funciona:
--exclude="[Tt][Ee][Mm][Pp]/"
ou em um arquivo de filtro:
- Temp/
- temp/
- TEMP/
ou o mais genérico, mas ilegível:
- [Tt][Ee][Mm][Pp]/
Se você quiser automatizar a conversão de arquivos de filtro para essa sintaxe, use este comando perl:
perl -i.bak -pe 's/([a-z])/[\U$1\E$1]/g' your_rsync-filter.txt
E converta-o de volta para uma forma legível por humanos com
perl -i.bak -pe 's/ \[ [A-Z] ([a-z]) \] /$1/xg' your_rsync-filter.txt
(A opção -i.bak
faz um backup e converte o arquivo no local em vez de stdout)
Pelo menos para filtros e opções de inclusão / exclusão, seria muito bom ter um sinalizador sem distinção entre maiúsculas e minúsculas no rsync. Até lá, as únicas opções parecem ser o patch ou a sintaxe complicada do tipo regex.