mirror of
https://github.com/martinvonz/jj.git
synced 2025-02-07 04:51:45 +00:00
merge tools: use MergedTree::diff_stream()
This commit is contained in:
parent
602b44258e
commit
5b02987012
2 changed files with 10 additions and 5 deletions
|
@ -2,6 +2,7 @@ use std::borrow::Cow;
|
|||
use std::path::Path;
|
||||
use std::sync::Arc;
|
||||
|
||||
use futures::{StreamExt, TryStreamExt};
|
||||
use itertools::Itertools;
|
||||
use jj_lib::backend::{BackendError, FileId, MergedTreeId, ObjectId, TreeValue};
|
||||
use jj_lib::diff::{find_line_ranges, Diff, DiffHunk};
|
||||
|
@ -11,6 +12,7 @@ use jj_lib::merge::Merge;
|
|||
use jj_lib::merged_tree::{MergedTree, MergedTreeBuilder};
|
||||
use jj_lib::repo_path::RepoPath;
|
||||
use jj_lib::store::Store;
|
||||
use pollster::FutureExt;
|
||||
use thiserror::Error;
|
||||
|
||||
#[derive(Debug, Error)]
|
||||
|
@ -409,9 +411,10 @@ pub fn edit_diff_builtin(
|
|||
) -> Result<MergedTreeId, BuiltinToolError> {
|
||||
let store = left_tree.store().clone();
|
||||
let changed_files: Vec<_> = left_tree
|
||||
.diff(right_tree, matcher)
|
||||
.diff_stream(right_tree, matcher)
|
||||
.map(|(path, diff)| diff.map(|_| path))
|
||||
.try_collect()?;
|
||||
.try_collect()
|
||||
.block_on()?;
|
||||
let files = make_diff_files(&store, left_tree, right_tree, &changed_files)?;
|
||||
let recorder = scm_record::Recorder::new(
|
||||
scm_record::RecordState {
|
||||
|
|
|
@ -6,6 +6,7 @@ use std::process::{Command, ExitStatus, Stdio};
|
|||
use std::sync::Arc;
|
||||
|
||||
use config::ConfigError;
|
||||
use futures::StreamExt;
|
||||
use itertools::Itertools;
|
||||
use jj_lib::backend::{FileId, MergedTreeId, TreeValue};
|
||||
use jj_lib::conflicts::{self, materialize_merge_result};
|
||||
|
@ -238,10 +239,11 @@ fn check_out_trees(
|
|||
matcher: &dyn Matcher,
|
||||
output_is: Option<DiffSide>,
|
||||
) -> Result<DiffWorkingCopies, DiffCheckoutError> {
|
||||
let changed_files = left_tree
|
||||
.diff(right_tree, matcher)
|
||||
let changed_files: Vec<_> = left_tree
|
||||
.diff_stream(right_tree, matcher)
|
||||
.map(|(path, _diff)| path)
|
||||
.collect_vec();
|
||||
.collect()
|
||||
.block_on();
|
||||
|
||||
let temp_dir = new_utf8_temp_dir("jj-diff-").map_err(DiffCheckoutError::SetUpDir)?;
|
||||
let left_wc_dir = temp_dir.path().join("left");
|
||||
|
|
Loading…
Reference in a new issue