From 9d6020fab05fa9a511eee579bb487fbef9947d3f Mon Sep 17 00:00:00 2001 From: Yuya Nishihara Date: Sun, 25 Jun 2023 19:55:52 +0900 Subject: [PATCH] cli: move "(deleted)" branch labeling to caller It only applies to local branches, and None doesn't always mean deleted as we have pseudo "git" remote. --- src/commands/branch.rs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/commands/branch.rs b/src/commands/branch.rs index efd7f55c7..5c4cf1c8e 100644 --- a/src/commands/branch.rs +++ b/src/commands/branch.rs @@ -295,15 +295,15 @@ fn cmd_branch_list( } let print_branch_target = - |formatter: &mut dyn Formatter, target: Option<&RefTarget>| -> Result<(), CommandError> { + |formatter: &mut dyn Formatter, target: &RefTarget| -> Result<(), CommandError> { match target { - Some(RefTarget::Normal(id)) => { + RefTarget::Normal(id) => { write!(formatter, ": ")?; let commit = repo.store().get_commit(id)?; workspace_command.write_commit_summary(formatter, &commit)?; writeln!(formatter)?; } - Some(RefTarget::Conflict { removes, adds }) => { + RefTarget::Conflict { removes, adds } => { write!(formatter, " ")?; write!(formatter.labeled("conflict"), "(conflicted)")?; writeln!(formatter, ":")?; @@ -320,9 +320,6 @@ fn cmd_branch_list( writeln!(formatter)?; } } - None => { - writeln!(formatter, " (deleted)")?; - } } Ok(()) }; @@ -332,7 +329,11 @@ fn cmd_branch_list( for (name, branch_target) in all_branches { write!(formatter.labeled("branch"), "{name}")?; - print_branch_target(formatter, branch_target.local_target.as_ref())?; + if let Some(target) = branch_target.local_target.as_ref() { + print_branch_target(formatter, target)?; + } else { + writeln!(formatter, " (deleted)")?; + } let mut found_non_git_remote = false; for (remote, remote_target) in branch_target.remote_targets.iter() { @@ -363,7 +364,7 @@ fn cmd_branch_list( )?; } } - print_branch_target(formatter, Some(remote_target))?; + print_branch_target(formatter, remote_target)?; } if found_non_git_remote && branch_target.local_target.is_none() { writeln!(