Bug 313263 - Provide a 'Staging' view to give users an overview of untracked, modified, and staged files
Summary: Provide a 'Staging' view to give users an overview of untracked, modified, an...
Status: RESOLVED FIXED
Alias: None
Product: EGit
Classification: Technology
Component: UI (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: 1.0.0   Edit
Assignee: Bernard Leach CLA
QA Contact:
URL:
Whiteboard:
Keywords: noteworthy
: 335138 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-05-17 20:05 EDT by Remy Suen CLA
Modified: 2011-05-12 14:11 EDT (History)
9 users (show)

See Also:


Attachments
screenshot GitX staging view on a sample jgit change (140.34 KB, image/png)
2011-04-29 15:48 EDT, Matthias Sohn CLA
no flags Details
screenshot current EGit staging view on same sample jgit change (79.18 KB, image/png)
2011-04-29 15:50 EDT, Matthias Sohn CLA
no flags Details
Initial prototype of gitx style stage view (38.51 KB, image/png)
2011-05-01 07:36 EDT, Bernard Leach CLA
no flags Details
next iteration mockup for staging view (81.62 KB, image/png)
2011-05-04 11:45 EDT, Matthias Sohn CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Remy Suen CLA 2010-05-17 20:05:11 EDT
Some discussions can be seen in bug 309582 and bug 310128.

A suggested implementation has been pushed to Gerrit for review.
http://egit.eclipse.org/r/716
Comment 1 Chris Aniszczyk CLA 2010-05-20 10:26:59 EDT
Anyone have an idea how hard would this would be to integrate into the Synchronize view as another option to view the data? Just a thought to simplify the additions of more views if not necessary.
Comment 2 Bernard Leach CLA 2011-04-14 10:55:30 EDT
An updated rebase of Remy's original work has been pushed to Gerrit.

http://egit.eclipse.org/r/#change,3106
Comment 3 Matthias Sohn CLA 2011-04-29 15:48:57 EDT
Created attachment 194400 [details]
screenshot GitX staging view on a sample jgit change
Comment 4 Matthias Sohn CLA 2011-04-29 15:50:22 EDT
Created attachment 194401 [details]
screenshot current EGit staging view on same sample jgit change
Comment 5 Matthias Sohn CLA 2011-04-29 15:50:47 EDT
(In reply to comment #2)
> An updated rebase of Remy's original work has been pushed to Gerrit.
> 
> http://egit.eclipse.org/r/#change,3106

I did some testing and compared this view with the staging/commit view provided by GitX.
I think the UI should rather follow what GitX does, I think this is close to optimal.

I would propose to do the following changes:
- add a combo to select the repository, if you feel you really need a way to have a staging view for all repositories add an entry "<all>" to this combo, I think looking at staged changes for multiple repos isn't really useful and requires more scrolling
- divide the staging view horizontally into three panes in the same way as GitX does:
   - list of unstaged files in the left pane, decorate modified, deleted, untracked files with different decorators, this removes the need for a lot of tree nodes
   - draft for commit message in the middle (could reuse the new stuff done by Kevin)
   - list of staged change on the right side, decorate to show details about staged changes
- I would prefer flat file lists as this removes the need to open/collapse unnecessary tree nodes which also eat up vertical screen real estate (compare the two screenshots comparing current EGit proposal and GitX)
Comment 6 Bernard Leach CLA 2011-05-01 07:36:04 EDT
Created attachment 194446 [details]
Initial prototype of gitx style stage view

Here's a first cut of a gitx style staging view.

I'm not entirely convinced by the commit button, it throws out the layout of the checkboxes (maybe some SWT magic can fix that!) but the commit portion also consumes a lot of vertical real-estate leaving the commit message input fairly constrained.

For the repo selection I had thought to make it selection based so it would work like the history view and follow the current selection.
Comment 7 Chris Aniszczyk CLA 2011-05-01 15:03:22 EDT
I created a CQ for Bernard's latest changes.

https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5115

Any additional changes should be done with a Gerrit changset on top of what we already have and kept under 250 lines if possible (per new changeset).
Comment 8 Matthias Sohn CLA 2011-05-04 11:45:31 EDT
Created attachment 194731 [details]
next iteration mockup for staging view
Comment 9 Bernard Leach CLA 2011-05-05 01:19:59 EDT
*** Bug 335138 has been marked as a duplicate of this bug. ***
Comment 10 Chris Aniszczyk CLA 2011-05-05 12:01:30 EDT
Bernard, can you verify these statements needed by the Eclipse IP team:

1.  He/She confirms they authored 100% of the content they are submitting
2.  He/She confirms they have the rights to contribute the content to Eclipse
3.  He/She confirms the content is being submitted under the project license in
this case EPL
Comment 11 Bernard Leach CLA 2011-05-05 19:55:37 EDT
 (In reply to comment #10)
> Bernard, can you verify these statements needed by the Eclipse IP team:
> 
> 1.  He/She confirms they authored 100% of the content they are submitting
> 2.  He/She confirms they have the rights to contribute the content to Eclipse
> 3.  He/She confirms the content is being submitted under the project license in
> this case EPL

I can confirm that I have authored 100% of the content and have the rights to contribute the code to Eclipse and consent to the code being licensed under the EPL.

This change was developed using my own time and equipment I own.
Comment 12 Chris Aniszczyk CLA 2011-05-12 14:11:30 EDT
This was committed as 562ff7890f47f4be0cb9b6e76f8fc4d645374228.

Any enhancements or bugs should be reported as new bugzilla entries.

Thanks everyone for your patience.