2012-10-01 9 views
6

Per impostazione predefinita, se si utilizza fugitive.vim s' :Gdiff su un buffer di file che è in conflitto con git, si otterrà una three way diff mostrando HEAD, la copia di lavoro (con marcatori di conflitto), e il merge.Mostra base in fugitive.vim diff conflitto

mi piace avere git config merge.conflictstyle diff3 set, che includes the base (il più recente antenato comune di HEAD e merge nei marcatori di conflitto.

Purtroppo anche con diff3 come il conflictstyle in fugitive.vim è ancora ottiene solo 3 riquadri (senza base).

qualcuno sa come fare spettacolo in un altro riquadro? Idealmente la copia di lavoro.

This comment da Tim Pope sembra fornire qualche indizio, ma Non riesco a capirlo.

+2

Hai provato [Trio] (http://sjl.bitbucket.org/threesome.vim/)? – romainl

risposta

4

Puoi farlo con i seguenti passi:

  • :split - Fare una spaccatura orizzontale
  • :Gdiff - Diff nella finestra in alto
  • ctrlw + j - Sposta focus to bottom window
  • Gedit :1 - Caricamento antenato nella finestra inferiore

Gedit :2 carichi testa e Gedit :3 carichi l'unione

0

È possibile utilizzare git mergetool -t gvimdiff. Aprirà 4 finestre in gvimdiff. Non è integrato nel fuggiasco, tuttavia puoi comunque utilizzare vim per eseguire la fusione a 3 vie.

4

Il modo più veloce che conosco è questo comando, emesso nel buffer di conflitto:

:Gsdiff :1 | Gvdiff 

È necessario immettere questi comandi come un one liner, l'effetto è diverso quando li inserisci come due comandi separati.

Il risultato assomiglia a questo:

+---------------------------------------+ 
|   common ancestor (:1)   | 
+-----------+--------------+------------+ 
|   |    |   | 
| HEAD (:2) | working copy | merge (:3) | 
|   |    |   | 
+-----------+--------------+------------+ 

Il materiale all'interno delle parentesi sono i prescrittori 'revisione' che fugitive.vim capisce in questo contesto. Vedere :h fugitive-revision per ulteriori informazioni.

+0

È possibile rendere questo un ordine diverso? Sarebbe utile scambiare le copie comuni e di lavoro. – Holloway