Changes between Initial Version and Version 1 of UsingGitAndSvnInTrac

Show
Ignore:
Timestamp:
04/30/10 07:43:40 (12 years ago)
Author:
cotto
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UsingGitAndSvnInTrac

    v1 v1  
     1So Subversion is old and busted and git is the new hawtness.  This is established and completely beyond question.  Don't question it.  Also, I've wasted way too much time wrestling with svn's stupid quirks and failures, so I want Parrot to switch to using Git as its primary vcs.  The only problem is that Parrot has a lot of links and references to subversion revision numbers, both on this Trac site, in the source, in old messages, lots of places.  We don't want these to break and make people sad.  That means that even after we switch to Git, we'll need to keep the Subversion repository accessible using current links. 
     2 
     3Oh noes!  Trac isn't meant to have multiple version control backends, you might say.  There's a solution: 
     4 * [http://trac-hacks.org/browser/subprojectspatch/0.11/sub-projects.diff This tiny patch] allows a Trac project to have a sub-project. 
     5 * The sub-project can be configured to use the same db as the parent project, propagating permissions and user info. 
     6 * Trac [http://trac.edgewall.org/wiki/TracInterfaceCustomization#CustomNavigationEntries allows] navigation items to be customized. 
     7 * A more or less usable [http://trac-hacks.org/wiki/GitPlugin Git plugin] exists for Trac. 
     8 
     9Using these tools, it'll be possible to set up a sub-project that contains a read-only copy of the subversion repository that can integrate gracefully with the parent project.  There are still some holes to fill in but that's more or less the plan.  I (cotto) will make sure all the pieces exist and can be made to fit together before seriously proposing anything. 
     10 
     11remaining issues: 
     12* redirection for old svn urls 
     13* make urls look better ( parrot/svn-browser/... instead of parrot/p/parrot-svn/browser) 
     14* make r1234 redirect to the svn project 
     15* ro access to the svn repo (marginally useful, mitigated by keeping a mirror on github, which allows svn access to git repositories) 
     16* git trac plugin is inefficient (this is mitigated somewhat by the possibility of using github as a supplementary tool)