git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/2] gitweb: Show trailing slash when listing tree entry in tree listing

From
Jakub Narebski <jnareb@gmail.com>
Date
Oct 10, 2006, 20:29 UTC
Message-ID
<200610102229.35642.jnareb@gmail.com>
In-Reply-To
<20061010191904.99261.qmail@web31809.mail.mud.yahoo.com>
Luben Tuikov wrote:
Show 18 quoted lines
> --- Jakub Narebski <jnareb@gmail.com> wrote:
>> Luben Tuikov wrote:
>> 
>>>> It probably is wise to resurrect those "redundant" links.
>>> 
>>> If someone does this, can they also remove the now "other"
>>> redundant link? (the link at the pathname itself) A simple
>>> code analyzer would show the duplicate code in gitweb.
>>
>> I'd rather add some more "hidden" links, but for each hidden
>> link (which are convenience only, to have larger are to click,
>> or to have closer area to click) I'd like to have clearly marked
>> link (marked as a link, i.e. using default link style; and with
>> link text denoting _kind_ of link) which leads to the same contents. 
> 
> Why would you like all this?  If users start using those other links
> all the time, what is the purpose of the "hidden" links as you call
> them? 

It was answered in the part you haven't quoted. Sometimes "hidden link" purpose it is to have larger area where we can click, for example in "tree" view the name of file (the name of directory is not hidden, as it uses default link style), in "shortlog"/"heads"/"tags" view the title (subject) of a commit/ref. Sometimes it is to have link closer, for example name of files in diff header being "hidden link" to file contents before and after the change.

"Hidden links" are in fact half hidden, as I think all of them are underlined on mouseover.

But, as I have said, we cannot use default link style for those "hidden 
links", either because as in "shortlog" view this would negatively 
affect readibility, or it would clash with syntax highlighting as in 
the case of "commitdiff" and "blobdiff" views, or because we have two 
types of object we want to be visually distinct, but there is only one 
default style of links like in the case of directory (tree) and file 
(blob) entries in the "tree" view.
 
Show 6 quoted lines
> Consider the "tree" link between "commitdiff" and "snapshot" 
> (if enabled) in shortlog view.
> 
> Consider the "hidden" link of each entry (file/directory).
> 
> Can you see how they are different?

Yes, "tree" link is small, blue (if not visited), and underlined. But I guess that wasn't what you had in mind.

IMPORTANT: By the way, by removing 'redundant' "blob"/"tree" link we 
remove the possibility of denoting which links (which directories and 
files) we have visited (sic!).
Show 10 quoted lines
> Introducing this to an engineer who has little knowlege about git:
>    "Click on the file or directory name, to get the file or go into
>     the directory"
> Simple and intuitive, no need to mention "blob" or "tree" or "object".
> Or,
>    "Click on the 'blob' link to get the ... Click on the 'tree' link
>    to get the ... Oh you didn't know what a 'tree' or 'blob' object
>    is? A 'blob' is ... A 'tree' is ..."
>
> At which point the engineer has lost 90% of his interest.
The links are for git and gitweb users. They tell (we assume that git 
user knows what blob, tree, etc. means; we assume that gitweb user 
knows what blob views or tree view means)
    "Click on the 'blob' link to get 'blob' view for current line file"
like the "history" link tells
    "Click on the 'history' link to get history of a current line file"

For example "hidden link" of title/subject of a commit in "shortlog" or "history" view doesn't tell us what kind of view it leads too: commit, commitdiff? Well, it doesn't tell us that it is link, either... ;-)

Show 9 quoted lines
> It even gets even worse for the obnoxious "tree" link next to each
> commit in shortlog view:
>    "The tree link is the the tree object which is part of a commit
>     object. Oh you don't know the internals of a commit object?
>     A commit object binds a tree object and a (parent) commit object,
>     but blah, blah, blah..." 
> 
> Can you see how all this apparent "simplicity" you're trying to
> introduce contradics the mere links you're introducing it with?

I don't understand you. The "tree" link in shortlog is a _shortcut_ to the "tree" view (and I think that one can guess that tree view means directory listing in the state as saved by given commit), without it you would have to do it in two steps, first going to commit view, then clicking on tree in the main navbar. So it is IMHO usefull.

Perhaps you meant "tree" header in "commit" view? There surely we could use ordinary link style for sha1 which is tree identifier. Cause surely we don't need for the sha1 to be readable, as in the case of commit title in the shortlog view. Additionally it would serve as a way to distinguish on first glance which headers are clickable, and which are not. And there we could I guess loose redundant headers.

[...]
> The question is: Given the average engineer, what is the gitweb
> interface such that they can start using it fastest with the minimum
> amount of  questions?
Given average user/programmer... 
Show 8 quoted lines
>> But we agreed (I guess) to disagree on the whole redundancy in user
>> interface issue (although I agree on the issue of reducing clutter).
>> BTW. we can reduce redundancy in the code without need for removing
>> "alternate entry points" in interface, I think.
> 
> Clutter and redundancy is just a part of it.  A larger part is
> how much git or non-git oriented we want to make the interface, which
> seems related to the overall simplicity and intuitiveness.

One must pay atention to not to make interface _too simple_, and less usable because of it. And definition of intuitiveness depends on the person...

-- 
Jakub Narebski
Poland
Previous: Jakub NarebskiNext: Andreas Ericsson
Message 42 of 54 in “gitweb: Do not print "log" and "shortlog" redundantly in commit view”
  1. gitweb: Do not print "log" and "shortlog" redundantly in commit viewLuben Tuikov, Oct 5, 2006
  2. Jakub NarebskiOct 6, 2006
  3. Petr BaudisOct 6, 2006
  4. Luben TuikovOct 6, 2006
  5. Petr BaudisOct 7, 2006
  6. Jakub NarebskiOct 7, 2006
  7. Petr BaudisOct 7, 2006
  8. 1/2 gitweb: Show snapshot links for tree entries in tree listingPetr Baudis, Oct 7, 2006
  9. Luben TuikovOct 7, 2006
  10. Petr BaudisOct 7, 2006
  11. Luben TuikovOct 7, 2006
  12. Petr BaudisOct 7, 2006
  13. Junio C HamanoOct 7, 2006
  14. Luben TuikovOct 8, 2006
  15. 2/2 gitweb: Show trailing slash when listing tree entry in tree listingPetr Baudis, Oct 7, 2006
  16. Luben TuikovOct 7, 2006
  17. Jakub NarebskiOct 7, 2006
  18. Petr BaudisOct 7, 2006
  19. Jakub NarebskiOct 7, 2006
  20. Petr BaudisOct 7, 2006
  21. Jakub NarebskiOct 7, 2006
  22. Petr BaudisOct 9, 2006
  23. Junio C HamanoOct 9, 2006
  24. Junio C HamanoOct 10, 2006
  25. Luben TuikovOct 10, 2006
  26. Junio C HamanoOct 10, 2006
  27. Luben TuikovOct 10, 2006
  28. Jeff KingOct 10, 2006
  29. Luben TuikovOct 10, 2006
  30. Jeff KingOct 10, 2006
  31. Jakub NarebskiOct 10, 2006
  32. Luben TuikovOct 10, 2006
  33. Junio C HamanoOct 10, 2006
  34. Jakub NarebskiOct 10, 2006
  35. Luben TuikovOct 10, 2006
  36. Jakub NarebskiOct 10, 2006
  37. Luben TuikovOct 10, 2006
  38. Luben TuikovOct 10, 2006
  39. Jakub NarebskiOct 10, 2006
  40. Luben TuikovOct 10, 2006
  41. Jakub NarebskiOct 10, 2006
  42. Jakub NarebskiOct 10, 2006
  43. Andreas EricssonOct 11, 2006
  44. Luben TuikovOct 10, 2006
  45. Jeff KingOct 10, 2006
  46. Andreas EricssonOct 10, 2006
  47. Josef WeidendorferOct 10, 2006
  48. Luben TuikovOct 10, 2006
  49. Josef WeidendorferOct 10, 2006
  50. Luben TuikovOct 10, 2006
  51. Junio C HamanoOct 10, 2006
  52. A Large Angry SCMOct 7, 2006
  53. Junio C HamanoOct 7, 2006
  54. Luben TuikovOct 8, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.