|Version 3 (modified by cotto, 3 years ago)|
So 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.
Oh noes! Trac isn't meant to have multiple version control backends, you might say. There's a solution:
- This tiny patch allows a Trac project to have a sub-project.
- The sub-project can be configured to use the same db as the parent project, propagating permissions and user info.
- Trac allows navigation items to be customized.
- A plugin allows them to be added.
- A more or less usable Git plugin exists for Trac.
Using 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.
- redirection for old svn urls
- make urls look better ( parrot/svn-browser/... instead of parrot/p/parrot-svn/browser)
- make r1234 redirect to the svn project
- ro access to the svn repo (marginally useful, mitigated by keeping a mirror on github, which allows svn access to git repositories)
- git trac plugin is inefficient (this is mitigated somewhat by the possibility of using github as a supplementary tool)