====== 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 | | | ---- [[CategoryHistorical]]