Fazer upload de determinados arquivos e pastas via SFTP faz com que os nomes sejam maiúsculos

5

Eu tenho um pequeno conjunto de arquivos e pastas em um diretório no meu computador que está causando problemas. Quando eu os carrego no meu host da web (Dreamhost) via SFTP (usando Transmit on OSX, uma GUI), a maioria dos arquivos e pastas é transferida conforme o esperado. Mas alguns deles convertem em maiúsculas no host da web. Exemplo: slider.js torna-se SLIDER.JS

Permissões
644 slider.js na minha máquina local
644 SLIDER.JS no host da web

Não sei por onde começar a depurar esse problema, portanto, se precisar de mais informações, pergunte.

Atualização 11/30/11 17h EST
- Consegui resolver o problema simplesmente renomeando o arquivo slider.js para o slider2.js e depois para o slider.js. Ainda estou interessado em descobrir o que estava causando esse problema.
- Usando sftp na linha de comando transferiu os arquivos problemáticos sem maiúsculas.
- Eu tenho um MAC executando o OSX 10.7.2. Não sei muitos detalhes sobre o sistema de arquivos, mas as informações estão disponíveis na [revisão Ars Technica do OSX 10.7] [1].

Em minha investigação posterior, descobri que ftp reconhece um comando case . Detalhes seguem:

Toggle remote computer file name case mapping during mget commands. When case is on (default is off), remote computer file names with all letters in upper case are written in the local directory with the letters mapped to lower case.

Será que o [Transmit FTP App] [1] está usando incorretamente este comando? Isso é especulação.

    
por Lokesh Dhakar 30.11.2011 / 19:13

1 resposta

1

Eu assumo que seu sistema de arquivos é HFS + (dado que você está usando Transmit no OSX). HFS + tem 2 sabores, um é sensível a maiúsculas e minúsculas e o outro é insensível a maiúsculas e minúsculas ( ). No entanto, ambos são caso de preservação ( link ). O sabor padrão do HFS + é insensível a maiúsculas e minúsculas. Você pode mudá-lo, mas pode quebrar alguns apps, então não recomendo.

O que isso significa na sua situação, é que o arquivo é criado como "SLIDER.JS" no seu sistema de arquivos. Você pode abri-lo como "slider.js", "Slider.js" e quaisquer outras variações do mesmo. No entanto, quando você o envia usando seu aplicativo, ele provavelmente usa a versão canônica dele (preservação de caso).

Como você mencionou, renomeá-lo (eu suponho do Finder), para "slider2.js" e voltar para "slider.js", garante que o caso preservado esteja agora em minúsculas.

    
por 13.05.2014 / 02:31

Tags