Add commit list header breadcrumbs

What does this MR do and why?

This is part of a bigger effort to refactor the repository Commit list. All changes are behind the FF project_commits_refactor`. Specifically, this MR adds a file breadcrumb to the commit list header. This matches exactly the existing file breadcrumb when FF is off.

References

Finish state of the header

CleanShot_2025-08-12_at_09.48.17

Implementation Plan

Task MR
Add ref selector !200567 (merged)
Add breadcrumb 👈 this MR
Add overflow menu !200595 (merged)
Add filter search and support author search !199810 (merged)
Add support for message search !200595 (merged)

Screenshots or screen recordings

⚠️ the list of commits uses mock data and would not change when file path gets updated. to validate this change, i confirm the link generated from the new breadcrumb matches the existing one (when FF is off) 👍

FF off before change, FF on after change, FF on
Arc 2025-08-12 11.11.01.png CleanShot 2025-08-12 at 12.24.00.png CleanShot 2025-08-12 at 11.12.49.png

project root

https://gdk.test:3443/reported_user_22/gitlab-shell/-/commits/main

CleanShot 2025-08-11 at 15.43.12.mp4

file on a non-default branch

https://gdk.test:3443/reported_user_22/gitlab-shell/-/commits/ashmckenzie/debug-yamux-issues/doc/beginners_guide.md

CleanShot 2025-08-11 at 15.41.48.mp4

file with a tag

https://gdk.test:3443/reported_user_22/gitlab-shell/-/commits/v14.38.0/spec/gitlab_shell_authorized_keys_check_spec.rb

CleanShot 2025-08-11 at 15.40.49.mp4

How to set up and validate locally

To test commits page for a blob (file):

  • Go to a file inside a repository
  • Click History in the last commit block

To test commits page for the root path:

  • Select Code > Commits from left nav

⚠️ the list of commits uses mock data and would not change when file path gets updated. to validate this change, i confirm the link generated from the new breadcrumb matches the existing one (when FF is off) 👍

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #551400 (closed)

Edited by Chaoyue Zhao

Merge request reports

Loading