Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 339558 - [client] git status page title should be a breadcrumb
Summary: [client] git status page title should be a breadcrumb
Status: RESOLVED FIXED
Alias: None
Product: Orion
Classification: ECD
Component: Client (show other bugs)
Version: 0.2   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: 0.2   Edit
Assignee: libing wang CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 347181 347849
Blocks:
  Show dependency tree
 
Reported: 2011-03-10 12:19 EST by Susan McCourt CLA
Modified: 2011-09-01 11:42 EDT (History)
2 users (show)

See Also:


Attachments
screenshot (9.29 KB, image/png)
2011-03-10 12:19 EST, Susan McCourt CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Susan McCourt CLA 2011-03-10 12:19:51 EST
Created attachment 190885 [details]
screenshot

Currently the git status page shows the file path it opened on in the title.  Some problems with that:

- it's using the implementation path rather than the user's name for the project.
- it looks like a navigable breadcrumb, but it's not

By using a breadcrumb there, we could get the user name and also allow navigation like we do in the nav and editor.
Comment 1 libing wang CLA 2011-04-19 11:47:44 EDT
fixed with 5455c05ef474e8a62b804e16010da00578976471.
I've slightly change the breadcrumb.js.
When you construct a bread crum you can pass options.makeHref as a call back function.
The call back function is to make the href on a bread crumb item for your navigate purpose. If this option is not defined ,seg.href = "navigate-table.html#" + parents[i].ChildrenLocation; is used.
Comment 2 libing wang CLA 2011-04-19 11:54:42 EDT
bug 339351 addresses that git status should return all changes in the repo no matter which folder you are at now .
So for now , even you are navigating to different folders , the git status content will not change.
Comment 3 Susan McCourt CLA 2011-04-19 12:28:27 EDT
(In reply to comment #1)
> fixed with 5455c05ef474e8a62b804e16010da00578976471.
> I've slightly change the breadcrumb.js.
> When you construct a bread crum you can pass options.makeHref as a call back
> function.
> The call back function is to make the href on a bread crumb item for your
> navigate purpose. If this option is not defined ,seg.href =
> "navigate-table.html#" + parents[i].ChildrenLocation; is used.

looks good.
Comment 4 Szymon Brandys CLA 2011-04-28 07:23:51 EDT
The breadcrumb says 'Orion Navigator [path]'. It should rather say 'Git Status [path]'. The link to navigator is available in the header on the right.
Comment 5 Susan McCourt CLA 2011-04-28 10:50:22 EDT
we'll need some new API in the breadcrumb that lets the caller set the title and href of the root segment.  It could default to "Orion Navigator" -> navigate-table.html which is what we do now.
Comment 6 Susan McCourt CLA 2011-05-25 11:46:13 EDT
(In reply to comment #2)
> bug 339351 addresses that git status should return all changes in the repo no
> matter which folder you are at now .
> So for now , even you are navigating to different folders , the git status
> content will not change.

I glossed right over this comment the first time.
If we aren't scoping the git status results then we shouldn't be using a breadcrumb here at all.  We should just show:

Git Status - RepoName
Comment 7 Boris Bokowski CLA 2011-05-25 12:52:03 EDT
(In reply to comment #6)
> If we aren't scoping the git status results then we shouldn't be using a
> breadcrumb here at all.  We should just show:
> 
> Git Status - RepoName

We also need the currently checked out branch name. And please in a large enough font to be able to see this information right away! The title of the page needs to show some of this information, too.
Comment 8 libing wang CLA 2011-05-31 15:25:43 EDT
(In reply to comment #7)
> (In reply to comment #6)
> > If we aren't scoping the git status results then we shouldn't be using a
> > breadcrumb here at all.  We should just show:
> > 
> > Git Status - RepoName
> 
> We also need the currently checked out branch name. And please in a large
> enough font to be able to see this information right away! The title of the
> page needs to show some of this information, too.

Marked RC1 as the depending bugs are targeted at RC1.
From git bash I see /orionGitRepo/org.eclipse.orion.client/bundles/org.eclipse.orion.client.core (master)

"master" will be the response from teh new server API addressed in bug 347849 , but ,

I am not sure if "/orionGitRepo/org.eclipse.orion.client/bundles/org.eclipse.orion.client.core" is what we want to show as the RepoName?
Comment 9 Susan McCourt CLA 2011-05-31 16:49:39 EDT
(In reply to comment #8)
> I am not sure if
> "/orionGitRepo/org.eclipse.orion.client/bundles/org.eclipse.orion.client.core"
> is what we want to show as the RepoName?

I believe we want

Git Status - org.eclipse.orion.client (master)

Since the git status page is not scoped, I assume we would only ever be using paths at the repository root, and therefore only need to show the repo name (org.eclipse.orion.client) and not anything like "bundles/org.eclipse.orion.client.core" because we aren't trafficking in subfolder paths.  (Right?)
Comment 10 Boris Bokowski CLA 2011-05-31 17:03:19 EDT
(In reply to comment #9)
> Git Status - org.eclipse.orion.client (master)

+1

Since the commit is scoped at the repository level anyway, I don't think we should show git status for a subfolder. The command line client shows all changes in the current repository too, it just adjust the shown paths relative to the current working directory.

For example, if my working directory is bundles/org.eclipse.orion.client.git but I have changes in another bundle, git status shows me this (note the ".."):

# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#	modified:   ../org.eclipse.orion.dojo/build.properties
#

Just to be clear - I don't think it is important that we can show relative paths like this. We should just show the paths relative to the top-level folder.
Comment 11 libing wang CLA 2011-06-08 16:42:12 EDT
fixed with d030a5d8c45144abc0c456eddd6a68a5ab01861e. Reviewed by Boris.

As for now we dod not have ability to show a single page for a repo , so a bread crumb does not make sense to me as there is no path there.

As the solution , I am showing the repo name and the branch name something like :
"Git Status for OrionClientCode on 0.2M7"

If in the future we will have a repo link on based a a repo , we can make it a bread crumb.
Comment 12 Boris Bokowski CLA 2011-06-08 16:44:05 EDT
(In reply to comment #11)
> "Git Status for OrionClientCode on 0.2M7"

Just to clarify, this would normally be something like "Git Status for orion.client on master". In the above example, 0.2M7 was a branch name...
Comment 13 Susan McCourt CLA 2011-06-08 19:07:00 EDT
(In reply to comment #12)
> (In reply to comment #11)
> > "Git Status for OrionClientCode on 0.2M7"
> 
> Just to clarify, this would normally be something like "Git Status for
> orion.client on master". In the above example, 0.2M7 was a branch name...

cool.  In bug 347181 we are doing some visual rework of the page title, breadcrumb, and current location.  Rather than cramming these three pieces of info into a small title, it's probably going to be something like:

Page Title
[optional/breadcrumb/path/]CurrentLocation

I'll make a pass on all pages.  It means that in this example it would say

Git Status
0.2M7
Comment 14 Susan McCourt CLA 2011-06-08 19:08:53 EDT
(In reply to comment #13)

> Page Title
> [optional/breadcrumb/path/]CurrentLocation
> 
> I'll make a pass on all pages.  It means that in this example it would say
> 
> Git Status
> 0.2M7

sigh...I mean

Git Status
orion.client on 0.2M7

At any rate, I'll be fixing all the pages up at one time.