2010-08-31 10 views
38

Non vedo l'ora di unire i miei codici che ho sviluppato in un ramo di SVN per il trunk. Sto usando Eclipse e sto usando Team-> Commit per inviare i miei aggiornamenti a SVN. Ma non ho mai fatto un'unione prima. Per favore aiutami con questo. GrazieUnione di ramo a tronco in SVN utilizzando Eclipse

risposta

76
  1. Prima di tutto assicurati di essere aggiornato. Aggiorna la tua copia di lavoro del ramo di destinazione, es. dove ti stai fondendo. In questo esempio stiamo lavorando sul trunk di "core" e vogliamo prendere le modifiche che si sono verificate nel ramo di manutenzione e unirle.
  2. Risolvi eventuali conflitti. Non ci dovrebbero essere conflitti in questa fase tra la copia di lavoro e il repository.
  3. Selezionare l'opzione di unione SVN sulla copia di lavoro. In Eclipse questo si troverà nel menu "Team" e chiamato "Merge Branch". SVN: unione in Eclipse
  4. Modificare l'URL da per il ramo specifico che si desidera unire nella copia di lavoro. In questo esempio stiamo cercando il ramo di manutenzione p400 (./core/branches/p400).
  5. Modificare Da revisione all'ultima revisione che è stata unita al ramo di destinazione. In sostanza, non vuoi continuare a unire l'intera cronologia del ramo, vuoi solo includere tali modifiche dall'ultima volta che hai unito. Non esiste un modo semplice per determinare l'ultimo punto di unione in questo momento in Subversion. È necessario rivedere il registro dei messaggi e cercare l'ultimo commit che parla della fusione. Se sei disciplinato sui messaggi di commit che usi per unire questo dovrebbe essere facile (vedi sotto). Prendi nota di cosa è questa revisione: ne avrai bisogno in seguito quando confermerai le modifiche. SVN: unione con Eclipse
  6. Modificare la revisione in ultima (ovvero la testa). Prendi nota di cosa è questa revisione: ne avrai bisogno in seguito quando confermerai le modifiche.
  7. Fare clic su Unisci e attendere. A seconda di quanto grandi siano le differenze, questo potrebbe essere veloce o Eclipse è semplicemente caduto. Se si dispone di un cambiamento così enorme che non è possibile eseguirlo in Eclipse, potrebbe essere necessario ridurre l'intervallo di revisioni che si stanno fondendo. Oppure potresti persino dover saltare alcune revisioni e farle manualmente se sono massicce. Di tanto in tanto abbiamo riscontrato questo problema durante l'aggiornamento di grandi librerie di terze parti. La stragrande maggioranza delle volte starai bene.
  8. Rivedere le modifiche e risolvere i conflitti. Una volta completata l'unione, controlla le modifiche apportate alla tua copia di lavoro e assicurati di risolvere eventuali conflitti riscontrati.
  9. Una volta che tutte le modifiche sono state risolte nella copia di lavoro di destinazione, controllarle con un singolo commit. Il motivo per cui non stai facendo molti commit è che si tratta di modifiche che avrebbero dovuto essere documentate nel ramo da cui ti sei fuso. Il messaggio di commit deve essere in un formato specifico che dettagli l'unione ed è facile da trovare in futuro. Usiamo il seguente formato, ma puoi usare qualsiasi cosa che funzioni per te, purché ci si attenga ad essa.

    Unione di [origine] a [destinazione]; [Repository]. Unisci rev [start]: [end]

Divertiti!

+3

A differenza di eversione (eclispe client SVN di serie penso?) Subclipse è bella controlli di best practice prima di fondersi;) solo voi sanno .. –

0

Vorrei aggiungere per Punto 8. Revisionare le modifiche e risolvere i conflitti. ---

Quando si lavora sui conflitti manualmente - quando si copia da destra a sinistra su blocchi di codice - Fare attenzione Alcune porzioni di codice vengono aggiunte, a volte sostituiscono correttamente il blocco. Accertati che non ci sia un pezzo duplicato di codice.

Inoltre, questo è helpful-- What is the proper way to do a Subversion merge in Eclipse?

Problemi correlati