Con frecuencia hago pequeños cambios en archivos de texto bastante grandes a través de FTP ( archivos CSS para desarrollo web ) y debido a que mi conexión a Internet es terriblemente lenta, es un proceso muy doloroso.
Incluso si cambio solo un carácter del archivo, todavía tengo que sentarme y esperar un tiempo considerable mientras todo el archivo se vuelve a cargar en el servidor.
¿Hay alguna forma de editar archivos alojados de forma remota en mi computadora local y cuando guardo el archivo, solo subo las partes del archivo que cambiaron ?
Editar: creo que no tengo claro cómo estoy usando mi cliente FTP en este momento. Básicamente, abro un archivo remoto a través de SFTP usando WinSCP. WinSCP lo guarda en una carpeta tmp, inicia Sublime Text y comienzo a editarlo. Cuando presiono guardar, WinSCP vuelve a cargar el archivo automáticamente. En realidad, nunca estoy guardando el archivo permanentemente en mi computadora; todo se hace a través de la carpeta temporal de WinSCP. Es por eso que estoy buscando una solución que pueda usarse de esta manera de "golpear y correr".
Discusión previa
Anteriormente publiqué esta pregunta en ServerFault donde se sugirió usar algo como git, sin embargo, como lo expliqué:
Con git o una herramienta de control de versiones similar, tendría que hacer una confirmación cada vez que guarde el archivo, ¿verdad? Incluso si eso pudiera hacerse automáticamente (es decir, si tuviera una macro que hiciera Ctrl-S en Sublime Text guardar archivo y ejecutara un git push al mismo tiempo), podría hacer 50 - 100 pequeñas ediciones de un archivo CSS por hora; ¿seguramente terminaría con un registro de confirmación de correo no deseado? Además, la solución git es inflexible, ya que depende del archivo que estoy editando como parte de un repositorio git.
La única solución en la que puedo pensar hasta ahora es algún tipo de proceso pirateado usando rsync, pero aun así, es muy complicado:
- Descargo los archivos que necesito en mi computadora (a través de FTP / rsync / lo que sea).
- Abro un archivo en (por ejemplo) Sublime Text y empiezo a hacer ediciones.
- Un proceso en segundo plano está monitoreando la carpeta en busca de modificaciones en el archivo. Cuando guardo un archivo, ese proceso desencadena instantáneamente una operación rsync desde mi computadora al servidor, transfiriendo las partes cambiadas del archivo.
Sin embargo, necesitaría configurar o especificar manualmente el archivo remoto o las rutas de directorio o de lo contrario el script rsync local no sabrá dónde sincronizar los archivos, por lo que este método sigue siendo bastante inflexible. Este método no me permite buscar instantáneamente un archivo aleatorio, abrirlo y guardarlo como lo hace un cliente FTP.
Tampoco hay comentarios visibles como una barra de progreso de carga con este método.