Existe algum cliente FTP ou FTP que permita “delta uploads” - isto é, apenas o upload de partes de um arquivo que foram alteradas?

9

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:

  1. Eu faço o download do (s) arquivo (s) de que preciso para o meu computador (via FTP / rsync / whatever).
  2. Eu abro um arquivo em (por exemplo) Sublime Text e começo a fazer edições.
  3. 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.

    
por WackGet 12.10.2016 / 16:05

2 respostas

7

O Vim tem um plugin embutido chamado netrw, que permite ao Vim editar arquivos remotos. O rsync é um dos protocolos que pode usar:

:e rsync://user@hostname:port/path
:w rsync://user@hostname:port/path

Claro, se você tiver acesso SSH à máquina remota e o Vim estiver instalado, pode ser mais simples usar o Vim remotamente. Nano, Emacs e outros editores com interfaces de linha de comando também são opções nesse caso. Dependendo do quão ruim é sua conexão, essa pode não ser uma opção agradável.

Isso tudo dito,

making hundreds of tiny changes to files which are remotely hosted and which must be edited "live" and "in place"

sem um sistema de reversão confiável como o que o git pode fornecer é você e sua organização apenas implorando por agonia quando você cometer os erros inevitáveis que podem muito bem passar despercebidos até que você tenha esquecido exatamente o que fez.

    
por 12.10.2016 / 18:53
1

Além da comparação é uma ferramenta de comparação que pode comparar e mesclar pastas e arquivos; Servidores FTP também são suportados e podem ser tratados como uma pasta local. É proprietário, uma licença vitalícia para uma instalação custa 30 USD para a edição standard (com FTP) ou 60 USD para a edição profissional (com SFTP). Ele é executado no Windows, Mac OS e Linux. Pessoalmente eu desenvolvo meu site no meu computador de casa e carrego as alterações para o meu servidor da Web quando estou feliz. Eu faço as alterações manualmente com o Beyond Compare, mas isso também pode ser automatizado. Você poderia tentar e ver se ele envia apenas arquivos completos ou pedaços de alterações; Eu não tenho certeza disso.

    
por 22.10.2016 / 23:05

Tags