SVN repository for ports
Please don't edit this page without consulting portmgr or the ports svn migration team.
Proposed SVN layout
svn.freebsd.org/ports/svnadmin svn.freebsd.org/ports/svnadmin/conf svn.freebsd.org/ports/svnadmin/hooks svn.freebsd.org/ports/svnadmin/tools svn.freebsd.org/ports/branches svn.freebsd.org/ports/tags svn.freebsd.org/ports/head svn.freebsd.org/ports/head/category/port
Preparation
| Task | Responsible | Contact | Comments |
|---|---|---|---|
| ✔ Check if we can run svn2cvs converter on ports | beat | There will be a svn2cvs converter | |
| ✔ Discuss if history should be migrated to SVN | beat | We're going to migrate the history | |
| ✔ Define SVN layout | beat | See above | |
| ✔ Decide if we should skip some old branches | beat | See StrategyRules in http://people.FreeBSD.org/~beat/cvs2svn/cvs2svn.options | |
| ✔ Setting up test repository in FreeBSD environment | beat | clusteradm | Test environment will be on svn.chruetertee.ch |
| ✔ Test acl of new repository | beat | ||
| ✔ Set up svn web frontend | beat | http://svn.chruetertee.ch/viewvc/viewvc.cgi | |
| ✔ Determine SVN Client requirements (SVN keywords and so on) | beat | Same requirements as src/: ENHANCED_KEYWORD and FREEBSD_TEMPLATE = on | |
| ✔ Take a look of src svn hooks and evaluate which one chould be used in ports svn | beat | First try: http://people.freebsd.org/~beat/cvs2svn/hooks.tar | |
| ✔ Make svn2cvs converter running with ports svn | beat | clusteradm | http://people.freebsd.org/~beat/cvs2svn/export.py |
| ✔ Open test environment for committers to test their scripts and tools → Send announcements to ports-developers@ | beat | done | |
| ✔ Make checkacl (base/svnadmin/tools/checkacl) more generic. Current implementation is src/ focused and sets SVN_COMMIT_ATTRIB=ports even if a ports committer commits to ports which adds an additional tag to the commit mail. Also there is no SVN_COMMIT_ATTRIB=src yet. | beat | peter? | proposed patch: http://people.FreeBSD.org/~beat/cvs2svn/checkacl.patch - Deferred (discussed with simon@): We will have our own checkacl for the migration |
| ✔ Check which scripts from ports/Tools/scripts are needed with svn and convert them | scripts | ||
| ✔ Write additional hooks if needed (eg. for QAT) | beat | http://people.freebsd.org/~beat/cvs2svn/hooks.tar | |
| ✔ Contact redports author and get redports working with svn | beat | decke | |
| ✘ Contact portsnap author and get portsnap working with svn | beat | cperciva | deferred |
| ✔ Contact freshports author and it them working with svn | beat | dvl | |
| ✔ Get pointyhat running with svn | erwin | portmgr | Prime switched |
| ✘ If needed add portsnap support for tinderbox (which has svn support) | - | suspended due to the CVS exporter | |
| ✔ If QAT is back by then, update QAT code to svn | - | decke | Based on Redports |
| ✔ Create patches for portlint | marcus | ||
| ✔ Scan ports/ports-mgmt for ports/scripts which needs to be adjusted | done, execpt from porttools and portlint is it clean. | ||
| ✔ Create patches for porters handbook and committers guide to reflect RCS change to svn | beat | CG: http://people.freebsd.org/~beat/cvs2svn/committers-handbook-ports.patch PH: http://people.freebsd.org/~beat/cvs2svn/porters-hanbook-svn.patch | |
| ✔ Create wiki page with best practice → usefull svn commands, Checkout, Tagging, Branching?, Forced commit workaround, revive deleted files and ports, limitations, document svn mv/cp pitfall if target already exists and document how to escape from | beat | PortsSubversionPrimer | |
| ✔ Set up svn2git converter for git.freebsd.org | uqs | ||
| ✔ Test all possible use cases and check if they are documented → Create new port, update port, delete port, lock tree, tagging, revive deleted files and ports, repo-copy checklist | miwi | ||
| ✔ Set up svn-ports-all@, svn-ports-head@ and svn-ports-svnadmin@ mailinglists | beat | postmaster | |
| ✔ secteam review of infrastructure | beat | secteam | Clusteradm Ticket 36 |
| ✔ Disable auto module update script | beat | edwin | |
| ✔ Setting up ports repository in FreeBSD environment | beat | clusteradm | Clusteradm Ticket 36 |
| ✔ Change liks on http://svn.freebsd.org to not point to base directly | beat | clusteradm | Clusteradm Ticket 37 |
Migration
Detailled task list is available at: http://people.freebsd.org/~beat/cvs2svn/tasklist
| Task | Responsible | Contact | Comments |
|---|---|---|---|
| ✔ Send Heads up to developers@ | |||
| ✔ Lock down portstree | |||
| ✔ Run cvs2svn script | http://people.FreeBSD.org/~beat/cvs2svn/cvs2svn-port-shrinked.sh / Patched cvs2svn needed: http://people.freebsd.org/~beat/cvs2svn/cvs2svn.patch / Port patch with cvs2svn trunk and patch included: http://people.freebsd.org/~beat/cvs2svn/cvs2svn-port.patch | ||
| ✔ Import svn dump | |||
| ✔ Run svnadmin pack | |||
| ✔ Install and start svn2cvs converter | http://people.freebsd.org/~beat/cvs2svn/export.py | ||
| ✔ Update svnssh / checkacl and install new versions on svn.freebsd.org | http://people.FreeBSD.org/~beat/cvs2svn/svnssh.patch http://people.FreeBSD.org/~beat/cvs2svn/checkacl.tar | ||
| ✔ Install svn configuration | http://people.freebsd.org/~beat/cvs2svn/conf.tar | ||
| ✔ Install hooks | http://people.freebsd.org/~beat/cvs2svn/hooks.tar | ||
| ✔ Populate svnadmin | http://people.freebsd.org/~beat/cvs2svn/create-svnadmin.sh | ||
| ✔ Checkout conf/ and hooks/ in port repo and fix permissions | |||
| ✔ Commit svn wrapper to ports/head/Tools/scripts | http://people.FreeBSD.org/~beat/cvs2svn/psvn | ||
| ✔ Change dfilter to work with SVN | ru | ||
| Commit patches to ports/Tools and portlint | ports/Tools done, portlint missing | ||
| ✔ Commit patches to porters handbook and committers guide | CG: http://people.freebsd.org/~beat/cvs2svn/committers-handbook-ports.patch PH: http://people.freebsd.org/~beat/cvs2svn/porters-hanbook-svn.patch | ||
| ✔ Commit patch to ports/head/CHANGES | http://people.freebsd.org/~beat/cvs2svn/CHANGES.patch | ||
| ✔ Commit svn update patch to ports/head/Makefile | http://people.freebsd.org/~beat/cvs2svn/ports-Makefile.patch | ||
| ✔ Send heads up to freshports, freshsource, freshbsd | |||
| ✔ Send Heads up to cvs-ports@ that recipient should switch to svn-ports-all@ or svn-ports-head@ | |||
| ✔ Mark cvs-ports@ as obsolete | postmaster | ||
| ✔ Hardlock CVS (only exporter is allowed to commit to CVS) | clusteradm | ||
| ✔ Set up svnsync / rsync / svnmirror seed | clusteradm | ||
| ✔ Unlock tree in SVN | |||
| ✔ Send Heads up to developers@ | |||
| Change grim reaper to work with SVN | peter? | Clusteradm Ticket 39 |
Finishing work
| Task | Responsible | Contact | Comments |
|---|---|---|---|
| Switch portsnap from cvsup-master to svn | cperciva | cperciva is working on it | |
| ✔ Switch tindex to svn | beat | ||
| ✔ Switch pointyhat to svn | portmgr | prime switched | |
| Merge documentation from wiki to the official one | GCIN task created | ||
| Send heads up to tinderbox users that they should switch to svn (on tinderbox mailing-list) | deferred until cvsup is deprecated | ||
| ✔ Deprecate c(v)sup in favor of portsnap (for users) send heads up to ports@, ports-announce@ and freebsd-announce@ | End of February 2013 | ||
| Decommission ports cvsup infrastructure | freebsd-hubs | Someday… |
Scripts for migration
scripts that need attention:
| Script name | Responsible | Contact | Comments |
|---|---|---|---|
| ✔ MOVEDlint.awk | EitanAdler | ||
| ✔ README | ports@ | ||
| ✔ addport | ChrisRees | RenatoBotelho / ChrisRees | |
| bump_revision.pl | EdwinGroothuis | ||
| chkversion.pl | ErwinLansing | ||
| patchtool.py | MaximSobolev | ||
| portsvar.sh | DaichiGoto | ||
| release/Makefile | re@ | ||
| release/README | re@ | ||
| ✔ rmport | ChrisRees | ChrisRees | |
| sunshar.rb sunshar/Makefile sunshar/sunshar.1 | AkinoriMusha | AkinoriMusha / StanislavSedov | |
| tindex | ErwinLansing |