Files
Fusion 6807f449b7 feat: add repository workspace as default project view
- Create git file utilities (list_tree, get_file_content, list_branches, commit_file)
- Add file browsing API endpoints (list, content, branches, update)
- Create RepoWorkspace page with sidebar + main content layout
- Add FileTree component with directory navigation
- Add FileViewer component for viewing file contents
- Update project list to link to workspace
- Add workspace CSS styles
- Update router with workspace route

Quality gates: ruff ✓, mypy ✓, typecheck ✓, build ✓
2026-05-19 13:43:49 +02:00

1.7 KiB

Git History Visualization

Problem

Currently, users can create and manage git repositories, but they have no way to view the commit history, branches, or understand the repository structure. This makes it impossible to:

  • See what commits exist in a repository
  • Understand branch relationships and merges
  • View commit details (message, author, date, changes)
  • Explore the repository's evolution over time

Solution

Build an interactive git history visualization similar to GitKraken that provides:

  1. Graph View: Visual commit graph showing branches, merges, and commit relationships
  2. List View: Linear commit log with details
  3. Commit Details: Click any commit to see full details and diff
  4. Branch Visualization: See all branches and their relationships

Benefits

  • Understand repository structure at a glance
  • Track changes and see who made what changes when
  • Navigate history easily without using command line
  • Review code by examining commit diffs

Scope

What we're building:

  • Backend API to extract git history from bare/mirror repos using git CLI
  • Graph visualization component (SVG-based commit graph)
  • List view component (linear commit log)
  • Commit detail panel (message, author, date, diff)
  • View toggle (graph vs list)
  • Branch label display

Out of scope (future enhancements):

  • Interactive branch operations (checkout, merge, rebase)
  • Tag management
  • File browser at specific commits
  • Blame/annotation view
  • Advanced filtering/search

Technical Approach

Backend: Execute git log --graph --format=... commands to get structured commit data Frontend: Custom SVG rendering for graph, React components for list view and details panel