2012-03-08 13 views
23

Sono abbastanza nuovo per la riga di comando SVN in un ambiente di team. Ho accidentalmente rinviato la fusione delle revisioni. Dopo aver fatto:Risolve i conflitti posticipati con SVN

svn status 

ottengo:

?  Trivial/Trivial.xcodeproj/project.pbxproj.mine 
?  Trivial/Trivial.xcodeproj/project.pbxproj.r280 
?  Trivial/Trivial.xcodeproj/project.pbxproj.r276 

Tuttavia, non so come unire questi cambiamenti. Attualmente sto ricevendo un errore con XCode che dice che il progetto non può essere analizzato. Qualcuno può mostrarmi come unire queste revisioni?

risposta

28

Questi file esistono per consentire l'esecuzione di diff o fusioni a 3 vie. La versione principale del file conterrà anche il codice in conflitto con i marcatori che circondano i conflitti. Quindi un'altra opzione è quella di modificare il file principale, cercare quei marker. Risolvi i conflitti e rimuovi i marcatori.

Una volta fatto, si esegue un comando come:

svn resolve --accept=working Trivial/Trivial.xcodeproj/project.pbxproj 

Questo rimuoverà quegli altri file. Vedrai anche che il comando include opzioni per risolvere il conflitto semplicemente accettando tutte le modifiche da uno di quei file.

See: http://svnbook.red-bean.com/en/1.7/svn.tour.cycle.html#svn.tour.cycle.resolve

+0

Al termine della modifica, in alternativa è possibile utilizzare 'svn resolve' e premere (r) per contrassegnare risolto. – herman

11

In continuità con la risposta accettata, queste sono le quattro opzioni disponibili durante la risoluzione:

svn resolve --accept=mine-full Trivial/Trivial.xcodeproj/project.pbxproj 
svn resolve --accept=theirs-full Trivial/Trivial.xcodeproj/project.pbxproj 
svn resolve --accept=base Trivial/Trivial.xcodeproj/project.pbxproj 
svn resolve --accept=working Trivial/Trivial.xcodeproj/project.pbxproj 

di base: per scegliere la versione del file che si ultima controllato fuori prima di fare le tue modifiche

funzionante: per scegliere e scegliere tra le modifiche e le modifiche che l'aggiornamento ha recuperato dal server, unire il testo in conflitto "a mano" (esaminando e modificando i contrassegni di conflitto all'interno della f ile)

Spero che questo aiuti ulteriormente.

Problemi correlati