feat(git): add tag management and cherry-pick workflow
This update extends the Git backend and UI to support listing, creating, deleting, and pushing tags. It also adds cherry-pick commands with proper in-progress detection and conflict handling, and prevents other operations while a cherry-pick is active. - Add GitTag model, tag listing, and tag CRUD/push commands - Implement cherry-pick start/continue/abort with status tracking - Update UI to display tags and gate actions during cherry-pick
This commit is contained in:
+16
-8
@@ -6,16 +6,17 @@ mod git;
|
||||
use badge::set_sync_badge;
|
||||
use git::{
|
||||
SearchCancellationState, apply_file_patch, cancel_code_search, cancel_file_history,
|
||||
checkout_branch, clone_repository, commit, commit_ai_generate, commit_ai_load,
|
||||
commit_ai_local_models, commit_ai_status, compare_commits, compare_file_to_head,
|
||||
compare_file_to_parent, create_branch, cred_delete, cred_load, cred_save, delete_branch,
|
||||
checkout_branch, cherry_pick_abort, cherry_pick_commit, cherry_pick_continue,
|
||||
clone_repository, commit, commit_ai_generate, commit_ai_load, commit_ai_local_models,
|
||||
commit_ai_status, compare_commits, compare_file_to_head, compare_file_to_parent,
|
||||
create_branch, create_tag, cred_delete, cred_load, cred_save, delete_branch, delete_tag,
|
||||
diff_file_against_working_tree, fetch, get_file_patch, get_remote_url, get_status,
|
||||
list_branches, list_commits, list_file_history, list_repository_files, list_stashes,
|
||||
merge_branch, open_repo_in_explorer, open_repository, open_repository_bundle,
|
||||
open_repository_file, pull, push, read_conflict, rebase_abort, rebase_branch, rebase_continue,
|
||||
rename_branch, resolve_conflict, resolve_conflict_side, restore_file_from_commit,
|
||||
restore_files, restore_to_commit, search_code_introductions, stage_files, stash_apply,
|
||||
stash_drop, stash_pop, stash_push, unstage_files,
|
||||
list_tags, merge_branch, open_repo_in_explorer, open_repository, open_repository_bundle,
|
||||
open_repository_file, pull, push, push_tag, read_conflict, rebase_abort, rebase_branch,
|
||||
rebase_continue, rename_branch, resolve_conflict, resolve_conflict_side,
|
||||
restore_file_from_commit, restore_files, restore_to_commit, search_code_introductions,
|
||||
stage_files, stash_apply, stash_drop, stash_pop, stash_push, unstage_files,
|
||||
};
|
||||
|
||||
fn main() {
|
||||
@@ -36,6 +37,13 @@ fn main() {
|
||||
create_branch,
|
||||
rename_branch,
|
||||
delete_branch,
|
||||
list_tags,
|
||||
create_tag,
|
||||
delete_tag,
|
||||
push_tag,
|
||||
cherry_pick_commit,
|
||||
cherry_pick_continue,
|
||||
cherry_pick_abort,
|
||||
stage_files,
|
||||
unstage_files,
|
||||
stash_push,
|
||||
|
||||
Reference in New Issue
Block a user