View Single Post
Old 17-01-2010, 22:08   #19
Mixmar
Senior Member
 
L'Avatar di Mixmar
 
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 961
Quote:
Originariamente inviato da fbcyborg Guarda i messaggi
Grazie per la preziosa spiegazione
A questo punto, se vado su sincronizza, cosa succede?
Si genera un "conflitto"?
Lo so forse potrei fare una prova, ma ora sono da solo
Sì, esatto, subversion rileva che la stessa riga è stata modificata da due persone diverse, e ci sono due revisioni in conflitto, e te lo segnala. A questo punto, hai tre scelte:
  1. scaricare la versione che sta sul server, sovrascrivendo la tua
  2. ingnorare la versione che sta sul server, sovrascrivendola con la tua
  3. effettuare un merge, cioè costruire una terza versione che riassume le modifiche di tutte e due, e inviare quella.

In realtà, subversion non controlla da chi è stata fatta la modifica, ma semplicemente se i cambiamente provengono da una copia del repository col numero di versione più basso di quella corrente, altrimenti si limita a creare una nuova revisione.

Per esempio, nel tuo caso, se la versione di base fosse la 1, e due sviluppatori la scaricano, poi il primo la modifica e fa commit, sul repository avresti la 2: a questo punto il secondo, la cui copia è ancora ferma alla 1, prova a fare commit ma il sistema segnala un errore perchè cerca di aggiornare una revisione 2 con la sua 1.

Questo implica anche che per esempio tu possa in realtà fare una prova, anche essendo da solo: semplicemente, fai il checkout del progetto in due directory diverse, e modifichi la stessa riga nello stesso file nelle due copie. A questo punto fai il commit di uno dei due: se provi a fare "synchronize" sul secondo, vedrai apparire il conflitto.
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur
Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N
Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN
Mixmar è offline   Rispondi citando il messaggio o parte di esso