Project:Infrastructure/SvnGitMigration

From Gentoo Wiki
Jump to:navigation Jump to:search

bug #513182, deadline 2014-06-21

Process

  1. In Gitweb, check if Git path is already taken: Collision or conversion done already?
  2. Get SVN store from server (Disable write access in conf/svnserver.conf!). idl0r might help out with a tarball. If non-one can help, dev-vcs/rsvndump can.
  3. Check layman for use of (sub paths of) that repository ("layman -L | fgrep svn | fgrep ......")
  4. Analyse the SVN store using dev-vcs/svneverever. You're interested in (1) the folders ever existing (especially trunk(s), branches, tags) and (2) the committer nick names (option --committers)
  5. In gitolite, Create repo "proj/..." with the active devs out of those past committers
  6. Get a svn2git identity map including (current and past) Gentoo devs and some known external SVN contributors (http://git.overlays.gentoo.org/gitweb/?p=proj/userinfo-scripts.git;a=summary)
  7. Write a svn2git rules file
  8. Run svn2git: svn2git --identity-map identity.txt --rules repo.txt --add-metadata --stats repo_svn
  9. Clone the output to have a friendly, non-bare repository. Do a git repack?
  10. Inspect result, correct mistakes, do another run until good enough. Tags and branches should "feel right". (If tags get complicated, may this helps: http://git.goodpoint.de/?p=git-move-tags-up.git;a=summary)
  11. Add target remote ("git remote add overlays-gentoo-org git+ssh://git@git.overlays.gentoo.org/proj/REPO.git") and push.


FILE repo.txtSingle-branch svn2git rules (case autoepatch)
create repository autoepatch-bare
end repository

match /trunk/
  repository autoepatch-bare
  branch master
end match

Status

Person at it SVN host SVN path Git path History pushed Extra review by respositories.xml updated Write access list done Notes
sping svn.g.o adopt-a-dev proj/adopt-a-dev done n/a done (no one) diox retired
sping svn.g.o autoepatch proj/autoepatch done n/a done nightmorph retired
dastergon svn.g.o baselayout proj/baselayout done done(vapier) Known to be active(
sping svn.g.o gentoo-dev-summary proj/gentoo-dev-summary done n/a done (no one) jokey and welp both retired
sping svn.g.o gli proj/gli done (in part in the past) n/a done (@releng) Git repository exists already

SVN has changes not in Git? (SVN latest 2008-07-28 (r1912), Git latest 2008-05-26)
http://git.overlays.gentoo.org/gitweb/?p=proj/gli.git;a=summary
bug #513358

sping svn.g.o hwdata proj/hwdata done (in the past) n/a n/a Started off as a git-svn conversion. All 8 SVN revisions seem included.
sping svn.g.o kbase proj/kbase done n/a done (swift)
sping svn.g.o livecd-tools proj/livecd-tools done (in the past) n/a n/a Started off as a git-svn conversion. All 150 SVN revisions seem included.
mpagano svn.g.o linux-patches proj/linux-patches done n/a n/a
vapier svn.g.o path-sandbox proj/sandbox done done n/a n/a known to be active
n/a svn.g.o sandbox n/a wontfix n/a n/a n/a test repo; may be punted
sping svn.g.o scire proj/scire done Review wanted done (blackace) (agaffney, codeman, mdisney retired)
sping svn.g.o vps proj/vps/baselayout-vserver + proj/vps/misc done x2 n/a done (no one) Details

(chtekkm, hollow, phreak all retired)
Mail sent to hollow 2014-06-19 20:39
Deleted overlay at /overlay

dastergon svn.overlays.g.o dev/anant dev/anant/plan9 + dev/anant/d done done done(no one) Multiple overlays at /d and /plan9
dastergon svn.overlays.g.o dev/aross dev/aross done done done(no one) Single overlay at /; aross retired
dastergon svn.overlays.g.o dev/bangert dev/bangert done done done(no one) Single overlay at /; bangert retired
dastergon svn.overlays.g.o dev/beandog dev/beandog done done done(beandog) Single overlay at /;
dastergon svn.overlays.g.o dev/chtekk dev/chtekk done(tcl-8.6) done(noone) done(no one) Multiple overlays (/apache1-removal, /apps, /coda, /horde) and projects (/syscp (except /syscp/www-apps/syscp?), /vda, /versioncp) (1:1 migration, empty repo with a note that overlay has been moved to another place)
dastergon svn.overlays.g.o dev/coldwind dev/coldwind cantfix Empty
dastergon svn.overlays.g.o dev/dang dev/dang/maintainer + dev/dang/user done n/a done(dang) One overlay at /maintainer, another at /user
dastergon svn.overlays.g.o dev/deathwing00 dev/deathwing00 done done done(deathwing00) Single overlay at /; deathwing00 retired
dastergon svn.overlays.g.o dev/dertobi123 dev/dertobi123 done done done Single overlay at /; dertobi123 retired
svn.overlays.g.o dev/dirtyepic dev/dirtyepic wontfix Kill it with fire.
dastergon svn.overlays.g.o dev/drizzt dev/drizzt done done done(no one) Single overlay at /; drizzt retired
dastergon svn.overlays.g.o dev/genstef dev/genstef done done done(genstef) Single overlay at /; genstef retired
dastergon svn.overlays.g.o dev/hattya dev/hattya done done done(hattya) Single overlay at /
dastergon svn.overlays.g.o dev/hollow dev/hollow cantfix Empty with a message "this repository is oboslete. the new repository is located at"

http://git.xnull.de/gitweb/?p=overlay.git

dastergon svn.overlays.g.o dev/je_fro dev/je_fro done done done(je_fro) Single overlay at /; je_fro retired
dastergon svn.overlays.g.o dev/johnm dev/johnm cantfix Empty
dastergon svn.overlays.g.o dev/jokey dev/jokey done done done(jokey) jokey retired
dastergon svn.overlays.g.o dev/kevquinn dev/kevquinn done done done Multiple overlays(1:1 migration, inactive, almost empty)
sping svn.overlays.g.o dev/liquidx dev/liquidx done done done (no one) Single overlay at /; liquidx retired
sping svn.overlays.g.o dev/lu_zero dev/lu_zero done done done (lu_zero) Single overlay at /
sping svn.overlays.g.o dev/mabi dev/mabi done n/a done (mabi) Single overlay at /
dastergon svn.overlays.g.o dev/marineam dev/marineam/misc, dev/marineam/xen done(xen) and done(misc) done One overlay at /misc, another at /xen
sping svn.overlays.g.o dev/masterdriverz dev/masterdriverz done done done (no one) Single overlay at /; hawking and masterdriverz both retired, commiter vcover non-dev
dastergon svn.overlays.g.o dev/mescalinum dev/mescalinum/abandonware,dev/mescalinum/tlc-8.6, dev/mescalinum/tcl-multislot done(tcl-8.6) and done and done(abandonware) done done(no one) One overlay at /abandonware, another at /tcl-8.6, a third at /tcl-multislot
dastergon svn.overlays.g.o dev/nichoj dev/nichoj done done(no one) Multiple overlays and projects(1:1 migration, inactive)
sping svn.overlays.g.o dev/omp dev/omp done n/a done (i92guboj) Single overlay at /; omp retired
dastergon svn.overlays.g.o dev/pauldv dev/pauldv done done(pauldv) Known to be active
sping svn.overlays.g.o dev/philantrop dev/philantrop done n/a done (no one) Single overlay at /trunk; philantrop retired
dastergon svn.overlays.g.o dev/phreak dev/phreak done done(no one) Multiple overlays and projects(1:1 migration, inactive repo)
sping svn.overlays.g.o dev/pva dev/pva done n/a done (pva) Single overlay at /
sping svn.overlays.g.o dev/radek dev/radek done n/a done (no one) Single overlay at /radek-portage; radek retired
sping svn.overlays.g.o dev/rbrown dev/rbrown done n/a done (no one) Single overlay at /

(rbrown retired)

sping svn.overlays.g.o dev/rbu dev/rbu/overlay + dev/rbu/misc done x2 done done (no one) Tool distfiles-indexer at /distindex

Gentoo adaption of Fedora tool "FEver" at /fever
Overlay at /overlay and /
(asym, dagger, rbu all retired)

sping svn.overlays.g.o dev/seemant dev/seemant done done done (no one) Single overlay at /; seemant retired
sping svn.overlays.g.o dev/suka dev/suka done done done (suka) Single overlay at /
sping svn.overlays.g.o dev/trapni dev/trapni/legato + dev/trapni/overlay done x2 done done (no one) Two overlays, one at /legato, the other at /overlay; trapni retired
vapier svn.overlays.g.o dev/vapier proj/enlightenment done done n/a n/a Known to be active
sping svn.overlays.g.o dev/weeve dev/weeve done n/a done (no one) Single overlay at /

(weeve retired)

sping svn.overlays.g.o dev/wolf31o2 dev/wolf31o2 done n/a done (no one) Single overlay at /; wolf31o2 retired
sping svn.overlays.g.o dev/wrobel dev/wrobel/overlay + dev/wrobel/misc 2x done done done (no one) Details

http://git.overlays.gentoo.org/gitweb/?p=dev/wrobel/misc.git;a=summary
http://git.overlays.gentoo.org/gitweb/?p=dev/wrobel/overlay.git;a=summary
(wrobel retired)

sping svn.overlays.g.o dev/zaheerm dev/zaheerm done n/a done (no one) Single overlay at /; zaheerm retired
sping svn.overlays.g.o dev/zeypher dev/zeypher done n/a done (no one) Single overlay at /; zeypher retired
dastergon svn.overlays.g.o dev/zzam dev/zzam done) done(zzam) Deleted overlay at /udev-bugs, active overlay at /; empty git repo created
dastergon svn.overlays.g.o proj/alt proj/alt archived done done(abcd darkside fauli flameeyes genstef grobian haubi heroxbd mduft ottxor sping spb the_paya truedfx) Known to be active(1:1 migration as requested, super heavy, archived in dev.gentoo.org/~dastergon/ )
dastergon svn.overlays.g.o proj/artwork proj/artwork done done done(cla) Single overlay at /; cla retired
dastergon svn.overlays.g.o proj/cell proj/cell done done done (lu_zero, ranger) Single overlay at /
dastergon svn.overlays.g.o proj/docs-pl proj/docs-pl wontfix Nothing in there but scattered old things
dastergon svn.overlays.g.o proj/efika proj/efika done done done(jokey) Single overlay at /; wolf31o2 and jokey retired
svn.overlays.g.o proj/embedded proj/embedded done TODO old/unused; may be dropped
dastergon svn.overlays.g.o proj/finnish proj/finnish done done done(flammie) Single overlay at /trunk(1:1 migration)
dastergon svn.overlays.g.o proj/games proj/games done done done(no one) Single overlay at /
toolchain svn.overlays.g.o proj/gcc-porting wontfix done(removed) obsolete; all been merged back into main tree now
dastergon svn.overlays.g.o proj/gnustep proj/gnustep, proj/gnustep/prefix done(overlay) and [http://git.overlays.gentoo.org/gitweb/?p=proj/gnustep/prefix.git;a=summary done(prefix)] TODO done(grobian, voyageur) Known to be active(Overlay in /overlay and /prefix-overlay) skipped some scattered categories in /
dastergon svn.overlays.g.o proj/kernel-packages proj/kernel-packages wontfix Single overlay at / (mpagano "We won't need to migrate that; t's super old")
dastergon svn.overlays.g.o proj/kolab proj/kolab done TODO done(no one) docs + overlay
dastergon svn.overlays.g.o proj/nx proj/nx done done done(genstef, voyageur) Project at /testing; Skipped the others
n/a svn.overlays.g.o proj/perl proj/perl done Single overlay at /perl-experimental and / before (Already moved to git: https://overlays.gentoo.org/svn/proj/perl/perl-experimental/moved_to_git.txt)
dastergon svn.overlays.g.o proj/postgresql proj/postgresql done(postgresql/experimental) + done(postgresql/testing) TODO done(dev-zero) Two different overlays in /experimental and /testing
dastergon svn.overlays.g.o proj/powerpc proj/powerpc done done done(ranger) Single overlay at /
dastergon svn.overlays.g.o proj/rox proj/rox done done done(lack) Single overlay at /trunk/overlay
n/a svn.overlays.g.o proj/ruby proj/ruby done n/a n/a n/a <mrueg> sping: wrt svn.g.o proj/ruby does not need to be migrated, it can be removed.
n/a svn.overlays.g.o proj/science proj/science done n/a done done Justin Lecher: "Can be dropped as it is already on git and actively used."
dastergon svn.overlays.g.o proj/security proj/security done done(a3li, keytoaster, asym, craig, falco, py, rbu, vorlon) Single project at /
vapier svn.overlays.g.o proj/toolchain proj/toolchain done (in the past) done done done (rhill vapier) Known to be active
sping svn.overlays.g.o proj/vdr proj/vdr/devel +
proj/vdr/testing
done x2 done x2 done (idl0r, hd_brummy, zzam) Details
Known to be active
sping svn.overlays.g.o proj/vps proj/vps/overlay done done done (no one) Single overlay at /; chtekk, hollow, phreak all retired
dastergon svn.overlays.g.o proj/webapps proj/webapps-experimental done done done(blueness, cryos, pva) Added docs + experimental overlay in one repo
dastergon svn.overlays.g.o proj/xen proj/xen done done done(alexxy,rbu) Project at /patches/{trunk,tags}, single overlay at /overlay and / (/patches and /overlay in one repo, skipped minor categories) project inactive