Diff

Från Wikipedia
Hoppa till: navigering, sök

Diff är ett begrepp som används inom versionskontroll under exempelvis mjukvaruutveckling och används till exempel i CVS och Apache Subversion.

Dessa system baserar sig på att källkoden för ett mjukvaruprojekt finns samlad på ett ställe, till exempel på en online-server. Alla utvecklare inom projektet kan närsomhelst ladda hem den senaste källkoden från denna server och redigera den självständigt (till skillnad från så kallade locking-system där källkoden på servern låses när någon laddar hem den). När utvecklare laddar upp den källkod som de redigerat till servern, används diff till att jämföra den redigerade källkoden med originalet. Då kombineras de nya ändringarna (merge) och det kan visas en sammanfattning på jämförelsen.

Om två utvecklare har redigerat samma delar av originalfilen men på olika sätt, så kan den förste ladda upp sin version utan problem. När den andre så försöker ladda upp sina ändringar, råkar han ut för en så kallade konflikt, därför att systemet inte intellektuellt kan avgöra hur de nyaste ändringarna skall kombineras med de föregående ändringarna. Då används även diff för att grafiskt visa den senare utvecklaren var konflikten uppstår och vilka ändringar den föregående utvecklaren har gjort i originalet. Med hjälp av detta måste den senare utvecklaren manuellt redigera om sin kod så att allt fungerar planenligt med den förste utvecklarens idéer.