Na verdade, eu tentei isso com o mais recente cygwin rsync e você está certo. Usando arquivos de exclusão, não é possível excluir uma pasta com espaços em seu nome. No entanto, ele trabalha para excluir seu conteúdo enquanto a pasta em si ainda está sincronizada.
Eu usei o seguinte para testar:
My\ Documents/*
Observe o \
para escapar do espaço. No entanto, a pasta My Documents"
ainda é criada no lado do destino, mas permanece vazia mesmo se houver algum conteúdo no lado da fonte.
Descobri que (pelo menos para o Cygwin rsync) o parâmetro --exclude=
funciona corretamente mesmo com espaços:
rsync [...] --exclude='My Documents'
Apenas exclui a pasta completa.
Parece que você provavelmente encontrou um bug na análise de rsync em arquivos de exclusão. Mas, usando o parâmetro --exclude=
, você pode contornar esse problema - no pior caso, gravar seu próprio wrapper lendo seu arquivo de exclusão e atribuindo um parâmetro de exclusão para cada linha.