Git difftool en modo lectura y escritura

Tengo la siguiente configuration en mi ~ / .gitconfig

[diff] tool = vimdiff [diftool] prompt = false 

Cuando ejecuto git difftool, abre los buffers en modo de solo lectura de forma pnetworkingeterminada. Lo uso para revisar los cambios antes de una confirmación y decir que encuentro algún pequeño cambio como una línea comentada que no he eliminado o una statement JS console.log, me veo obligado a abandonar la herramienta, abrir el file y realizar el cambio. Me gustaría mucho una forma de hacer el cambio dentro de la window visual diff.

http://gitlog.wordpress.com/2011/03/30/git-1-7-4-2/ dice que "" git difftool "no dijo (g) vimdiff que los files que está leyendo deben ser abierto de solo lectura ". De esto me imagino que este comportamiento de solo lectura era deseado.

  1. Tengo curiosidad por saber por qué se eligió el comportamiento pnetworkingeterminado de lectura en difftool.

  2. ¿Hay alguna manera de configurar el difftool para permitir la lectura / escritura?

  3. Desde git, vimdiff y dirdiff , veo que el plugin fugitive para vim y git diffall script también están disponibles como alternativas para facilitar este process de revisión de diferencias. ¿El uso de fugitivos abre la posibilidad de usar un modo de lectura / escritura visual diff?

Fugitive le permitirá cambiar el file de copy de trabajo mientras difiere. Simplemente ejecute :Gdiff y una split vertical con la versión del índice. Ahora puede :diffput (o short dp ) dentro de la copy de trabajo para poner el fragment en el file de índice, o alternativamente :diffget (o short do ) del file de índice para get el fragment de la copy de trabajo. Una vez que tenga todo lo que desea en el file de índice, guárdelo y esa será su versión escondida.

Lo que realmente me ayudó a entender el process fueron los vimcasts # 31 a # 35 sobre Fugitive.vim:
http://vimcasts.org/episodes/archive

Si no está utilizando el fugitivo, puede alternar el modo de solo lectura (por panel) con

 :set readonly! 

o

 :set ro!