Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Platform-releng/Juno Git Migration Recipe
This is a modified version of the steps described by the CDT team in bug bug 316208
Recipe for test conversion for p2
Steps to reproduce:
Contents
- 1 Copy the existing repository to a temp location
- 2 Remove broken symlinks in the repo from all to the components we moved above
- 3 Move old content into old and exclude old content from migration
- 4 Run cvs2git to do the conversion
- 5 Import the cvs2git output into git
- 6 Move tags into place
- 7 Prune + Repack the repository
- 8 Verify repo
- 9 Update map files
Copy the existing repository to a temp location
mkdir ~/cvs; cd ~/cvs
cp /home/data/cvs/rt/org.eclipse.equinox.p2 .
Remove broken symlinks in the repo from all to the components we moved above
find cvs/ -type l|xargs -n 1 rm
Note: This didn't apply to us.
Move old content into old and exclude old content from migration
Need to create exclude list preliminary list is here
Run cvs2git to do the conversion
http://cvs2svn.tigris.org/cvs2git.html
Get latest cvs2git:
svn co --username=guest --password="" http://cvs2svn.tigris.org/svn/cvs2svn/trunk cvs2svn-trunk
Export from cvs
cvs2svn/cvs2git --options=cvs2git.options
(To do: Add options file link)
Import the cvs2git output into git
cd /gitroot/p2 mkdir -p org.eclipse.equinox.p2/org.eclipse.equinox.p2.git cd org.eclipse.equinox.p2/org.eclipse.equinox.p2.git git init cat ~/cvs2svn-tmp/git-blob.dat ~/cvs2svn-tmp/git-dump.dat | git fast-import
Move tags into place
python ~/cvs2svn-trunk/contrib/git-move-refs.py
Prune + Repack the repository
git prune git repack -a -d --depth=250 --window=250 git gc --aggressive git repack -a -d --depth=250 --window=250
Verify repo
mkdir /tmp/compare-kmoir/ python /home/data/users/kmoir/cvs2svn-trunk/contrib/verify-cvs2svn.py --git /home/data/users/kmoir/cvs/p2/ /gitroot/p2/org.eclipse.equinox.p2/org.eclipse.equinox.p2.git/ --tmp=/tmp/compare-kmoir/ --diff
Update map files
replace CVS= with GIT= tag should remain replace cvsRoot=:pserver:anonymous@dev.eclipse.org:/cvsroot/rt/ with repo=http://build.eclipse.org/gitroot/p2/org.eclipse.equinox.p2/org.eclipse.equinox.p2.git replace path= with path=org.eclipse.equinox/p2