[MonoDevelop] Patch - Support for Git Initial Commit

Dale Ragan dale.ragan at sinesignal.com
Sat Jun 19 03:31:51 EDT 2010

Here's the official kickoff patch to the 'Support for Git' task.  I wanted
to go ahead and start learning the types and see what was going to be
needed to retro the existing version control logic for Git.  Since, it is
different than how an SVN like system functions.

I then added a new C# library project to main/Main.sln called
MonoDevelop.VersionControl.Git located under
main/src/addins/VersionControl.  It is mainly a skeleton right now, but
the add-in is recognized by MonoDevelop and the VersionControlService sees
the new Git Version Control System and adds it to it's handlers, but since
I am throwing a NotImplementedException for the CreateRepositoryInstance
call.  It will not show up yet in the drop down for selecting a source
control provider.

I also went ahead and added the new project to the build system.  The
add-in is disabled by default for now.  To enable, pass --enable-git=yes
to main/configure.  Once I get further along and it's somewhat ready for
people to try, I will enable it by default.  Configure will print out if
it is enabled or not:

    Configuration summary

       * Installation prefix = /opt/mono
       * C# compiler = /opt/mono/bin/gmcs
       * Mono class library development extensions: yes
       * Version control providers:
       *     Subversion (Unix): yes
       *     Git: no
       * Platform bindings: GNOME
       * Unit tests: no
       * Mozilla location:

    Now type `make' to compile MonoDevelop
    Configuration Summary

        MonoDevelop has been configured with
        prefix = /opt/mono
        profile = core

    Packages included in the build:

I am going to type some features up now to make sure everybody is on the
same page in how it will function.  I am going to keep in mind Mercurial
since it is very similar to Git during this process.  Hopefully, that will
make it trivial to add Mercurial support once Git support is done.  Also,
since this project will depend on GitSharp, what is the policy on
including third party libraries?  Does it get checked in with the project
and referenced that way or do you prefer another way?

I like to commit incrementally, as I complete little areas of a feature. 
Do you want me to keep submitting patches or is there plans to get me
commit access?  Just asking, because there's going to be a lot of patches.



More information about the Monodevelop-list mailing list