Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 348349

Summary: Migrate commit to be non-modal
Product: [Technology] EGit Reporter: Kevin Sawicki <kevin>
Component: UIAssignee: Project Inbox <egit.ui-inbox>
Status: CLOSED WONTFIX QA Contact:
Severity: enhancement    
Priority: P3 CC: jensseidel, matthias.sohn, niks, robin
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Kevin Sawicki CLA 2011-06-05 18:38:29 EDT
Consider moving the Git commit UI to be an editor instead of a dialog.

This would follow the task creation process Mylyn supports, creating a new task doesn't use a
modal dialog, instead an editor is used with Submit button that updates fields once submitted.

Making a Git commit could follow the same workflow and utilize the editor area instead a blocking
dialog.
Comment 1 Jens Seidel CLA 2011-06-16 07:48:21 EDT
I agree with this suggestion. A modal dialog is very ugly. I tried to create a commit message but failed because I could not scroll up in the compare viewer to inspect all changes. So I ended writing the commit in an external program and copying+pasting it.
Comment 2 Michael Schnell CLA 2013-03-20 03:20:31 EDT
EGit already has the staging view for this. Instead of utilizing the editor area it utilizes a view area, which is non-modal.

Furthermore the staging view allows partial commit, which is a "killer feature" of git, at least in my opinion. (Just double click on a file in the staging view will open a compare editor where you can see the contents of that file in the working tree and index or index and HEAD, depending on whether you clicked the staged or unstaged version respectively. You can then use the diff editors actions to copy the changes from left to right and vice versa, and even edit the contents of the working tree and the index.)

In the commit dialog you can double click in a file to get a compare dialog of that file. But this dialog is modal over the commit dialog, so you cannot edit the commit message while viewing the compare, and it doesn't allow partial commit, so you cannot select the changes in the files to commit.

I think the EGit commit dialog is for users that migrate from another VCS (like SVN, CVS) to git, so that they can start using EGit immediately. But to use the full features of git, you should switch to the staging view.

BTW: I did not yet see any tool with a better way to create git commits as EGits staging view. I love it :)
Comment 3 Robin Stocker CLA 2013-03-20 09:16:36 EDT
Thanks, Michael. You are right, I don't think we will change the Commit Dialog to be non-modal → closing.

So, in summary: Use the Git Staging view instead:

http://wiki.eclipse.org/EGit/User_Guide#Git_Staging_View