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 (→Remove broken symlinks in the repo from all to the components we moved above) |
m (→Remove broken symlinks in the repo from all to the components we moved above) |
||
Line 16: | Line 16: | ||
Note: This didn't apply to us. | Note: This didn't apply to us. | ||
− | Move old content into old and exclude old content from migration | + | ==Move old content into old and exclude old content from migration== |
+ | |||
+ | Need to create exclude list [[Platform-releng/Git Migration Granularity|preliminary list is here]] | ||
==Run cvs2git to do the conversion== | ==Run cvs2git to do the conversion== |
Revision as of 11:30, 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
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/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/ .../verify-cvs2svn.py --git .../cvs/tools/org.eclipse.cdt/ .../path_to_git_repo/ --tmp=/tmp/compare-kmoir/ --diff