Difference between revisions of "Platform-releng/Juno Git Migration Recipe"

From Eclipsepedia

Jump to: navigation, search
m (Update map files)
m (Update map files)
Line 72: Line 72:
 
tag should remain
 
tag should remain
 
replace path=p2/features with features
 
replace path=p2/features with features
replace cvsRoot=:pserver:anonymous@dev.eclipse.org:/cvsroot/rt/ with repo=file:///git.eclipse.org/gitroot/equinox/rt.equinox.p2.git
+
replace cvsRoot=:pserver:anonymous@dev.eclipse.org:/cvsroot/rt/ with file:///gitroot/equinox/rt.equinox.p2.git
 
update path
 
update path
 
</pre>
 
</pre>

Revision as of 09:19, 28 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

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 path=p2/features with features
replace cvsRoot=:pserver:anonymous@dev.eclipse.org:/cvsroot/rt/ with file:///gitroot/equinox/rt.equinox.p2.git
update path

Run test build

Run test build on Hudson - job name is eclipse-equinox-git-test-N