2012-01-03 9 views
5

Utilizzando emergono in Emacs, ho una sessione di come questo:Come combinare le due varianti di un conflitto in emerge di emacs?

<<<<<<< variant A 
      522ADC9C14B2FD9D00F56BAD /* close_test_button.png in Resources */, 
      522ADC9D14B2FD9D00F56BAD /* [email protected] in Resources */, 
      522ADCA014B2FDB100F56BAD /* test_failed.png in Resources */, 
      522ADCA114B2FDB100F56BAD /* [email protected] in Resources */, 
>>>>>>> variant B 
      EC1633C014B2F3E3004B52E7 /* arrow.png in Resources */, 
      EC1633C114B2F3E3004B52E7 /* [email protected] in Resources */, 
      EC1633C214B2F3E3004B52E7 /* groups.png in Resources */, 
      EC1633C314B2F3E3004B52E7 /* [email protected] in Resources */, 
####### Ancestor 
======= end 

posso selezionare la variante Un o B colpendo un o B sulla mia tastiera, ma come si fa Combino entrambe le varianti, una dopo l'altra?

risposta

7

Basta usare C-hm all'interno del buffer emergere per visualizzare l'aiuto per le modalità correnti. Come è tipico per la maggior parte delle modalità, la modalità Minima Emerge visualizza i collegamenti dei tasti in questo testo di guida.

Questo aiuto dimostra che è possibile inserire il contenuto della variante A o B con: iun e ib, in modo da poter utilizzare questa funzione per inserire qualunque variante non è attualmente selezionato.

È inoltre possibile passare dalla modalità predefinita "rapida" alla modalità di modifica "modifica" per modificare direttamente il testo unito. Utilizzare C-cC-cf in modalità di modifica per tornare alla modalità veloce (perché in modalità di modifica, tutti emergono comandi devono essere preceduto da C-cC-c).

Il Emerge manuale ha più dettagli:
M-:(info "(emacs) Emerge")RET

In particolare, si spiega il comportamento del xc vincolante, che unisce le due varianti in un unico passaggio utilizzando una stringa predefinito modello:
M-:(info "(emacs) Combining in Emerge")RET

Il modello predefinito utilizza la sintassi condizionale del preprocessore C, tuttavia, quasi sicuramente si vorrà sovrascriverlo. È possibile impostare il modello tramite il menu Opzioni Emergenza o con emerge-set-combine-template. Per la sintassi del modello vedi:
Chvemerge-combine-versions-templateRET

1

usare la scorciatoia:

x-c (combine the two versions of the difference) 

Questo inserirà le due regioni in conflitto in sequenza, producendo un output qualcosa di simile:

vvvvvvvvvvvvvvvvvvvv 
#ifdef NEW 
522ADC9C14B2FD9D00F56BAD /* close_test_button.png in Resources */, 
522ADC9D14B2FD9D00F56BAD /* [email protected] in Resources */, 
522ADCA014B2FDB100F56BAD /* test_failed.png in Resources */, 
522ADCA114B2FDB100F56BAD /* [email protected] in Resources */, 
#else /* not NEW */ 
EC1633C014B2F3E3004B52E7 /* arrow.png in Resources */, 
EC1633C114B2F3E3004B52E7 /* [email protected] in Resources */, 
EC1633C214B2F3E3004B52E7 /* groups.png in Resources */, 
EC1633C314B2F3E3004B52E7 /* [email protected] in Resources */, 
#endif /* not NEW */ 
^^^^^^^^^^^^^^^^^^^^ 

Da lì, puoi andare nto edit mode (scorciatoia: 'e') rimuovi le macro #ifdef come necessario per creare l'unione finale che desideri.

Problemi correlati