Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Platform-releng/Juno Git Migration Recipe"
m (→Verify repo) |
m (→Update map files) |
||
Line 67: | Line 67: | ||
==Update map files== | ==Update map files== | ||
+ | |||
+ | <pre> | ||
replace CVS= with GIT= | replace CVS= with GIT= | ||
tag should remain | 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 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 | replace path= with path=org.eclipse.equinox/p2 | ||
+ | </pre> |
Revision as of 16:25, 13 June 2011
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