Migrate CVS To Subversion
Wha? What about bzr!?
bzr works fine for Squid-3 but there seems to be some Windows port issues preventing Windows development.
Subversion is a "stepping stone" between CVS and a future VCS. Subversion 1.5 seems to store enough commit and merge metadata to make migration to a future VCS easy enough.
There are plenty of UNIX and Windows CLI/GUI tools for Subversion; there are also plenty of modules which integrate Subversion into IDE's (eg Eclipse.)
Who is driving this?
AdrianChadd is driving this migration.
So what needs to happen?
- Test migration of CVS to Subversion - cvs2svn seems to handle the Squid repository alright
- Generate changesets automatically in project version subdirectories
- cvsweb replacement?
Document MERGE behaviour - Subversion-1.5 keeps mergeinfo records but they're fiddly. Make sure the process is documented and tested!
- Anonymous access?
- Synchronisation to devel.squid-cache.org ?
Proposed Setup
- Subversion repository (Squid) would live on Squid-cache.org under /server/svn/squid
And exported via web, say https://svn.squid-cache.org/svn/
- Import paths:
Squid-2.HEAD -> (/svn)/squid/trunk
Squid-2.x -> (/svn)/squid/branches/x ; (/svn)/squid/tags/x
- side-project paths:
Squid-NT: -> (/svn)/squid/branches/SQUID_XXX_NT
SVN email generation - cvs@squid-cache.org
- Changeset generation - ~squidadmin/bin/changesets
- Sync to sourceforge - ~squidadmin/sourcemaintenance/cronjobs/squid_cvs_sync
- Snapshot generation - ?
Proposed Timeline
- 15-Oct-2008: freeze Squid-2 CVS tree; make read-only
- 16-Oct-2008: generate subversion repository from current Squid-2 CVS; keep read-only; setup cvsweb-like interface
- 17-Oct-2008: changeset generation (with svn-XXXX changeset identifiers, to keep seperate from legacy CVS changeset identifiers and URL links); snapshot generation
- 18-Oct-2008: enable read-write Subversion repository for testing
- 19-Oct-2008: Sourceforge sync updates
- 20-Oct-2008: Test sourceforge sync, changsets, snapshot generation
- 24-Oct-2008: unfreeze Squid-2 subversion tree; development may continue
