@@ -7,6 +7,7 @@ pub mod Commands;
77pub mod Configuration ;
88pub mod Extensions ;
99pub mod FileSystem ;
10+ pub mod Git ;
1011pub mod Model ;
1112pub mod NativeHost ;
1213pub mod Navigation ;
@@ -1656,6 +1657,47 @@ pub async fn mountain_ipc_invoke(app_handle:AppHandle, command:String, args:Vec<
16561657 } ,
16571658 "workspaces:getDirtyWorkspaces" => Ok ( json ! ( [ ] ) ) ,
16581659
1660+ // Git (localGit channel) - implements stock VS Code's
1661+ // ILocalGitService surface plus `exec` / `isAvailable` for
1662+ // the built-in Git extension. Handlers spawn native `git`
1663+ // via tokio::process. See Batch 4 in HANDOFF §-10.
1664+ "git:exec" => {
1665+ dev_log ! ( "git" , "git:exec" ) ;
1666+ Git :: HandleExec ( args) . await
1667+ } ,
1668+ "git:clone" => {
1669+ dev_log ! ( "git" , "git:clone" ) ;
1670+ Git :: HandleClone ( args) . await
1671+ } ,
1672+ "git:pull" => {
1673+ dev_log ! ( "git" , "git:pull" ) ;
1674+ Git :: HandlePull ( args) . await
1675+ } ,
1676+ "git:checkout" => {
1677+ dev_log ! ( "git" , "git:checkout" ) ;
1678+ Git :: HandleCheckout ( args) . await
1679+ } ,
1680+ "git:revParse" => {
1681+ dev_log ! ( "git" , "git:revParse" ) ;
1682+ Git :: HandleRevParse ( args) . await
1683+ } ,
1684+ "git:fetch" => {
1685+ dev_log ! ( "git" , "git:fetch" ) ;
1686+ Git :: HandleFetch ( args) . await
1687+ } ,
1688+ "git:revListCount" => {
1689+ dev_log ! ( "git" , "git:revListCount" ) ;
1690+ Git :: HandleRevListCount ( args) . await
1691+ } ,
1692+ "git:cancel" => {
1693+ dev_log ! ( "git" , "git:cancel" ) ;
1694+ Git :: HandleCancel ( args) . await
1695+ } ,
1696+ "git:isAvailable" => {
1697+ dev_log ! ( "git" , "git:isAvailable" ) ;
1698+ Git :: HandleIsAvailable ( args) . await
1699+ } ,
1700+
16591701 // Atom L2: unknown-command fallback consults the Channel registry so
16601702 // the log distinguishes three states:
16611703 // 1. typo / never-registered wire string (registry::from_str Err)
0 commit comments