diff --git a/examples/custom-command/main.rs b/examples/custom-command/main.rs index 0606a3796..e9c3ccf2b 100644 --- a/examples/custom-command/main.rs +++ b/examples/custom-command/main.rs @@ -43,7 +43,7 @@ fn run(ui: &mut Ui) -> Result<(), CommandError> { let commit = workspace_command.resolve_single_rev(&args.revision)?; let mut tx = workspace_command.start_transaction("Frobnicate"); let new_commit = CommitBuilder::for_rewrite_from(ui.settings(), &commit) - .set_description("Frobnicated!".to_string()) + .set_description("Frobnicated!") .write_to_repo(tx.mut_repo()); workspace_command.finish_transaction(ui, tx)?; writeln!( diff --git a/lib/src/commit_builder.rs b/lib/src/commit_builder.rs index 099a6bd08..5b0ba064a 100644 --- a/lib/src/commit_builder.rs +++ b/lib/src/commit_builder.rs @@ -97,8 +97,8 @@ impl CommitBuilder { self } - pub fn set_description(mut self, description: String) -> Self { - self.commit.description = description; + pub fn set_description(mut self, description: impl Into) -> Self { + self.commit.description = description.into(); self } diff --git a/lib/tests/test_mut_repo.rs b/lib/tests/test_mut_repo.rs index 9a435e2c8..d8e5d159d 100644 --- a/lib/tests/test_mut_repo.rs +++ b/lib/tests/test_mut_repo.rs @@ -133,7 +133,7 @@ fn test_checkout_previous_empty_with_description(use_git: bool) { vec![repo.store().root_commit_id().clone()], repo.store().empty_tree_id().clone(), ) - .set_description("not empty".to_string()) + .set_description("not empty") .write_to_repo(mut_repo); let ws_id = WorkspaceId::default(); mut_repo.edit(ws_id.clone(), &old_checkout).unwrap(); diff --git a/lib/tests/test_operations.rs b/lib/tests/test_operations.rs index 6d5a42803..4f7ba0dee 100644 --- a/lib/tests/test_operations.rs +++ b/lib/tests/test_operations.rs @@ -152,11 +152,11 @@ fn test_isolation(use_git: bool) { assert_heads(mut_repo2.as_repo_ref(), vec![initial.id()]); let rewrite1 = CommitBuilder::for_rewrite_from(&settings, &initial) - .set_description("rewrite1".to_string()) + .set_description("rewrite1") .write_to_repo(mut_repo1); mut_repo1.rebase_descendants(&settings).unwrap(); let rewrite2 = CommitBuilder::for_rewrite_from(&settings, &initial) - .set_description("rewrite2".to_string()) + .set_description("rewrite2") .write_to_repo(mut_repo2); mut_repo2.rebase_descendants(&settings).unwrap(); diff --git a/lib/tests/test_revset.rs b/lib/tests/test_revset.rs index 91f05dd71..51fc9e744 100644 --- a/lib/tests/test_revset.rs +++ b/lib/tests/test_revset.rs @@ -1500,15 +1500,15 @@ fn test_evaluate_expression_description(use_git: bool) { let mut_repo = tx.mut_repo(); let commit1 = create_random_commit(&settings, repo) - .set_description("commit 1".to_string()) + .set_description("commit 1") .write_to_repo(mut_repo); let commit2 = create_random_commit(&settings, repo) .set_parents(vec![commit1.id().clone()]) - .set_description("commit 2".to_string()) + .set_description("commit 2") .write_to_repo(mut_repo); let commit3 = create_random_commit(&settings, repo) .set_parents(vec![commit2.id().clone()]) - .set_description("commit 3".to_string()) + .set_description("commit 3") .write_to_repo(mut_repo); // Can find multiple matches diff --git a/lib/tests/test_rewrite.rs b/lib/tests/test_rewrite.rs index 63682e4b7..2857f66d6 100644 --- a/lib/tests/test_rewrite.rs +++ b/lib/tests/test_rewrite.rs @@ -793,7 +793,7 @@ fn test_rebase_descendants_repeated(use_git: bool) { let commit_c = graph_builder.commit_with_parents(&[&commit_b]); let commit_b2 = CommitBuilder::for_rewrite_from(&settings, &commit_b) - .set_description("b2".to_string()) + .set_description("b2") .write_to_repo(tx.mut_repo()); let mut rebaser = tx.mut_repo().create_descendant_rebaser(&settings); let commit_c2 = assert_rebased(rebaser.rebase_next().unwrap(), &commit_c, &[&commit_b2]); @@ -814,7 +814,7 @@ fn test_rebase_descendants_repeated(use_git: bool) { // Now mark B3 as rewritten from B2 and rebase descendants again. let commit_b3 = CommitBuilder::for_rewrite_from(&settings, &commit_b2) - .set_description("b3".to_string()) + .set_description("b3") .write_to_repo(tx.mut_repo()); let mut rebaser = tx.mut_repo().create_descendant_rebaser(&settings); let commit_c3 = assert_rebased(rebaser.rebase_next().unwrap(), &commit_c2, &[&commit_b3]); @@ -1094,11 +1094,11 @@ fn test_rebase_descendants_update_branches_after_divergent_rewrite() { CommitBuilder::for_rewrite_from(&settings, &commit_b).write_to_repo(tx.mut_repo()); // Different description so they're not the same commit let commit_b3 = CommitBuilder::for_rewrite_from(&settings, &commit_b) - .set_description("different".to_string()) + .set_description("different") .write_to_repo(tx.mut_repo()); // Different description so they're not the same commit let commit_b4 = CommitBuilder::for_rewrite_from(&settings, &commit_b) - .set_description("more different".to_string()) + .set_description("more different") .write_to_repo(tx.mut_repo()); tx.mut_repo().rebase_descendants(&settings).unwrap(); assert_eq!( @@ -1151,13 +1151,13 @@ fn test_rebase_descendants_rewrite_updates_branch_conflict() { CommitBuilder::for_rewrite_from(&settings, &commit_a).write_to_repo(tx.mut_repo()); // Different description so they're not the same commit let commit_a3 = CommitBuilder::for_rewrite_from(&settings, &commit_a) - .set_description("different".to_string()) + .set_description("different") .write_to_repo(tx.mut_repo()); let commit_b2 = CommitBuilder::for_rewrite_from(&settings, &commit_b).write_to_repo(tx.mut_repo()); // Different description so they're not the same commit let commit_b3 = CommitBuilder::for_rewrite_from(&settings, &commit_b) - .set_description("different".to_string()) + .set_description("different") .write_to_repo(tx.mut_repo()); tx.mut_repo().rebase_descendants(&settings).unwrap(); assert_eq!( @@ -1291,7 +1291,7 @@ fn test_rebase_descendants_update_checkout(use_git: bool) { let mut tx = repo.start_transaction(&settings, "test"); let commit_c = CommitBuilder::for_rewrite_from(&settings, &commit_b) - .set_description("C".to_string()) + .set_description("C") .write_to_repo(tx.mut_repo()); tx.mut_repo().rebase_descendants(&settings).unwrap(); let repo = tx.commit(); diff --git a/lib/tests/test_view.rs b/lib/tests/test_view.rs index e8ac272e0..ef462e4c0 100644 --- a/lib/tests/test_view.rs +++ b/lib/tests/test_view.rs @@ -464,13 +464,13 @@ fn test_merge_views_divergent() { let mut tx1 = repo.start_transaction(&settings, "test"); let commit_a2 = CommitBuilder::for_rewrite_from(&settings, &commit_a) - .set_description("A2".to_string()) + .set_description("A2") .write_to_repo(tx1.mut_repo()); tx1.mut_repo().rebase_descendants(&settings).unwrap(); let mut tx2 = repo.start_transaction(&settings, "test"); let commit_a3 = CommitBuilder::for_rewrite_from(&settings, &commit_a) - .set_description("A3".to_string()) + .set_description("A3") .write_to_repo(tx2.mut_repo()); tx2.mut_repo().rebase_descendants(&settings).unwrap(); @@ -502,7 +502,7 @@ fn test_merge_views_child_on_rewritten(child_first: bool) { let mut tx2 = repo.start_transaction(&settings, "test"); let commit_a2 = CommitBuilder::for_rewrite_from(&settings, &commit_a) - .set_description("A2".to_string()) + .set_description("A2") .write_to_repo(tx2.mut_repo()); tx2.mut_repo().rebase_descendants(&settings).unwrap(); @@ -548,7 +548,7 @@ fn test_merge_views_child_on_rewritten_divergent(on_rewritten: bool, child_first let mut tx2 = repo.start_transaction(&settings, "test"); let commit_a4 = CommitBuilder::for_rewrite_from(&settings, &commit_a2) - .set_description("A4".to_string()) + .set_description("A4") .write_to_repo(tx2.mut_repo()); tx2.mut_repo().rebase_descendants(&settings).unwrap(); diff --git a/src/commands.rs b/src/commands.rs index 08749c318..721d68d34 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -1186,7 +1186,7 @@ fn cmd_checkout( vec![target.id().clone()], target.tree_id().clone(), ) - .set_description(args.message.clone()); + .set_description(&args.message); let new_commit = commit_builder.write_to_repo(tx.mut_repo()); tx.mut_repo().edit(workspace_id, &new_commit).unwrap(); workspace_command.finish_transaction(ui, tx)?; @@ -2032,7 +2032,7 @@ fn cmd_new(ui: &mut Ui, command: &CommandHelper, args: &NewArgs) -> Result<(), C let merged_tree = merge_commit_trees(workspace_command.repo().as_repo_ref(), &commits); let new_commit = CommitBuilder::for_new_commit(ui.settings(), parent_ids, merged_tree.id().clone()) - .set_description(args.message.clone()) + .set_description(&args.message) .write_to_repo(tx.mut_repo()); let workspace_id = workspace_command.workspace_id(); tx.mut_repo().edit(workspace_id, &new_commit).unwrap();