J'apporte fréquemment de petites modifications à des fichiers texte assez volumineux via FTP ( fichiers CSS pour le développement Web ) et parce que ma connexion Internet est terriblement lente, c'est un processus très douloureux.
Même si je ne change qu'un seul caractère du fichier, je dois encore m'asseoir et attendre un temps considérable pendant que le fichier entier est re-téléchargé sur le serveur.
Existe-t-il un moyen de modifier des fichiers hébergés à distance sur mon ordinateur local et lorsque j'enregistre le fichier, ne télécharge que les parties du fichier qui ont changé ?
Edit: Je pense que je ne sais pas comment j'utilise mon client FTP pour le moment. Fondamentalement, j'ouvre un fichier distant via SFTP en utilisant WinSCP. WinSCP l'enregistre dans un dossier tmp, lance Sublime Text et je commence à le modifier. Lorsque j'appuie sur Enregistrer, WinSCP télécharge automatiquement le fichier. Je ne sauvegarde jamais le fichier en permanence sur mon ordinateur - tout se fait via le dossier temporaire de WinSCP. C'est pourquoi je recherche une solution qui peut être utilisée de cette manière "hit and run".
Discussion précédente
J'ai déjà posté cette question sur ServerFault où l'utilisation de quelque chose comme git a été suggérée, mais comme je l'ai expliqué:
Avec git ou un outil de versioning similaire, je devrais faire un commit chaque fois que j'enregistre le fichier, non? Même si cela pouvait être fait automatiquement (c'est-à-dire si j'avais une macro qui faisait Ctrl-S dans le fichier de sauvegarde Sublime Text et exécutait une poussée git en même temps), je pourrais faire 50 à 100 minuscules modifications d'un fichier CSS par heure; je finirais sûrement avec un journal de commit spammé? De plus, la solution git est inflexible car elle repose sur le fichier que je modifie faisant partie d'un dépôt git.
La seule solution à laquelle je peux penser jusqu'à présent est une sorte de processus piraté utilisant rsync mais même alors, c'est très compliqué:
- Je télécharge les fichiers dont j'ai besoin sur mon ordinateur (via FTP / rsync / autre).
- J'ouvre un fichier (par exemple) Sublime Text et commence à faire des modifications.
- Un processus d'arrière-plan surveille le dossier pour les modifications de fichiers. Lorsque j'enregistre un fichier, ce processus déclenche instantanément une opération rsync de mon ordinateur vers le serveur, transférant les parties modifiées du fichier.
Cependant, je devrais configurer ou spécifier manuellement le chemin du fichier ou du répertoire distant, sinon le script rsync local ne saura pas où rsync les fichiers, de sorte que cette méthode est encore assez rigide. Cette méthode ne me permettrait pas de parcourir instantanément un fichier aléatoire, de l'ouvrir et de l'enregistrer comme le fait un client FTP.
Il n'y a pas non plus de retour visible comme une barre de progression de téléchargement avec cette méthode.