Download raw body.
tog ref -> log -> diff: < > fails to follow branch
Christian Weisgerber:
> By picking a branch in tog ref, and then opening a log view, you
> can view the commits on that branch. But if you open a diff view
> from there, '<' and '>' for moving to a younger/older commit will
> not stay on the branch.
Not sure what I saw there, but that's not quite what happens now.
Anyway, '<' and '>' in the diff view are broken and it has nothing
to do with branches. You can move by one entry in a direction, and
you can move back and forth between the new and old entry, but any
further movement blocks.
tog log -> diff ok
tog ref -> log -> diff broken
tog ref -> tree -> log -> diff ok
If you use a wide terminal, it's more obvious: '<' and '>' work
when a log and diff view share a split screen.
input_diff_view() does
ls = &s->log_view->state.log;
entry = TAILQ_PREV(ls->selected_entry,
commit_queue_head, entry);
err = input_log_view(NULL, NULL, s->log_view, KEY_UP);
and something analogous for the other direction. The problem is
that input_log_view() only sets ls->selected. ls->selected_entry
is not advanced. That only happens in draw_commits(). If the log
view isn't shown, the commit queue can't be traversed.
--
Christian "naddy" Weisgerber naddy@mips.inka.de
tog ref -> log -> diff: < > fails to follow branch