diff options
Diffstat (limited to 'crates/vcs_actions/src/actions')
| -rw-r--r-- | crates/vcs_actions/src/actions/track_action.rs | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/crates/vcs_actions/src/actions/track_action.rs b/crates/vcs_actions/src/actions/track_action.rs index a67480c..63c1b67 100644 --- a/crates/vcs_actions/src/actions/track_action.rs +++ b/crates/vcs_actions/src/actions/track_action.rs @@ -28,9 +28,12 @@ use vcs_data::{ }, }; -use crate::actions::{ - auth_member, check_connection_instance, get_current_sheet_name, try_get_local_workspace, - try_get_vault, +use crate::{ + actions::{ + auth_member, check_connection_instance, get_current_sheet_name, try_get_local_output, + try_get_local_workspace, try_get_vault, + }, + local_println, }; pub type NextVersion = String; @@ -404,9 +407,14 @@ async fn proc_create_tasks_local( print_infos: bool, ) -> Result<CreateTaskResult, TcpTargetError> { let workspace = try_get_local_workspace(ctx)?; + let local_output = try_get_local_output(ctx)?; let mut mut_instance = instance.lock().await; let mut local_sheet = workspace.local_sheet(member_id, sheet_name).await?; + if print_infos && relative_paths.len() > 0 { + local_println!(local_output, "Creating {} files...", relative_paths.len()); + } + // Wait for remote detection of whether the sheet exists let has_sheet = mut_instance.read_msgpack::<bool>().await?; if !has_sheet { @@ -458,7 +466,7 @@ async fn proc_create_tasks_local( // Print success info if print_infos { - println!("+ {}", path.display()); + local_println!(local_output, "+ {}", path.display()); } success_relative_pathes.push(path); @@ -545,11 +553,16 @@ async fn proc_update_tasks_local( file_update_info: HashMap<PathBuf, (NextVersion, UpdateDescription)>, ) -> Result<UpdateTaskResult, TcpTargetError> { let workspace = try_get_local_workspace(ctx)?; + let local_output = try_get_local_output(ctx)?; let mut mut_instance = instance.lock().await; let mut local_sheet = workspace.local_sheet(member_id, sheet_name).await?; let mut success = Vec::new(); + if print_infos && relative_paths.len() > 0 { + local_println!(local_output, "Updating {} files...", relative_paths.len()); + } + for path in relative_paths.iter() { let Ok(mapping) = local_sheet.mapping_data(path) else { // Is mapping not found, write empty @@ -616,7 +629,13 @@ async fn proc_update_tasks_local( // Print success info if print_infos { - println!("↑ {} ({} -> {})", path.display(), version, next_version); + local_println!( + local_output, + "↑ {} ({} -> {})", + path.display(), + version, + next_version + ); } } } @@ -777,9 +796,14 @@ async fn proc_sync_tasks_local( print_infos: bool, ) -> Result<SyncTaskResult, TcpTargetError> { let workspace = try_get_local_workspace(ctx)?; + let local_output = try_get_local_output(ctx)?; let mut mut_instance = instance.lock().await; let mut success: Vec<PathBuf> = Vec::new(); + if print_infos && relative_paths.len() > 0 { + local_println!(local_output, "Syncing {} files...", relative_paths.len()); + } + for path in relative_paths { let Some((version, description, vfid)) = mut_instance.read_msgpack::<SyncVersionInfo>().await? @@ -880,7 +904,7 @@ async fn proc_sync_tasks_local( // Print success info if print_infos { - println!("↓ {}", path.display()); + local_println!(local_output, "↓ {}", path.display()); } } Ok(SyncTaskResult::Success(success)) |
