project: Show detached head commit SHA in branch pickers (#29007)

When Git is in a detached HEAD state, the branch is `None`, and we can't
get any meaningful information from it. This PR adds a `head_commit`
field to the snapshot, which is always populated with the HEAD details,
even when the branch is `None`.

This also pave path to fix:
https://github.com/zed-industries/zed/issues/28736

git panel branch picker (before, after):
<img width="197" alt="image"
src="https://github.com/user-attachments/assets/0b6abbba-2988-4890-a708-bcd8aad84f26"
/> <img width="198" alt="image"
src="https://github.com/user-attachments/assets/4b08b1a8-5e79-4aa3-a44e-932249602c18"
/>

title bar branch picker (before, after):
<img width="183" alt="image"
src="https://github.com/user-attachments/assets/d94357f8-a4da-4d60-8ddd-fdd978b99fdf"
/> <img width="228" alt="image"
src="https://github.com/user-attachments/assets/d20824a1-9279-44d6-afd1-bf9319fc50e4"
/>

Release Notes:

- Added head commit SHA information to the Git branch picker in the
title bar and Git panel.
This commit is contained in:
Smit Barmase 2025-04-18 04:23:56 +05:30 committed by GitHub
parent c2cd4fd7a1
commit ba7f886c62
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 109 additions and 7 deletions

View file

@ -120,6 +120,7 @@ message UpdateRepository {
repeated string current_merge_conflicts = 8;
uint64 scan_id = 9;
bool is_last_update = 10;
optional GitCommitDetails head_commit_details = 11;
}
message RemoveRepository {