− if self.untracked {
− serde_json::to_writer_pretty(
− &mut std::io::stdout(),
− &untracked(&repo, &*txn)?.collect::<Vec<_>>(),
− )?;
− writeln!(stdout)?;
− } else {
− let mut changes = BTreeMap::new();
− for ch in change.changes.iter() {
− changes
− .entry(ch.path())
− .or_insert_with(Vec::new)
− .push(Status {
− operation: match ch {
− Hunk::FileMove { .. } => "file move",
− Hunk::FileDel { .. } => "file del",
− Hunk::FileUndel { .. } => "file undel",
− Hunk::SolveNameConflict { .. } => "solve name conflict",
− Hunk::UnsolveNameConflict { .. } => "unsolve name conflict",
− Hunk::FileAdd { .. } => "file add",
− Hunk::Edit { .. } => "edit",
− Hunk::Replacement { .. } => "replacement",
− Hunk::SolveOrderConflict { .. } => "solve order conflict",
− Hunk::UnsolveOrderConflict { .. } => "unsolve order conflict",
− Hunk::ResurrectZombies { .. } => "resurrect zombies",
− },
− line: ch.line(),
− });
− }
− serde_json::to_writer_pretty(&mut std::io::stdout(), &changes)?;
− writeln!(stdout)?;
+ let mut changes = BTreeMap::new();
+ for ch in change.changes.iter() {
+ changes
+ .entry(ch.path())
+ .or_insert_with(Vec::new)
+ .push(Status {
+ operation: match ch {
+ Hunk::FileMove { .. } => "file move",
+ Hunk::FileDel { .. } => "file del",
+ Hunk::FileUndel { .. } => "file undel",
+ Hunk::SolveNameConflict { .. } => "solve name conflict",
+ Hunk::UnsolveNameConflict { .. } => "unsolve name conflict",
+ Hunk::FileAdd { .. } => "file add",
+ Hunk::Edit { .. } => "edit",
+ Hunk::Replacement { .. } => "replacement",
+ Hunk::SolveOrderConflict { .. } => "solve order conflict",
+ Hunk::UnsolveOrderConflict { .. } => "unsolve order conflict",
+ Hunk::ResurrectZombies { .. } => "resurrect zombies",
+ },
+ line: ch.line(),
+ });