navigation.ts
12026-07-14 Alice Rey…export function parentIndexOf(rows: LogRow[], from: number): number {
22026-07-07 Nick Mill… const row = rows[from];
32026-07-07 Nick Mill… if (!row) return -1;
42026-07-14 Alice Rey… for (const parent of row.commit.parents) {
52026-07-14 Alice Rey… const i = rows.findIndex((r) => r.repoId === row.repoId && r.commit.sha === parent);
62026-07-14 Alice Rey… if (i >= 0) return i;
72026-07-14 Alice Rey… }
82026-07-07 Nick Mill… return -1;
92026-07-07 Nick Mill…}
PROBLEMSOUTPUTTERMINALGIT
mainorigin/mainAdd interactive rebase with conflict handling
2 h
a1b2c3d
Multi-select user filter with @me support
5 h
9f8e7d6
Merge branch 'feature/filter-bar'
8 h
5c4d3e2
Keyboard navigation: go to parent/child commit
1 d
7a8b9c0
origin/developResizable log columns, no header row
1 d
3e4f5a6
v0.1.0Commit graph with SVG lane layout, virtualized
3 d
1a2b3c4
feature/stashWIP: stash list in the details pane
4 d
8d7c6b5
Stash apply/pop plumbing
4 d
7e6f5a4
Native diff via content provider
5 d
6d5e4f3
Repository discovery: nested repos and submodules
5 d
5c4d3e1
Webview protocol: typed request/event channel
6 d
4b3c2d1
Graph layout: lane assignment and edge routing
6 d
3a2b1c0
Filter bar: branch, user, date, text
7 d
2f1e0d9
Merge branch 'feature/rebase-editor'
8 d
1e0d9c8
Sequence editor: rewrite git-rebase-todo from plan
8 d
0d9c8b7
Git executor: spawn, stream, cancellation
9 d
f8e7d6c
Initial extension scaffold
12 d
2f3e4d5
Keyboard navigation: go to parent/child commit
Up/Down walk the list in display order; Left/Right follow the graph to the child/parent commit, same repository only.
Changed Files 3
navigation.tssrc/webview/components/LogGraph+64A
LogGraph.tsxsrc/webview/components/LogGraph+38−6M
logNavigation.test.tstest/unit+72A