Quanto e' smart l'engine del vostro Source Code Control

Perdonatemi se questa volta uso il Blog “al contrario” ma il vostro feedback potrebbe incidere sulla qualita' di Visual Studio Team System :-).

Qualsiasi sistema SCC (Source Code Control) o + in generale di gestione delle versioni, memorizza file all'interno di un repository proprietario. La modalita' di gestione interna poi varia da un sistema all'altro: i sistemi + semplici memorizzano ad ogni modifica l'intero file, mentre i + complessi ne fanno il “diff” (ovvero controllano le differenze) e memorizzano solo quelle, con notevole risparmio di spazio e una leggera penalizzazione in termini di prestazioni. La stessa operazione di “diff“ viene utilizzata anche per la risoluzione di conflitti o per il semplice confronto tra versioni.

Ora, a volte possono cambiare i contenuti del file, ma a volte puo' essere solo l'encoding (la sua rappresentazione binaria) a cambiare, o peggio ancora ... entrambi. 

Non pretendo che mi diciate come funziona il vostro sistema di SCC (in genere gli sviluppatori ne sono utenti), ma sapere come vari sistemi di SCC funzionano in questo caso portebbe aiutarmi a capire.

La prova e' semplice, basta un file di testo - scrivete qualsiasi testo all'interno di un file .TXT (magari con qualche lettera accentata, che in italiano non dovrebbe essere un problema) e salvatelo tramite “Save As“/“Salva con nome” in formato “ANSI“ poi fatene il checkin. A questo punto fatene il checkout, aprite la copia estratta e salvatela questa volta in formato Unicode e rifatene il checkin.

2 cose da notare: (1) se analizzate le differenze tra le due versioni, il sistema vi dice che i file sono uguali o diversi? e poi (2) se estraete l'ultima versione del file, quando la aprite ha l'encoding settato a ANSI o Unicode? (potete verificarlo semplicemente cercando di risalvare il file con Notepad e notando qual'e' l'encoding di default)

Prima di questa prova vi era mai capitato uno scenario del genere?

Grazie 10000!

Aldo

Print | posted on martedì 26 aprile 2005 18:36