2009-02-26 13 views
5

Sono nuovo di SVN. Dopo aver lavorato su un ramo per un giorno o giù di lì, ho cercato di unire le modifiche dal tronco al ramo:SVN contrassegna interi file come in conflitto

svn merge svn://server/trunk 

Il problema è che ogni volta che SVN incontra un file in conflitto, non è in grado di riconoscere la linea da cambiamenti di linea e segna l'intera linea come in conflitto. Ho sperimentato diversi altri client SVN e ho anche provato ad attivare le opzioni di fine linea e spazio bianco senza alcun progresso. Che cosa sto facendo di sbagliato? Penso che questo sia il caso di unione più semplice possibile, quindi mi aspetto che funzioni con le impostazioni di Subversion più predefinite, qualsiasi client e qualsiasi versione SVN. Si tratta di una cattura conosciuta dai principianti?

Cliente: 1.5.5 (SlikSvn: tag/[email protected]) WIN32

Server: 1.4.6 (r28521), Windows

Modifica

Sulla base dei suggerimenti nei commenti e nelle risposte di seguito, ho effettuato ulteriori indagini:

  1. I file problematici sono UTF8.

  2. Non hanno proprietà SVN.

  3. Il comando "svn diff" identifica correttamente le differenze.

+0

Windows? Linux? Tartaruga? –

+0

Grazie per avermi fatto notare. Ho modificato il post. –

+0

Che tipo di file è? Ha qualche svn: oggetti di scena impostati? Cosa mostra una differenza svn se si confronta la versione del ramo con quella del tronco? –

risposta

5

Abbiamo riscontrato questo problema di recente e abbiamo riscontrato che si trattava di un problema nell'utilizzo di un server 1.4.x e di un client 1.5.x. Subversion 1.5 ha introdotto una fusione più intelligente ma è necessario che il server e il client siano in esecuzione 1.5 per trarne vantaggio.

Abbiamo riscontrato che specificando l'intervallo di numeri di revisione che volevamo unire ha dato i risultati attesi.

0

Hai provato a utilizzare TortoiseSVN? Viene fornito in bundle con ToroiseMerge che trovo anch'esso una fusione soddisfacente.

+0

L'ho provato, ma con lo stesso risultato. Sono rimasto perplesso dall'interfaccia e quindi ho optato per il minimo comune denominatore: un client a riga di comando. Ci proverò ancora una volta e fornirò un aggiornamento. –

0

Non ho usato SVN a tonnellata, e l'ho usato solo tramite il plug-in di eclissi, ma potrebbero esserci alcuni scenari in cui devi semplicemente dirgli quale caso usare (il tuo locale o il file remoto). la fusione di un insieme di modifiche in uscita e in entrata disgiunte non è solitamente un problema, ma se una linea è in conflitto con determinati tipi di modifiche (in eclissi contrassegna l'intera linea/blocco come rosso), potrebbe essere necessario accettare l'una o l'altra da probabilmente non si fonderà più da solo.

0

Controlla la proprietà svn: mime-type sui tuoi file. Se esiste una tale serie di proprietà e il suo valore non inizia con 'text /', allora Subversion considera questi file come binari e non come testo.

Se i file sono codificati in utf-16, Subversion li tratterà anche come binari per impostazione predefinita.

+0

I file problematici non hanno proprietà SVN, ma sembrano essere in UTF8. Conta? –

+0

utf8 non è un problema. – Stefan

2

Ho selezionato la risposta di Mark. Questo è solo per riassumere e fornire maggiori dettagli. Il mio problema è causato dal fatto che stiamo usando SVN 1.4 che non supporta le funzionalità di fusione 1.5 più avanzate.Come indicato dalla risposta selezionata, ho scoperto che devo utilizzare il seguente formato del SVN comando merge (nel caso in cui voglio propagare le modifiche da tronco a mio ramo):

svn merge svn://dpr/branches/[email protected] svn://dpr/[email protected] 

Credo che la mia confusione era causato dal fatto che il libro SVN e i client che stavo usando stavano silenziosamente supponendo che stavo già eseguendo 1.5 e che gli esempi ei metodi di fusione predefiniti stessero usando le nuove funzionalità. Per essere onesti, l'introduzione alla sezione di fusione di base nei libri SVN lo menziona (che ho notato solo quando ho risolto il problema).

+0

Anche il libro SVN ha causato confusione nel nostro caso !! – Mark

Problemi correlati