Edite um arquivo em várias sessões do emacs

0

Emacs diz

You want to modify a buffer whose disk file has changed since you last read it in or saved it with this buffer.

If you say y to go ahead and modify this buffer, you risk ruining the work of whoever rewrote the file. If you say r to revert, the contents of the buffer are refreshed from the file on disk. If you say n, the change you started to make will be aborted.

Usually, you should type n and then M-x revert-buffer, to get the latest version of the file, then make the change again.

Por que recomenda

Usually, you should type n and then M-x revert-buffer, to get the latest version of the file, then make the change again,

em vez de

say r to revert, the contents of the buffer are refreshed from the file on disk?

Os dois são realmente diferentes? Eles parecem o mesmo para mim?

    
por Tim 23.08.2014 / 18:22

1 resposta

3

You want to modify a buffer whose disk file has changed since you last read it in or saved it with this buffer.

Isso significa que alguém, em algum lugar, alterou o arquivo em que você está atualmente ativo antes de salvar suas chances, graficamente, seria assim:

              — Current file on Disk
            /
File-orig —
            \ 
              — Your saved buffer (*)

Ambos podem ser diferentes. Se você selecionar r , ele salvará seu buffer para mais tarde e recarregará a partir do disco .

              — Current file on Disk —
            /                          \ 
File-orig —                              — Current buffer (*)
            \ 
              — Your saved buffer

Assim, você pode revisar as alterações feitas no arquivo desde a última vez que o leu no disco.

Agora, quando você faz r e então M-x reverter o buffer , é o que acontece:

              — File on Disk —
            /                  \ 
File-orig —                      — Buffer read from disk ——— (*) Applied your changes over the one on the disk
            \                                           / 
              — Your saved buffer —————————————————————

Voila! As alterações feitas no disco e no seu agora estão no mesmo arquivo, ambas foram mescladas. Se você conhece o Git, o acima deve ser semelhante a mesclar filiais.

Se você selecionar apenas r , as alterações feitas serão perdidas. Se você selecionar y as alterações feitas pela outra pessoa serão perdidas. É por isso que isso é recomendado.

    
por 23.08.2014 / 18:52

Tags