mirror of
https://github.com/martinvonz/jj.git
synced 2025-05-16 20:54:27 +00:00
view: extract remove_remote() from git module
This will be just self.data.remote_views.remove(remote_name), so I'm not gonna refactor the implementation at this point.
This commit is contained in:
parent
1d3c830e85
commit
198dfa5cbe
@ -841,12 +841,7 @@ pub fn remove_remote(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn remove_remote_refs(mut_repo: &mut MutableRepo, remote_name: &str) {
|
fn remove_remote_refs(mut_repo: &mut MutableRepo, remote_name: &str) {
|
||||||
let mut branches_to_delete = vec![];
|
mut_repo.remove_remote(remote_name);
|
||||||
for (branch, target) in mut_repo.view().branches() {
|
|
||||||
if target.remote_targets.contains_key(remote_name) {
|
|
||||||
branches_to_delete.push(branch.clone());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
let prefix = format!("refs/remotes/{remote_name}/");
|
let prefix = format!("refs/remotes/{remote_name}/");
|
||||||
let git_refs_to_delete = mut_repo
|
let git_refs_to_delete = mut_repo
|
||||||
.view()
|
.view()
|
||||||
@ -855,9 +850,6 @@ fn remove_remote_refs(mut_repo: &mut MutableRepo, remote_name: &str) {
|
|||||||
.filter(|&r| r.starts_with(&prefix))
|
.filter(|&r| r.starts_with(&prefix))
|
||||||
.cloned()
|
.cloned()
|
||||||
.collect_vec();
|
.collect_vec();
|
||||||
for branch in branches_to_delete {
|
|
||||||
mut_repo.set_remote_branch_target(&branch, remote_name, RefTarget::absent());
|
|
||||||
}
|
|
||||||
for git_ref in git_refs_to_delete {
|
for git_ref in git_refs_to_delete {
|
||||||
mut_repo.set_git_ref_target(&git_ref, RefTarget::absent());
|
mut_repo.set_git_ref_target(&git_ref, RefTarget::absent());
|
||||||
}
|
}
|
||||||
|
@ -1007,6 +1007,10 @@ impl MutableRepo {
|
|||||||
.set_remote_branch_target(name, remote_name, target);
|
.set_remote_branch_target(name, remote_name, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn remove_remote(&mut self, remote_name: &str) {
|
||||||
|
self.view_mut().remove_remote(remote_name);
|
||||||
|
}
|
||||||
|
|
||||||
pub fn rename_remote(&mut self, old: &str, new: &str) {
|
pub fn rename_remote(&mut self, old: &str, new: &str) {
|
||||||
self.view_mut().rename_remote(old, new);
|
self.view_mut().rename_remote(old, new);
|
||||||
}
|
}
|
||||||
|
@ -272,6 +272,18 @@ impl View {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn remove_remote(&mut self, remote_name: &str) {
|
||||||
|
let mut branches_to_delete = vec![];
|
||||||
|
for (branch, target) in &self.data.branches {
|
||||||
|
if target.remote_targets.contains_key(remote_name) {
|
||||||
|
branches_to_delete.push(branch.clone());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for branch in branches_to_delete {
|
||||||
|
self.remove_remote_branch(&branch, remote_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn rename_remote(&mut self, old: &str, new: &str) {
|
pub fn rename_remote(&mut self, old: &str, new: &str) {
|
||||||
for branch in self.data.branches.values_mut() {
|
for branch in self.data.branches.values_mut() {
|
||||||
let target = branch.remote_targets.remove(old).flatten();
|
let target = branch.remote_targets.remove(old).flatten();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user