This seems like a large milestone. Can you break this up any more?
For instance, your design notes on storing the necessary mapping
information are good. How about a separate milestone of having a test
suite for the library functions you make for accessing that information.
I would be tempted to check the protocol -
http://svn.collab.net/repos/svn/trunk/subversion/libsvn_ra_svn/protocol
- and make milestones for each request type that the protocol allows
for. Perhaps there is a more relevant list that you can find, such as
groups of tests in the back-end test suite that ships with Subversion.
Even taking the list of svn sub-commands, and deciding which fit into
each category would be a good enhancement.
Meh. Just ignore them, and set revprops with all of the git committer
information.
An honourable notion, but I'd steer away from worrying about
self-hosting, if it is irrelevant to the task at hand. Focus more on a
finding a good test suite to check you supported all the operations.
Eg, can the test suite bundled with the Subversion project run against
your back-end?
I don't like this word "guess". It might be dangerous to not
deterministically or repeatably answer a request. If any random
decisions were made, or information derived based on things that might
change, then it should be stored in your mapping information branch. In
this instance, we didn't 'guess', we decided.
Whew! That's a lot of big milestones, but it's your summer ... :)
I think the merging thing is a nice-to-have, and doing it would just
prove that you can use the metadata that you have collected well.
One thing I like about your approach is that the tracking branch itself
could be replicated, leaving an audit of what happened.
AFAIK the interface for libgit is not yet finalized, so bear in mind the
application will possibly need porting work for each release.
Sam.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html