[MonoDevelop] Git add-in

Dale Ragan dale.ragan at sinesignal.com
Thu Jul 29 10:11:20 EDT 2010


Hi Anirudh,
>
>> A pad for the history view showing the commits for the current
>> branch. This feature will present the commits in a nice and readable
>> format.  The user will then be allowed to view changes for a commit
>> and compare.
>>
>> A pad for managing Git repositories.  This feature will present
>> the .git directory in an easy to read and presentable way allowing
>> management of remotes and branches for instance.
>>
>> Of course this isn't everything probably, but just a short list of
>> features that I planned on doing.  Any other thoughts?
>
> I've used many graphical tools to manage a git repository -
> gitg, giggle, tig, magit, vim-fugitive and would like to share a couple
> of thoughts. I would recommend you look at magit(an emacs extension),
> and Tim Pope's vim-fugitive if you haven't already.
>
> There are a few things that all frontends to git seem to do in common:
> 1. They present all the files that are untracked, changed, etc - and
> ask you to pick and choose the files to stage and ignore. A user would
> scroll through the list and hit "s" to stage, "i" to ignore and "u"to
> unstage. This is similar to MD's approach where changes to stage are
> selected using check boxes.
>
> 2. Git commits seem to treat the entire commit as one atomic change,
> and the commit message describes the same, as opposed to mentioning the
> change in each specific file. Again, I guess it's a question of
> convention rather than the norm.
>
> In my view, a pad for managing git remotes and a history view showing
> the commits might not be extremely useful as:
> a) People have different ways of working with remotes. I might first
> fetch the remote, check the diff and then merge the commits - or even
> rebase them. Instead I might just pull changes in from them. Moreover,
> there are plenty of great tools to do this already.
>
> b) History view is harder than it looks (to me at least) as there are
> going to be branches, and it might not be a trivial implementation.
> Again, many great
>
> Instead, a strong commit window with a solid keyboard workflow would be
> a killer addin. If one can hit a keystroke to pull up a list of
> changed/added files, selectively stage them by moving about the list
> and hit "C" to make the commit, I'm sure to see productivity go up.

Thanks for the pointers and we will do our best to make sure what we
create keeps users productive.  Of course provide input as the features
become available.

> Also, one fantastic feature would be a prominent display of the current
> branch that is active. Emacs and Vim display the branch in the
> modeline, and I've had very bad muck-ups because I was making edits to
> the wrong branch.
>

We added the branch name to be displayed beside the Solution Name node in
the solution tree.  For example:
    Solution1 (master)
        Project1
            File1
        Project2
        ...
        ProjectN

Thanks,

Dale



More information about the Monodevelop-list mailing list