Add an undo button to the git panel (#24593)

Also prep infrastructure for pushing a commit

Release Notes:

- N/A

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Nate Butler <iamnbutler@gmail.com>
This commit is contained in:
Mikayla Maki 2025-02-12 14:57:08 -08:00 committed by GitHub
parent df8adc8b11
commit b014afa938
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
41 changed files with 1437 additions and 738 deletions

View file

@ -316,6 +316,9 @@ message Envelope {
OpenUncommittedDiff open_uncommitted_diff = 297;
OpenUncommittedDiffResponse open_uncommitted_diff_response = 298;
GitShow git_show = 300;
GitReset git_reset = 301;
GitCommitDetails git_commit_details = 302;
SetIndexText set_index_text = 299; // current max
}
@ -1800,12 +1803,14 @@ message Entry {
message RepositoryEntry {
uint64 work_directory_id = 1;
optional string branch = 2;
optional string branch = 2; // deprecated
optional Branch branch_summary = 6;
repeated StatusEntry updated_statuses = 3;
repeated string removed_statuses = 4;
repeated string current_merge_conflicts = 5;
}
message StatusEntry {
string repo_path = 1;
// Can be removed once collab's min version is >=0.171.0.
@ -2615,10 +2620,26 @@ message ActiveToolchainResponse {
optional Toolchain toolchain = 1;
}
message CommitSummary {
string sha = 1;
string subject = 2;
int64 commit_timestamp = 3;
}
message Branch {
bool is_head = 1;
string name = 2;
optional uint64 unix_timestamp = 3;
optional GitUpstream upstream = 4;
optional CommitSummary most_recent_commit = 5;
}
message GitUpstream {
string ref_name = 1;
optional UpstreamTracking tracking = 2;
}
message UpstreamTracking {
uint64 ahead = 1;
uint64 behind = 2;
}
message GitBranches {
@ -2639,6 +2660,33 @@ message UpdateGitBranch {
message GetPanicFiles {
}
message GitShow {
uint64 project_id = 1;
uint64 worktree_id = 2;
uint64 work_directory_id = 3;
string commit = 4;
}
message GitCommitDetails {
string sha = 1;
string message = 2;
int64 commit_timestamp = 3;
string committer_email = 4;
string committer_name = 5;
}
message GitReset {
uint64 project_id = 1;
uint64 worktree_id = 2;
uint64 work_directory_id = 3;
string commit = 4;
ResetMode mode = 5;
enum ResetMode {
SOFT = 0;
MIXED = 1;
}
}
message GetPanicFilesResponse {
repeated string file_contents = 2;
}

View file

@ -440,6 +440,9 @@ messages!(
(SyncExtensionsResponse, Background),
(InstallExtension, Background),
(RegisterBufferWithLanguageServers, Background),
(GitReset, Background),
(GitShow, Background),
(GitCommitDetails, Background),
(SetIndexText, Background),
);
@ -574,6 +577,8 @@ request_messages!(
(SyncExtensions, SyncExtensionsResponse),
(InstallExtension, Ack),
(RegisterBufferWithLanguageServers, Ack),
(GitShow, GitCommitDetails),
(GitReset, Ack),
(SetIndexText, Ack),
);
@ -667,6 +672,8 @@ entity_messages!(
GetPathMetadata,
CancelLanguageServerWork,
RegisterBufferWithLanguageServers,
GitShow,
GitReset,
SetIndexText,
);