My favorites | Sign in
Project Home Wiki Issues Source
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 5698: Missing "newer" link in the git changes view
8 people starred this issue and may be notified of changes. Back to list
 
Reported by ckanru, Aug 15, 2011
What steps will reproduce the problem?

Step 1.
 open https://code.google.com/p/aster/source/list
Step 2.
 follow the link of "Older ›"


What is the expected output? What do you see instead?

 There should be a "Newer" link that displays newer changes like what svn and hg do.

What browser (or git/hg/svn client) are you using? On what operating
system?

 Firefox/Chromium, Debian
2011-08-15-174308_221x87_scrot.png
3.5 KB   View   Download
Aug 15, 2011
#1 dborowitz@google.com
We're looking at adding this eventually, but it's trickier than you might think. The issue is that git doesn't store "newer" (child) links anywhere in its data model, so we have to try to guess. Say you're viewing the commit list starting from a single commit:
https://code.google.com/p/git-core/source/list?r=b91766295f2b

We only get one "newer" link--but where should it go? This commit is contained in a large number of branches and tags--which one should we follow? Pick one? All of them? (These are not just rhetorical questions, by the way--we'll gladly accept suggestions of reasonable behavior that's not too surprising to users :)

One alternative we've talked about is to have the "newer" link just use your browser history, but this comes with its own set of problems.
Owner: jacobly@google.com
Cc: dborowitz@google.com
Labels: -Type-Defect Type-Enhancement
Aug 16, 2011
#2 ckanru
You can use the branch name from the URL, just like the hg model.

Does hg has more metadata than git that can ease the implementation?
Aug 16, 2011
#3 dborowitz@google.com
hg stores a branch name in each changeset; git doesn't. This means given just a SHA (e.g. ?r=abcd), if that SHA is reachable from multiple branches, we don't know which path to walk. Ok, so we could default to HEAD, but what if the commit isn't reachable from HEAD, but is reachable from multiple other branches?

(It's worth mentioning that IMO we don't do this right for hg either. A changeset may be labeled as branch A but you reached it by clicking "Older" links starting from branch B. Currently, the "Newer" link will all of a sudden start walking back towards branch A. This is the reason that I mentioned above that the best solution might just involve browser history.)

The other issues all have to do with the fact that because there are only parent pointers in git (and hg for that matter), it can take a long time to walk back from the tip to wherever we are in the "Older" list. I have some ideas of how to work around this, but didn't have time to get to implementing them before launching git support. My bad.
Dec 8, 2011
#4 jacobly@google.com
 Issue 6084  has been merged into this issue.
Cc: garethaye@google.com
Sign in to add a comment

Powered by Google Project Hosting