2011-10-07 12 views
19

Sono un po 'di nuovo arrivato nell'usare svn su un mac. Sto usando Versions.risoluzione di semplici conflitti svn

Ho ricevuto rapporti che ho sovrascritto altri sviluppatori, quindi spero che qualcuno qui possa assicurarsi che sto facendo le cose correttamente.

Ho eseguito il mio lavoro ieri sera, gli altri membri del team hanno lavorato tutta la notte, quindi la prima cosa che faccio oggi è aggiornare il mio repository.

Dopo questo modo ricevo vari file indietro, io uso il file css come esempio:

myfile.css.r1593 
myfile.css.r1587 
myfile.css.mine 
myfile.css 

Ho un paio di domande.

Cosa rappresentano ciascuno di questi file?

Come devo risolvere il conflitto?

Qual è il modo più sicuro per lavorare con svn per evitare di sovrascrivere il lavoro di altre persone ed evitare di eseguire copie non necessarie di file al di fuori del repository?

risposta

23

Il file myfile.css.rXYWZ rappresenta myfile.css alla revisione XYWZ.

Il file .mine è il file originale.

Quando il file è in conflitto nel file originale (myfile.css) vengono aggiunti alcuni indicatori.

Per risolvere il conflitto di, ususally è necessario controllare i file contrassegnati con il conflitto

e vedere le differenze al suo interno.

Di solito la vostra parte è contrassegnata < < < < < < < .mine La parte repository è contrassegnato con >>>>>>> .rXYWZ.

risolvere manualmente il conflitto, rimuovere la miniera e le linee rXYWZ e quindi digitare:

svn resolved myfile.css 

e quindi si può commettere il file. Ivan

+0

Grazie Ivan. Sto guardando myfile.css e posso vedere <<<<<<< .mine ma non riesco a vedere alcun <<<<<<< .rXYWZ È normale? – Finnnn

+0

mmmm, ovviamente XYWZ è il numero di revisione, quindi ad esempio è possibile trovare qualcosa come .r1593. Prova a trovare sul documento il <<<<<<< e vedi se c'è qualcosa di diverso nel mio. – Ivan

+0

Il mio file mostra ">>>>>>> .rXYWZ" anziché "<<<<<< .rXYWZ". – Finnnn

0

prima cosa che faccio oggi è aggiornare il mio repository

Se non si ottiene alcun avvertimento su conflitti di fusione e ha iniziato merge-strumento, è (credo) deve configurare versioni o utilizzare uno strumento più intelligente

Cosa rappresentano ciascuno di questi file?

File gratuiti (revisioni di myfile.css), necessari per la risoluzione di confilcts. Revisione più vecchia r1587 - genitore comune dei file finali, mio ​​- il tuo file, r1593 - versione del tuo collaboratore

Come dovrei risolvere il problema?

Controllare stringa di conflitto, racconta con gli autori, trovare correct4all variazione

-1

Si prega di dare un'occhiata a questa alternativa.

Ho un conflitto.

  • Vai alla scheda conflitto sul file system

enter image description here

  • Open "pdf_invoice.php.mine" (o .r4510, o .r4529 se si desidera utilizzare " loro ") in un editor di testo.
  • Seleziona tutto + Copia.
  • Aprire "pdf_invoice.php".
  • Incolla
  • Salva esso
  • contrassegnare il file come risolto
  • Commit nuovo
+0

La maggior parte delle volte si desidera unire i file in conflitto invece di sovrascrivere semplicemente il lavoro della parte remota. –