Hopp over introduksjonen.

UlveBlogg

Betraktninger fra en svenske i Norge.

Her finner du min lille rableblokk hvor jeg skriver ting jeg tenker på.

I min blogg skriver jeg om livets små og store urettferdigheter, om søppelpost, veterandatamaskiner, brettspill, nordmenn, aktuelle og uaktuelle hendelser, teknikk og hva som nå faller meg inn – med andre ord et eneste stort sammensurium. Alle meninger som blir beskrevet er naturligvis mine egne, og alle likheter med levende personer er selvfølgelig med hensikt.

Disse sidene bruker automatisk språkvalg, og hvis du heller ønsker å lese på engelsk kan du isteden velge denne siden. Se hjelpen for info om hvordan du får din nettleser til å velge riktig språk automatisk. En månedsoversikt er også tilgjengelig.

© Opphavsrett til all tekst og bilder eies av Peter Krefting når ikke annet er angitt. Mer om forfatteren.

Importera versionshistorik från CVS till Git

Publisert: Torsdag 2007-09-13. Ikke tilgjengelig på norsk (oversett automatiskt).

Jag har ganska länge använt CVS för att versionshantera flera av mina projekt, till exempel är hela den här bloggen, och vävplatsen den ingår i, versionshanterad i CVS. Ett av de stora problemen med CVS är att det är centraliserat, något som kräver att nya användare som ska få tillgång till utvecklingen måste tillåtas åtkomst, dessutom kräver det att man hela tiden har nätverkstillgång för att kunna göra något som helst användbart. Därför har jag nyligen intresserat mig av distribuerade versionshanteringssystem.

Mina första försök var som översättare av Dpkg när den dåvarande huvudutvecklaren gick över till att versionshantera Dpkg med Arch. Jag satte mig aldrig tillräckligt in i Arch, och fick aldrig riktigt översikt över hur det fungerade, så översättningen blev eftersatt ett tag. Dpkg har numera gått över till att använda Git, vilket jag däremot har satt mig in desto mer i. (Ett annat projekt jag översätter, Apt, använder Bazaar, en efterföljare till Arch som jag inte heller helt har hunnit sätta mig in i.)

Eftersom jag tyckte Git verkade vara bra uppbyggt bestämde jag mig för att försöka flytta över en del av mina egna projekt till systemet. Jag började med mitt projekt Turquoise, ett statistikprogram för Fidonet och Usenet, som tyvärr inte varit under så väldigt aktiv utveckling på sistone. Efter modell från Dpkg bestämde jag mig för att ta med hela utvecklingshistoriken för projektet. Jag testade först både med Gits egna git-cvsimport och Tailor, men inget av dem klarade av att importera mer än huvudgrenen i CVS, och jag hade flera grenar med sidoutveckling jag gärna ville bevara.

Till min räddning kom Parsecvs som fick med sig allt. Nackdelen med Parsecvs är att man måste ha tillgång till det fysiska CVS-arkivet för att köra det, det tolkar nämligen filerna i arkivet direkt. Men det gör det bra, såvida man inte har gjort allt för mycket magiskt med cvs admin. Resultatet är att mitt projekt numera har ett Git-arkiv på Alioth och att jag försökt aktivera det lite mer, åtminstone tänkte jag försöka få in mallhanteringen jag påbörjade en gång för fem år sedan.

Mitt enda olösta problem för närvarande är att försöka komma på om det är möjligt att modifiera versionsträdet så att de sammanslagningar av grenar som jag utfört i CVS kan visas som Git-sammanslagningar (dvs. lägga till en ytterligare föräldranod på de versionerna).

Fotnot: För att omvandla CVS-arkivet till Git gjorde jag följande:

  1. Skapade filen Authors som innehöll en mappningstabell för CVS-användare. I mitt fall enbart raden
    peter=Peter Karlsson <peter@softwolves.pp.se>
  2. Från en katalog med Authors-filen och CVS-arkivet i, körde
    find turqstat -name "*,v" | parsecvs
  3. Kopierade/klonade .git-katalogen till Alioth.
  4. Flyttade definitionen av de importerade grenarna från .git/refs/remotes/origin/ till .git/refs/heads

Denne artikkelen er referert i: But it does move samt Now in Git.

Kategorier: programvare. Del: Facebook, Google+, e-post

| | Siste artikler | Denne måneden | Alle måneder og kategorier

Denne siden leses best på Internett.

peter@softwolves.pp.se