Gitmigrering: Skillnad mellan sidversioner

Från Lysators datorhandbok, den ultimata referensen.
Hoppa till navigering Hoppa till sök
(→‎CVS -> Git: Dokumentera hur man kan konvertera med hjälp av git cvsimport.)
(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: