git: Add ability to clone remote repositories from Zed (#35606)

This PR adds preliminary git clone support through using the new
`GitClone` action. This works with SSH connections too.

- [x] Get backend working
- [x] Add a UI to interact with this

Future follow-ups:
- Polish the UI
- Have the path select prompt say "Select Repository clone target"
instead of “Open”
- Use Zed path prompt if the user has that as a setting
- Add support for cloning from a user's GitHub repositories directly

Release Notes:

- Add the ability to clone remote git repositories through the `git:
Clone` action

---------

Co-authored-by: hpmcdona <hayden_mcdonald@brown.edu>
This commit is contained in:
Anthony Eid 2025-08-11 11:09:38 -04:00 committed by GitHub
parent 12084b6677
commit 62270b33c2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 310 additions and 8 deletions

View file

@ -202,6 +202,16 @@ message GitInit {
string fallback_branch_name = 3;
}
message GitClone {
uint64 project_id = 1;
string abs_path = 2;
string remote_repo = 3;
}
message GitCloneResponse {
bool success = 1;
}
message CheckForPushedCommits {
uint64 project_id = 1;
reserved 2;

View file

@ -399,7 +399,10 @@ message Envelope {
GetDefaultBranchResponse get_default_branch_response = 360;
GetCrashFiles get_crash_files = 361;
GetCrashFilesResponse get_crash_files_response = 362; // current max
GetCrashFilesResponse get_crash_files_response = 362;
GitClone git_clone = 363;
GitCloneResponse git_clone_response = 364; // current max
}
reserved 87 to 88;