On Wed, Nov 12, 2008 at 5:22 AM, Andreas Ericsson <ae@xxxxxx> wrote: > Recently, I've started learning C#. More for fun than anything else, > but one of the mono core devs sniffed me out and said they've been > thinking of porting jgit to C# to get a working IDE integration in > monodevelop. Currently, the only option available (with IDE > integration anyways) to the poor C# devs is either Microsoft's > crappy VSS, or the less crappy but still far from fantastic > Subversion. I'm glad you're interested :-) We do have an interface in MD for integrating VCS providers, and although the only existing one is SVN, I believe some users are working on bzr and perforce addins. I'd prefer to see git get established as the default (D)VCS ... Currently, to implement a VCS provider one needs to subclass VersionControlSystem, as demonstrated by the SVN provider: http://anonsvn.mono-project.com/viewvc/trunk/monodevelop/main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.addin.xml?view=markup. We may need to extend the interfaces in order to expose more DVCS-specific features, but I think it's best to find and fix these as needed rather than speculatively implementing things. > So in an effort to learn C#, I've decided to play along with this > (hopefully with some help from the MonoDevelop team), but it seems > to me that the best place to start is the fledgling libgit2 and link > that with git-sharp. The primary reason for this is ofcourse that I > think it'd be a terrible waste to have yet another from-scratch > implementation of git in a new language (ruby, java, C#, C...). The > secondary reason is that it would be neat to have more OSS projects > use my favourite scm. That's actually one of the reasons we'd like a full managed implementation --it'd be trivial to include to with cross-platform Mono-based apps without worrying about architecture, C dependencies, etc. For example, Tomboy could use git to store its notes, so users would have a versioned history and better synch/merge. Then, for example, you could build a Silverlight version that would have full history in local storage. > Besides, getting something to rely on libgit2 early on is probably > the best way to get more people interested in making development of > it proceed rapidly. > > Thoughts anyone? I hadn't heard of libgit2 (it looks pretty recent) but it looks interesting -- at least stable APIs would no longer be a worry. However, I think fully managed is the way to go, from the point of view of much easier dependencies (on windows, mac, silverlight and older linux distros) and licensing. -- Michael Hutchinson http://mjhutchinson.com -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html