Re: [GSoC] Git to SVN bridge
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Apr 19, 2012, 22:56 UTC
- Message-ID
- <20120419225659.GA4971@burratino>
- In-Reply-To
- <CALkWK0=7SPR-4Km5TUwg+rHm30aC7Uru9GJkkfYnL3OORV7nfg@mail.gmail.com>
Ramkumar Ramachandra wrote:
> Give 'vcs-svn/' the ability to spit out a Subversion dumpfile. If you > remember, we hit a brick wall last time when we needed a way to > persist mark-referenced-blobs in the fast-import stream.
Yeah. Ok, let's start there.
If I remember correctly, before we had this idea that svn-fi would be a generic fast-import backend, so we could get support for pushing to Subversion from other version control systems like Mercurial and RCS for free. An earlier idea was to use a very minimal subset of the fast-import format. You started with a patch that taught fast-export a switch to produce that minimal subset, which was rejected because it seemed like too much of a niche use case to be worth the cost to compatibility.
However, that leaves whole swaths of the design space unexplored. For example, maybe "git fast-export" doesn't need to write the restricted format but there would be a filter that takes an arbitrary fast-import stream and converts it to the restricted thing. Or maybe it would be easiest to get something off the ground using that restricted "fast-import lite" format and only afterwards expand svn-fi to handle more commands so it can talk to the rest of the world.
In other words, if you are hitting a wall with that part which doesn't seem to have much to do with differences between git and Subversion anyway, I imagine there are easier places to start. Alternatively, if you prefer to work on making it easy for an importer to handle "ls" and "cat" commands and mark references, I think our previous attempts were misguided and we can do better. :) What do you think?
Jonathan