jj_lib::rewrite

Function move_commits

source
pub fn move_commits(
    settings: &UserSettings,
    mut_repo: &mut MutableRepo,
    new_parent_ids: &[CommitId],
    new_children: &[Commit],
    target_commits: &[Commit],
) -> BackendResult<MoveCommitsStats>
Expand description

Moves target_commits from their current location to a new location in the graph, given by the set of new_parent_ids and new_children. The roots of target_commits are rebased onto the new parents, while the new children are rebased onto the heads of target_commits. This assumes that target_commits and new_children can be rewritten, and there will be no cycles in the resulting graph. target_commits should be in reverse topological order.