CVS nach git migrieren

Aus alt (Sourcefourge CVS (!) Report) mach neu (git) (Im Wesentlichen von hier “geklaut”):

git cvsimport installieren:

sudo apt-get install git-cvs

Lokales git-Repo erstellen:

Ganze CVS-Historie nach lokal holen:

rsync -av rsync://dsteinkopf@wvdr.cvs.sourceforge.net/cvsroot/wvdr wvdr_cvs

git-Repo daraus machen (vgl. manpage):

git cvsimport -v -a -k -d $PWD/wvdr_cvs -C wvdr_git core

Zeitstempel auf Änderungszeitpunkt setzen – mein Spleen (siehe git-touch-as-last-commit.sh):

( cd wvdr_git && git-touch-as-last-commit.sh )

Alles mal in Augenschein nehmen:

gitk

Müll löschen:

git branch -D origin

Autoreninfo säubern

Autorenfile erstellen:

git shortlog |egrep ^\\w |awk '{print $1, "=", $1, "<"$1"@users.sourceforge.net>"}' >../wvdr_authors.txt

Namen und Zeitzone (nach der E-Mail-Adresse) eintragen:

vi ../wvdr_authors.txt

Sieht dann z.B. so aus:

dsteinkopf = Dirk Steinkopf <dsteinkopf@users.sourceforge.net> Europe/Berlin
...

git-Repo nochmal erstellen – diesmal mit Autoren:

cd .. && rm -rf wvdr_git
git cvsimport -v -a -k -d $PWD/wvdr_cvs -C wvdr_git -A wvdr_authors.txt core
cd wvdr_git && git-touch-as-last-commit.sh
git branch -D origin

Nach remote pushen

git remote add origin https://dsteinkopf@git.steinkopf.net/r/public/wvdr.git
git push -u origin --all
git push -u origin --tags

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert