SVN server setup
install the package and all dependences
to create one repository or several repositories with sensible location considerations, initial import, migrate from CVS and other version control systems
Fine-tune all kinds of access schemes, including http, https, svn, svn+ssh, file, specially to consider following
how to configure Apache modules
to use ssh environment variables to shorten svn+ssh:// urls
to define proper user databases and design complex access control list or authorization patterns
to integrate with LDAP / domain controller / MySQL / PAM / etc for user authentications
Configure sensible repository layout
each sub-project has complete tree structure such as trunk, branches and tags, suitable for sub-projects are inclusive and self-contained, not much inter-dependence, APIs of each sub-projects are stable and mature
all modules exist on trunk / branches and tags, suitable for a logically compact project, there exists strong coupling among modules
difference and benefits
Backup strategy and disaster recovery
backup strategy, including: native method with svn sync, third-party tools such as rsync, hot copy
whole repository backup vs each revision checkout or dump
disaster recovery
permanently remove files and history
Basic knowledge about managing repositories
normal working cycle with subversion (hand-on practices)
create branches and tags
create locks and other controls
design client-side tools and integrate them with IDEs
choose and configure repository viewing facilities
set general user policies, including set subversion hooks for those hard restrictions
design automatic check-out and build or compilation, and even automatic testing
|