Table of Contents

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