Gitmigrering: Skillnad mellan sidversioner
Hoppa till navigering
Hoppa till sök
Ceder (diskussion | bidrag) (→CVS -> Git: Dokumentera hur man kan konvertera med hjälp av git cvsimport.) |
Jaadu (diskussion | bidrag) (Länka till sidan med informationen) Märke: Ny omdirigering |
||
(3 mellanliggande sidversioner av en annan användare visas inte) | |||
Rad 1: | Rad 1: | ||
#REDIRECT [[CVS_och_SVN#Gitmigrering]] |
|||
Om du idag har ett projekt som hostas på cvs.lysator.liu.se eller lsvn.lysator.liu.se måste du migrera det. |
|||
== CVS -> Git == |
|||
Det finns många sätt att konvertera från CVS till Git. Här beskriver jag "git cvsimport" som har en stor fördel: det fungerar även via nätverk, så man behöver inte ha hela CVS-arkivet på en lokalt åtkomlig disk. Det innebär att du kan använda den här metoden på egen hand, utan att behöva be root om hjälp. |
|||
Det finns några problem med den här metoden, som [https://www.kernel.org/pub/software/scm/git/docs/git-cvsimport.html#issues listas i manualsidan]. Om arkivet är stort kan det också vara en långsam metod. Det finns andra metoder, t ex [http://cvs2svn.tigris.org/cvs2git.html cvs2git] som kräver direkt tillgång till filerna. Kontakta vid behov root, så kan vi kopiera filerna till din hemkatalog. |
|||
Men får de flesta arkiv på cvs.lysator.liu.se torde den här metoden fungera utmärkt. |
|||
Börja med att logga in på en av Lysators datorer, t ex faust som har all nödvändig programvara installerad. Checka ut koden. Här använder vi modulen accesslog som ett exempel: |
|||
<pre> |
|||
cvs -d ceder@cvs.lysator.liu.se:/cvsroot/accesslog co accesslog |
|||
cd accesslog |
|||
cvs log | sed -n 's/^date: .* author: \([^;]*\); state: .* lines:.*/\1/p'|uniq|sort|uniq>..accesslog.authors |
|||
</pre> |
|||
Filen accesslog.authors innehåller nu en lista på alla användare som gjort en commit. Editera den, så att den översätter till det format som Git vill ha. Exempel: |
|||
<pre>ceder=Per Cederqvist <ceder@lysator.liu.se> |
|||
inge=Inge Wallin <inge@lysator.liu.se></pre> |
|||
Kör sedan kommandot som gör själva konverteringen till Git: |
|||
<pre>git cvsimport -A ../accesslog.authors -R -k -C ../accesslog.git</pre> |
|||
Om allt gick bra har du nu ett Git-repository i ../accesslog.git. Följ instruktionerna nedan för att publicera det på git.lysator.liu.se. |
|||
== Subversion -> Git == |
|||
Mer text kommer... |
Nuvarande version från 6 november 2021 kl. 00.01
Omdirigering till: