Eu freqüentemente faço pequenas alterações em arquivos de texto bastante grandes via FTP ( arquivos CSS para desenvolvimento web ) e porque minha conexão com a internet é terrivelmente lenta, é um processo muito doloroso.
Mesmo se eu alterar apenas um caractere do arquivo, ainda preciso aguardar por um tempo considerável enquanto o arquivo inteiro é reenviado para o servidor.
Existe alguma maneira de editar arquivos hospedados remotamente em meu computador local e, quando eu salvar o arquivo, carregue somente as partes do arquivo que foram alteradas ?
Editar: Acho que não sei ao certo como estou usando meu cliente de FTP no momento. Basicamente, eu abro um arquivo remoto através de SFTP usando o WinSCP. WinSCP salva em uma pasta tmp, lança o texto sublime e eu começo a editá-lo. Quando clico em salvar, o WinSCP faz o upload do arquivo automaticamente. Eu nunca estou realmente salvando o arquivo permanentemente no meu computador - tudo é feito através da pasta temporária do WinSCP. É por isso que estou procurando uma solução que possa ser usada neste tipo de "hit and run".
Discussão anterior
Anteriormente, eu postou esta pergunta no ServerFault onde foi sugerido usar algo como o git, no entanto, conforme expliquei:
With git or a similar versioning tool I'd have to make a commit each
time I save the file, right? Even if that could be done automatically
(i.e. if I had a macro which made Ctrl-S in Sublime Text save file and
execute a git push at the same time), I might make 50 - 100 tiny edits
of a CSS file per hour; surely I'd end up with a spammed-out commit
log? Also the git solution is inflexible as it relies on whatever file
I'm editing being part of a git repo.
A única solução que posso imaginar até agora é algum tipo de processo hackeado usando o rsync, mas mesmo assim, é muito complicado:
- Eu faço o download do (s) arquivo (s) de que preciso para o meu computador (via FTP / rsync / whatever).
- Eu abro um arquivo em (por exemplo) Sublime Text e começo a fazer edições.
- Um processo em segundo plano está monitorando a pasta para modificações de arquivo. Quando eu salvo um arquivo, esse processo aciona instantaneamente uma operação de rsync do meu computador para o servidor, transferindo as partes alteradas do arquivo.
No entanto, eu precisaria configurar manualmente ou especificar o arquivo remoto ou os caminhos de diretório, ou então o script rsync local não saberá onde rsync os arquivos, então este método ainda é bastante inflexível. Esse método não me permite procurar instantaneamente em um arquivo aleatório, abri-lo e salvá-lo como um cliente FTP faz.
Também não há feedback visível, como uma barra de progresso de upload com esse método.