Skip to content

feature: add hierarchical submodule history and gitlink comparison - #2789

Open
beom-git wants to merge 1 commit into
sourcegit-scm:developfrom
beom-git:develop
Open

beom-git wants to merge 1 commit into
sourcegit-scm:developfrom
beom-git:develop

Conversation

@beom-git

Copy link
Copy Markdown

Overview
Introduced the hierarchical submodule history and gitlink comparison feature, enabling users to expand submodule histories in the commit graph, compare gitlink revisions, and check local pointer status safely without altering HEAD.

Key Changes

  1. Hierarchical Submodule History Graph
  • Disclosure Controls (▸ / ▾): Toggle buttons on log rows to expand/collapse history.
  • Recursive Exploration: Supports nested navigation with visual edges and configurable scope.
  • Automation Preferences: Options to auto-expand or auto-collapse submodule histories.
  1. Gitlink Comparison & Pointer Status
  • Gitlink Revision Diff: Read-only comparison view for commit diffs and unified patches.
  • Live Local Status: Tracks matching, different, removed, or unavailable local checkouts.
  1. Submodule Settings & Docs
  • History Modes & Labels: Configurable via Changed range or Full history with customizable label formats.
  • Documentation & Assets: Added a user guide (docs/hierarchical-submodule-history.md) and localization bundles.

Technical & File Summary

  • Safety & Errors: Operates strictly read-only without modifying repositories, gracefully handling missing objects.
  • Files Changed: 20 files changed (+1,765 additions, -36 deletions) across core components like QuerySubmoduleHistory.cs and CommitGraph.cs.

Expand submodule histories inside the parent commit graph with configurable
history range, nesting scope, area limits and labels.

Compare gitlink revisions, display local pointer status, and navigate or
collapse nested areas without changing HEAD. Include usage documentation
and screenshots of the submodule workflow.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant