[MonoDevelop] Git add-in

Lluis Sanchez Gual slluis.devel at gmail.com
Tue Jul 27 11:49:53 EDT 2010


Hi!

I just committed an improved Git add-in which supports the basic Git
operations integrated in MonoDevelop. This add-in does the work by
invoking the git command and parsing the output it generates. This
solution is not very efficient, but it does the job. The plan is to
incrementally replace those git invocations by calls to the GitSharp
library.

I still have to figure out what's the best way of integrating the Git
workflow into the MD version control system. The existing version
control operations are implemented in this way:

      * The Review Changes view shows files that have been added (new
        files registered with git add), removed (files removed with git
        rm) or modified (all modified files, staged and non-staged).
      * A commit operation commits the selected files to the current
        branch. It does not push.
      * The Update command does a "pull --rebase --ff" of the current
        branch.
      * The Revert command does a "git checkout" of the selected files.
      * The Show Annotations, Revert Revision and Revert to Revision
        commands are not yet implemented.

The Git add-in provides two additional commands available in the context
menu:

      * The new Push command shows all changes done wrt a remote branch
        and then pushes the changes. The remote repo and branch can be
        selected in a dialog.
      * The new "Switch to Branch" command, allows switching the working
        tree to a branch (git checkout). Once a branch is selected, all
        operations (including commit, push, pull) are done only for that
        branch.

So the Git add-in can be used pretty much like the Subversion add-in.
The only big difference is that changes have to be explicitly pushed to
the remote repository using the Push command. Feedback about how to
improve this workflow is welcome.

Thanks,
Lluis.





More information about the Monodevelop-list mailing list