2015-04-14 16 views
7

In TortoiseMerge document, il segno uguale significa:Cosa significa il segno di uguale in TortoiseMerge?

Un cambiamento è stata annullata ritornando al contenuto originale della linea.

Il pannello mostra le differenze tra le miniere o la loro e la base, le mie domande sono:

Se qualcosa viene rimosso, quindi il segno meno può essere utilizzato. Se viene aggiunto qualcosa, è possibile utilizzare il segno di aggiunta. Perché è necessario il segno di uguale? Che cosa significa la descrizione "il contenuto originale della linea"?

enter image description here

risposta

5

La risposta di Mike è corretta. Per elaborare un po ', questo è un artefatto del modo in cui subversion unisce i cambiamenti. Applica tutte le modifiche che si sono verificate tra l'origine di unione e la destinazione, indipendentemente dalle modifiche che gli hai detto di unire e quindi "annulla" tutte le modifiche che non hai specificato.

Ecco un esempio: I branch un file dal mio trunk a rev 1. I modificare la riga 100 nella mia versione di trunk e impegnarlo come rev 2. Quindi cambio riga 200 e commit che come rev 3. Se poi vado per unire solo rev 3 nel mio ramo, vedrò uno di questi simboli uguali alla riga 100 perché subversion ha fuso rev 2, merged rev 3, e quindi un-merged rev 2. Poiché l'utente ha specificato solo di unire le modifiche in rev 3 , la modifica di rev 2 NON è inclusa nell'unione.

+1

Ottima spiegazione. Mi sto strappando i capelli cercando di capirlo. Questa dovrebbe essere la risposta accettata. –

+2

Vorrei che aggiornassero l'intera cosa dell'editor della fusione. Una legenda per i simboli è almeno qualcosa che può essere aggiunto facilmente. Soprattutto per i principianti o per le persone che non lo usano regolarmente è un incubo scavare attraverso l'intera Internet per scoprire cosa significano alcuni simboli fradici. – rbaleksandar

0

Sono abbastanza sicuro che questo significa che entrambi i file di modifiche identici in modo indipendente.

1

Andando fuori della documentazione di riferimento dato da Randy D. Binondo e prima esperienza con VCS, sembra significare che il cambio di line sarebbe sono stati creati con un'unione completa, ma sono stati ripristinati automaticamente per qualche motivo (ad esempio, quando si unisce un insieme limitato di revisioni da un ramo piuttosto che da tutte le revisioni).

Questo ha senso poiché è possibile che le revisioni precedenti siano necessarie affinché Subversion crei un diff corretto per l'unione. Sospetto fortemente che Subversion compili tutte le diff per ogni ramo rilevante a partire dall'antenato comune delle revisioni e poi tenti di ripristinare le diff indesiderate, portando al comportamento che è indicato dal simbolo di segno di uguale. Devo ancora leggere il libro Version Control with Subversion, ma questo potrebbe fornire ulteriori informazioni a riguardo.

Il simbolo certamente non corrisponde a significa che entrambi i file hanno apportato le stesse modifiche in modo indipendente, come suggerito da Phonon. Un rapido test lo dimostra.