Skip to content

Commit 49dd543

Browse files
authored
Merge pull request #4839 from gitbutlerapp/rm-vb-actions-struct
Remove unnecessary VirtualBranchActions struct
2 parents 32d766c + 95e946b commit 49dd543

35 files changed

+2330
-2395
lines changed

crates/gitbutler-branch-actions/src/actions.rs

Lines changed: 458 additions & 546 deletions
Large diffs are not rendered by default.

crates/gitbutler-branch-actions/src/branch_manager/branch_creation.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use std::borrow::Cow;
22

3+
use crate::r#virtual as vbranch;
34
use anyhow::{anyhow, bail, Context, Result};
45
use gitbutler_branch::{self, dedup, Branch, BranchCreateRequest, BranchId, BranchOwnershipClaims};
56
use gitbutler_commit::commit_headers::HasCommitHeaders;
@@ -14,10 +15,9 @@ use tracing::instrument;
1415
use super::BranchManager;
1516
use crate::{
1617
conflicts::{self, RepoConflictsExt},
17-
ensure_selected_for_changes,
1818
hunk::VirtualBranchHunk,
1919
integration::update_workspace_commit,
20-
set_ownership, undo_commit, VirtualBranchesExt,
20+
VirtualBranchesExt,
2121
};
2222

2323
impl BranchManager<'_> {
@@ -118,7 +118,8 @@ impl BranchManager<'_> {
118118
};
119119

120120
if let Some(ownership) = &create.ownership {
121-
set_ownership(&vb_state, &mut branch, ownership).context("failed to set ownership")?;
121+
vbranch::set_ownership(&vb_state, &mut branch, ownership)
122+
.context("failed to set ownership")?;
122123
}
123124

124125
vb_state.set_branch(branch.clone())?;
@@ -489,7 +490,8 @@ impl BranchManager<'_> {
489490
// apply the branch
490491
vb_state.set_branch(branch.clone())?;
491492

492-
ensure_selected_for_changes(&vb_state).context("failed to ensure selected for changes")?;
493+
vbranch::ensure_selected_for_changes(&vb_state)
494+
.context("failed to ensure selected for changes")?;
493495
// checkout the merge index
494496
repo.checkout_index_builder(&mut merge_index)
495497
.force()
@@ -505,7 +507,7 @@ impl BranchManager<'_> {
505507

506508
if let Some(headers) = potential_wip_commit.gitbutler_headers() {
507509
if headers.change_id == wip_commit_to_unapply {
508-
undo_commit(self.ctx, branch.id, branch.head)?;
510+
vbranch::undo_commit(self.ctx, branch.id, branch.head)?;
509511
}
510512
}
511513

crates/gitbutler-branch-actions/src/branch_manager/branch_removal.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@ use gitbutler_repo::{RepoActionsExt, RepositoryExt};
1111
use tracing::instrument;
1212

1313
use super::BranchManager;
14+
use crate::r#virtual as vbranch;
1415
use crate::{
1516
conflicts::{self},
16-
ensure_selected_for_changes, get_applied_status,
17+
get_applied_status,
1718
hunk::VirtualBranchHunk,
1819
VirtualBranchesExt,
1920
};
@@ -47,7 +48,8 @@ impl BranchManager<'_> {
4748
vb_state.update_ordering()?;
4849

4950
// Ensure we still have a default target
50-
ensure_selected_for_changes(&vb_state).context("failed to ensure selected for changes")?;
51+
vbranch::ensure_selected_for_changes(&vb_state)
52+
.context("failed to ensure selected for changes")?;
5153

5254
crate::integration::update_workspace_commit(&vb_state, self.ctx)?;
5355

@@ -132,7 +134,8 @@ impl BranchManager<'_> {
132134

133135
self.ctx.delete_branch_reference(&branch)?;
134136

135-
ensure_selected_for_changes(&vb_state).context("failed to ensure selected for changes")?;
137+
vbranch::ensure_selected_for_changes(&vb_state)
138+
.context("failed to ensure selected for changes")?;
136139

137140
Ok(())
138141
}

crates/gitbutler-branch-actions/src/lib.rs

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,27 @@
11
//! GitButler internal library containing functionality related to branches, i.e. the virtual branches implementation
22
mod actions;
3-
pub use actions::VirtualBranchActions;
3+
// This is our API
4+
pub use actions::{
5+
amend, can_apply_remote_branch, convert_to_real_branch, create_change_reference, create_commit,
6+
create_virtual_branch, create_virtual_branch_from_branch, delete_local_branch,
7+
delete_virtual_branch, fetch_from_remotes, get_base_branch_data, get_remote_branch_data,
8+
get_uncommited_files, get_uncommited_files_reusable, insert_blank_commit,
9+
integrate_upstream_commits, list_local_branches, list_remote_commit_files,
10+
list_virtual_branches, list_virtual_branches_cached, move_commit, move_commit_file,
11+
push_change_reference, push_virtual_branch, reorder_commit, reset_files, reset_virtual_branch,
12+
set_base_branch, set_target_push_remote, squash, unapply_ownership, undo_commit,
13+
update_base_branch, update_branch_order, update_change_reference, update_commit_message,
14+
update_virtual_branch,
15+
};
416

517
mod r#virtual;
6-
pub use r#virtual::*;
18+
pub use r#virtual::{BranchStatus, VirtualBranch, VirtualBranchHunksByPathMap, VirtualBranches};
19+
/// Avoid using these!
20+
/// This was previously `pub use r#virtual::*;`
21+
pub mod internal {
22+
pub use super::r#virtual::*;
23+
pub use super::remote::list_local_branches;
24+
}
725

826
mod branch_manager;
927
pub use branch_manager::{BranchManager, BranchManagerExt};
@@ -18,7 +36,7 @@ mod file;
1836
pub use file::{Get, RemoteBranchFile};
1937

2038
mod remote;
21-
pub use remote::{list_local_branches, RemoteBranch, RemoteBranchData, RemoteCommit};
39+
pub use remote::{RemoteBranch, RemoteBranchData, RemoteCommit};
2240

2341
pub mod conflicts;
2442

0 commit comments

Comments
 (0)