HTTP/1.1 -1 Read error in cache disk data: SuccessContent-Type: text/plain; charset="utf-8" Last-Modified: Sat, 22 Jan 2022 04:40:52 GMT Content-length: 2296 Connection: Close Proxy-Connection: Close X-Cache: HIT from web1.osuosl.org Server: ProxyTrack 0.5 (HTTrack 3.49.2) This page exists to document what needs to happen before Parrot's developers will feel confident about switching version control from Subversion to Git. See also [wiki:GitObjections] == Requirements == * Backwards-compatibility of svn revision numbers. We aren't patient enough to change all references in Parrot and Trac to svn revisions, so there has to be a way to figure out what changes a svn revision refers to. This can be done by maintaining a read-only version of the svn repository. * This is fixed by using "git svn clone" it keeps all rXXXX numbers in the commit messages * This can be linked to old links of rXXXX throughout trac (an experiment/trial will be needed) * When importing a SVN repo into Git, we have the choice of adding markers to each commit which reference the original SVN revision. It sounds like we want this. * again git svn clone * Trac integration - We aren't switching away from Trac, so we need to be sure that there's a *mature* Trac plugin that can work with Git, either directly or via a third-party host like [http://github.com/davglass/github-trac GitHub]. This needs to be researched carefully since poor or immature Trac integration could be a significant impediment to Parrot's progress. * Trac has a git plugin (http://trac-hacks.org/wiki/GitPlugin) * Working example http://sdlperl.ath.cx/ == Things To Think About == * svn-properties - What do we want to do with them? For the most part, they seem useless. coke: when switching partcl to git I ripped these out and haven't needed them since. We might to investigate a branch in svn without them that we can merge to trunk just before the cutover. * External dependencies - Currently NQP-rx is copied manually into the Parrot repo by pmichaud++ when the time is right. We could set up NQP-rx as a git submodule, such that when you check out the Parrot git repo, it would checkout a specific commit of the NQP-rx git repo in a subdirectory, such as ext/nqp-rx. Coke: this might be nice to have; I know we could do this with svn/svn-externals but chose not to. We would certainly want the ability to lock it against a particular revision of the external repo. (This is indeed how git submodules work. You peg a directory to a specified SHA1.) a href="/parrot/report">