xdelta
pode fazer o patch e o hash check para você.
Aqui está um passo, supondo que você tenha o arquivo montado com o sshfs. Mantive a extensão de arquivo para o caso de você gostar de destacar a sintaxe:
#!/bin/bash
if [ ! -f "$1" -o ! -w "$1" ]
then
echo "ERROR: cannot open $1 for editing"
exit 1
fi
TMP="/tmp/$(date +%s)-$$-$(basename $1)"
TMP2="$TMP.2"
PAT="$TMP.patch"
/bin/cp $1 $TMP
/bin/cp $TMP $TMP2
/usr/bin/vim $TMP2
/usr/bin/xdelta delta $TMP $TMP2 $PAT
/bin/cp $1 $1.orig
if /usr/bin/xdelta patch $PAT $1.orig $1
then
/bin/rm $TMP $TMP2 $PAT
else
echo "ERROR: xdelta patch failed, keeping temporary files $TMP $TMP2 $PAT"
exit 1
fi
Digamos que você chame isso de deltavim ou algo assim, apenas
deltavim /path/to/remotefile.conf
Isso precisará de duas cópias localmente para criar o delta, mas removerá tudo isso se for bem-sucedido. Ele deixa o arquivo remoto original com um .orig, mas você pode adicionar uma linha para excluí-lo depois do patch, se quiser.
Se o arquivo remoto mudar enquanto você está editando, o xdelta notará isso e se recusará a corrigir.
De qualquer forma, talvez seja um ponto de partida para você.
Boa sorte! (... e nunca aponte um script carregado e não testado que você tira da Internet em um arquivo que você ama ...)