From 62fb555e18c79ee69b96bbf8737cb81c580c0ce8 Mon Sep 17 00:00:00 2001 From: Cole Miller Date: Thu, 27 Feb 2025 18:45:56 -0500 Subject: [PATCH] Use "restore" more consistently in the git panel (#25780) This PR replaces almost all uses of "discard" in the git panel UI with "restore", since that's the verb we settled on for the project diff. The only exception is in the confirmation prompt for restoring files, where I've kept the "discard changes" language. I think consistency is less important here and it's helpful to rephrase the action that's being taken to emphasize that it's destructive. Release Notes: - N/A --- crates/git_ui/src/git_panel.rs | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/crates/git_ui/src/git_panel.rs b/crates/git_ui/src/git_panel.rs index 1b28ee0c7efd9c94c57c6f1bbac62952366c84bf..d59714c44729b033965c7eba3b4d50b515fb5ebb 100644 --- a/crates/git_ui/src/git_panel.rs +++ b/crates/git_ui/src/git_panel.rs @@ -842,7 +842,7 @@ impl GitPanel { .detach(); } - fn discard_tracked_changes( + fn restore_tracked_files( &mut self, _: &RestoreTrackedFiles, window: &mut Window, @@ -872,8 +872,8 @@ impl GitPanel { #[derive(strum::EnumIter, strum::VariantNames)] #[strum(serialize_all = "title_case")] - enum DiscardCancel { - DiscardTrackedChanges, + enum RestoreCancel { + RestoreTrackedFiles, Cancel, } let prompt = prompt( @@ -884,7 +884,7 @@ impl GitPanel { ); cx.spawn(|this, mut cx| async move { match prompt.await { - Ok(DiscardCancel::DiscardTrackedChanges) => { + Ok(RestoreCancel::RestoreTrackedFiles) => { this.update(&mut cx, |this, cx| { let repo_paths = entries.into_iter().map(|entry| entry.repo_path).collect(); this.perform_checkout(repo_paths, cx); @@ -2386,17 +2386,15 @@ impl GitPanel { } else { "Stage File" }; - let revert_title = if entry.status.is_deleted() { - "Restore file" - } else if entry.status.is_created() { - "Trash file" + let restore_title = if entry.status.is_created() { + "Trash File" } else { - "Discard changes" + "Restore File" }; let context_menu = ContextMenu::build(window, cx, |context_menu, _, _| { context_menu .action(stage_title, ToggleStaged.boxed_clone()) - .action(revert_title, git::RestoreFile.boxed_clone()) + .action(restore_title, git::RestoreFile.boxed_clone()) .separator() .action("Open Diff", Confirm.boxed_clone()) .action("Open File", SecondaryConfirm.boxed_clone()) @@ -2413,7 +2411,7 @@ impl GitPanel { .separator() .action("Open Diff", project_diff::Diff.boxed_clone()) .separator() - .action("Discard Tracked Changes", RestoreTrackedFiles.boxed_clone()) + .action("Restore Tracked Files", RestoreTrackedFiles.boxed_clone()) .action("Trash Untracked Files", TrashUntrackedFiles.boxed_clone()) }) } @@ -2697,7 +2695,7 @@ impl Render for GitPanel { .on_action(cx.listener(Self::toggle_staged_for_selected)) .on_action(cx.listener(Self::stage_all)) .on_action(cx.listener(Self::unstage_all)) - .on_action(cx.listener(Self::discard_tracked_changes)) + .on_action(cx.listener(Self::restore_tracked_files)) .on_action(cx.listener(Self::clean_all)) .on_action(cx.listener(Self::fetch)) .on_action(cx.listener(Self::pull))