Dette indlæg er min galde som spildes. Og min afsky for det monstrum, der er Source Safe, kommer råt og usødet til udtryk.
Visual Studio Source Safe er IKKE et versionsstyringssoftware! Det er et filkontrolsystem designet til at kun én person kan arbejde på en fil samtidigt. Sletter man filer fra ens kodetræ, så skal man først ofre 7 jomfruer og derefter håbe på at ingen andre har problemer med at få opdateret deres træ. Jeg har endnu ikke oplevet noget tidspunkt, hvor en refaktorering af selv en mindre stump af koden ikke er gået galt og er endt i et projekt der ikke ville kompilere, for alle andre, som efterfølgende forsøger at bruge rettelserne.
Og fordi det er så meget forskelligt fra alle andre VCS’er så er der åbenbart ikke rigtigt nogen der kan finde ud af det heller, eftersom tingene selvfølgeligt ikke har navne som stemmer overens med alle andre former for vcs’er. Det resulterer i at nogle filer bliver checket ind mens andre ikke gør. Som eksempel kan jeg jo tage .csproj som er filer der styrer enkelte projekter i en visual studio solution. Åbenbart er der nogen der ikke checker rettelserne i den fil ind, hvis de f.eks. sletter en fil. Og hvorfor skal man have ting checket ud hele weeken den? Kan man ikke have lavet ens ændringer og lagt dem op? Det giver bare konflikter på så mange niveauer.
Der er ingen mulighed for at eksludere filer såsom binaries (.dll’er eller .pdb’er), som jo ikke behøver versionskontrol eftersom de genereres hver gang man bygger projektet. At man har disse filer i ens “pending check ins” gør at folk der arbejder med systemet bliver mistroiske over hvilke filer de skal checke ind.
Og dertil kommer at klient programmet fylder 212 mb (eller noget i den stil). sammenligner man det med Tortoisesvn (8,9 mb installer) så fylder det 23,5 gang så meget.
Hvis du ikke er blevet udsat for Source Safe, så vil jeg på det kraftigste fraråde dig at ønske det. Det giver ikke andet end problemer langt hen ad vejen.