Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 343542 - [client][git] Navigation hints between various git pages
Summary: [client][git] Navigation hints between various git pages
Status: RESOLVED FIXED
Alias: None
Product: Orion
Classification: ECD
Component: Client (show other bugs)
Version: 0.2   Edit
Hardware: PC Windows 7
: P2 normal (vote)
Target Milestone: 0.2   Edit
Assignee: Szymon Brandys CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 348721
Blocks:
  Show dependency tree
 
Reported: 2011-04-21 10:12 EDT by John Arthorne CLA
Modified: 2011-09-01 11:41 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Arthorne CLA 2011-04-21 10:12:41 EDT
There are several different pages involved in typical git usage workflows:

- status
- log
- remote
- clones

It would be useful to have some navigation hints for the user to aid in navigating between these different pages. For example on the git log page it could have text like:

"To compare to your working copy, use the <a href="git-status.html">Git status</a> page."

"To view commits available on the remote repository, use the <a href="git-log.html?remote">Git remote</a> page."

... etc ...

This is somewhat how the git command line provides hint messages along with each command to help the user figure out what to do next. The git learning curve is intimidating, and with our separation of functionality into multiple pages I think it is quite important for us to help the user figure out what to do.

One possibility is to use the area on the left hand side for these hints (where Outline/Favourites appears), but maybe others have better ideas.
Comment 1 Szymon Brandys CLA 2011-04-21 10:37:45 EDT
We could also use status area to show what is next. For instance, if you are on Git Remote UI and you did Fetch and Merge and there are unresolved conflicts, I would show in the status area a message like "There are unresolved conflicts. Got to >Git Status UI< to resolve them" and >Git Status UI< would be a link.
Comment 2 Susan McCourt CLA 2011-04-21 11:38:04 EDT
(In reply to comment #1)
> We could also use status area to show what is next. For instance, if you are on
> Git Remote UI and you did Fetch and Merge and there are unresolved conflicts, I
> would show in the status area a message like "There are unresolved conflicts.
> Got to >Git Status UI< to resolve them" and >Git Status UI< would be a link.

+1.
The smarter we can be about guiding to the next logical step, the better.
Comment 3 Szymon Brandys CLA 2011-04-21 11:48:12 EDT
I will handle the issue during overall Git UI polishing.
Comment 4 Malgorzata Janczarska CLA 2011-06-08 12:09:20 EDT
This is where I could really use links:
1. I do commit on git status. Link to git log would be nice here, to see my new commit and of course often the next step is to Push
2. When merge fails it's usually because I have some uncommitted changes (similar to comment 1) I would like to have a link to git status (btw there is no error message now at all bug 348721)
3. When I try to push to repository and there are some incoming changes that are not merged I get a warning "REJECTED_NONFASTFORWARD". I'd rather we an error and a link to git remote to do fetch and merge
Comment 5 Boris Bokowski CLA 2011-06-08 16:47:04 EDT
(In reply to comment #4)
> 1. I do commit on git status. Link to git log would be nice here, to see my new
> commit and of course often the next step is to Push

This link is now there, as well as a link to the log for the remote tracking branch.

> 2. When merge fails it's usually because I have some uncommitted changes
> (similar to comment 1) I would like to have a link to git status (btw there is
> no error message now at all bug 348721)

Yes, a link to git status would be great!

> 3. When I try to push to repository and there are some incoming changes that
> are not merged I get a warning "REJECTED_NONFASTFORWARD". I'd rather we an
> error and a link to git remote to do fetch and merge

Just another reason (from my point of view) why having push and fetch/merge buttons on the Git Status page would make sense.
Comment 6 Szymon Brandys CLA 2011-06-09 10:07:26 EDT
(In reply to comment #5)
> > 2. When merge fails it's usually because I have some uncommitted changes
> > (similar to comment 1) I would like to have a link to git status (btw there is
> > no error message now at all bug 348721)
> 
> Yes, a link to git status would be great!
> 
> > 3. When I try to push to repository and there are some incoming changes that
> > are not merged I get a warning "REJECTED_NONFASTFORWARD". I'd rather we an
> > error and a link to git remote to do fetch and merge
> 
> Just another reason (from my point of view) why having push and fetch/merge
> buttons on the Git Status page would make sense.

There should be a link to Git Status page in the progress result (the toolbar), when merging fails. Unfortunately JGit sometimes throws internal exceptions during merge, when it should throw API exception saying that we should stage and commit changes from the working directory first. I need to work around it.

Moreover to improve the experience I'm merging Git Log and Gir Remote, see Bug 344500. both incoming and outgoing changes will be shown on one page and I hope to have fetch, merge and push available on one page too.

If we have it all fixed, I don't think that we would need fetch/merge/push actions on Git Status. However if Libing can add it, I'm fine with it, especially that it was shown on the Boris' mockup. We may verify later what works better and how to change the flow.
Comment 7 Szymon Brandys CLA 2011-06-09 10:20:15 EDT
(In reply to comment #5)
> (In reply to comment #4)
> > 1. I do commit on git status. Link to git log would be nice here, to see my new
> > commit and of course often the next step is to Push
> 
> This link is now there, as well as a link to the log for the remote tracking
> branch.

I think that Susan mentioned that instead of links to git log or git remote, we should rather add actions like "Push my changes" or "Fetch and merge from remote". Or even something like "If you want to share your commits, push changes now"
Comment 8 Szymon Brandys CLA 2011-06-09 10:25:31 EDT
(In reply to comment #7)
> I think that Susan mentioned that instead of links to git log or git remote, we
> should rather add actions like "Push my changes" or "Fetch and merge from
> remote". Or even something like "If you want to share your commits, push
> changes now"

To clarify, these action would take you to the git log page where you could do these things.
Comment 9 Szymon Brandys CLA 2011-06-10 07:19:14 EDT
Will continue during RC2.
Comment 10 Szymon Brandys CLA 2011-06-20 06:06:56 EDT
The navigation was improved recently. There are links added to easily switch between local and remote log views. There are already links from the log views to the git status page and back. I think this bug may be marked fixed. If there is any link missing we will open a separate bug for it.
Comment 11 Boris Bokowski CLA 2011-06-20 11:02:24 EDT
Filed bug 349831.