C4MJ7D7QCOFGIHQSDV3UC76DTSE5M7JSLGN5MROMSVKFVQRFSP5QC
E7UUQQCCX2WSVOSMO4OWCJFFU7RGQKQ4TRBBICVM52K7ATTHYNSAC
EUZFFJSOWV4PXDFFPDAFBHFUUMOFEU6ST7JH57YYRRR2SEOXLN6QC
I24UEJQLCH2SOXA4UHIYWTRDCHSOPU7AFTRUOTX7HZIAV4AZKYEQC
SXEYMYF7P4RZMZ46WPL4IZUTSQ2ATBWYZX7QNVMS3SGOYXYOHAGQC
2RXOCWUWOGHEKHT5W73LAHJSOZVRTOGS7BWLSIGEEEBJGMCZBXQAC
V435QOJRFHNKW3NKJHMVMFOGO3KGAZVSURLSGFUHVKOMHMF4Q2ZQC
2D7P2VKJASU7QDQZHGCLBIT6G2V5WUFYLWTCEVVEI2EZHGM6XYRAC
MU5GSJAW65PEG3BRYUKZ7O37BPHW3MOX3S5E2RFOXKGUOJEEDQ5AC
SLJ3OHD4F6GJGZ3SV2D7DMR3PXYHPSI64X77KZ3RJ24EGEX6ZNQAC
Y6EVFMTA6FOH3OQH6QCSWMI3F6SYZT2FSHO6GF4M3ICENDCWFM4QC
MDADYULS5AWVMTJDGYCGNQTN6T7XJDRUBDTFILDY5MLF6I2PE5NAC
LGEJSLTYI7Y2CYC3AN6ECMT3D3MTWCAKZPVQEG5MPM2OBW5FQ46AC
CCLLB7OIFNFYJZTG3UCI7536TOCWSCSXR67VELSB466R24WLJSDAC
YCEZL7VFBZNOZTSSI24D36ACJVZKXCCEOIFWIHQWK22QPB4PDTRAC
libpijul::output::output_repository_no_pending(
&repo.working_copy,
&repo.changes,
&txn,
&channel,
&path,
true,
None,
num_cpus::get(),
0,
)?;
conflicts.extend(
libpijul::output::output_repository_no_pending(
&repo.working_copy,
&repo.changes,
&txn,
&channel,
&path,
true,
None,
num_cpus::get(),
0,
)?
.into_iter(),
);
libpijul::output::output_repository_no_pending(
&repo.working_copy,
&repo.changes,
&txn,
&channel,
"",
true,
None,
num_cpus::get(),
0,
)?;
conflicts.extend(
libpijul::output::output_repository_no_pending(
&repo.working_copy,
&repo.changes,
&txn,
&channel,
"",
true,
None,
num_cpus::get(),
0,
)?
.into_iter(),
);
libpijul::output::output_repository_no_pending(
&repo.working_copy,
&repo.changes,
&txn,
&channel,
&path,
true,
None,
num_cpus::get(),
0,
)?;
conflicts.extend(
libpijul::output::output_repository_no_pending(
&repo.working_copy,
&repo.changes,
&txn,
&channel,
&path,
true,
None,
num_cpus::get(),
0,
)?
.into_iter(),
);
}
use libpijul::Conflict;
fn print_conflicts(conflicts: &[Conflict]) -> Result<(), std::io::Error> {
if conflicts.is_empty() {
return Ok(());
}
let mut w = termcolor::StandardStream::stderr(termcolor::ColorChoice::Auto);
use std::io::Write;
use termcolor::*;
w.set_color(ColorSpec::new().set_fg(Some(Color::Red)))?;
writeln!(w, "\nThere were conflicts:\n")?;
w.set_color(ColorSpec::new().set_fg(None))?;
for c in conflicts.iter() {
match c {
Conflict::Name { ref path } => writeln!(w, " - Name conflict on \"{}\"", path)?,
Conflict::ZombieFile { ref path } => {
writeln!(w, " - Path deletion conflict \"{}\"", path)?
}
Conflict::MultipleNames { ref path, .. } => {
writeln!(w, " - File has multiple names: \"{}\"", path)?
}
Conflict::Zombie { ref path, ref line } => writeln!(
w,
" - Deletion conflict in \"{}\" starting on line {}",
path, line
)?,
Conflict::Cyclic { ref path, ref line } => writeln!(
w,
" - Cycle conflict in \"{}\" starting on line {}",
path, line
)?,
Conflict::Order { ref path, ref line } => writeln!(
w,
" - Order conflict in \"{}\" starting on line {}",
path, line
)?,
}
}
Ok(())
libpijul::output::output_repository_no_pending(
&repo.working_copy,
&repo.changes,
&txn,
&channel,
&path,
true,
None,
num_cpus::get(),
0,
)?;
conflicts.extend(
libpijul::output::output_repository_no_pending(
&repo.working_copy,
&repo.changes,
&txn,
&channel,
&path,
true,
None,
num_cpus::get(),
0,
)?
.into_iter(),
);
libpijul::output::output_repository_no_pending(
&repo.working_copy,
&repo.changes,
&txn,
&channel,
"",
true,
None,
num_cpus::get(),
0,
)?;
conflicts.extend(
libpijul::output::output_repository_no_pending(
&repo.working_copy,
&repo.changes,
&txn,
&channel,
"",
true,
None,
num_cpus::get(),
0,
)?
.into_iter(),
);
Name { path: String },
ZombieFile { path: String },
MultipleNames { pos: Position<ChangeId> },
Zombie { path: String, line: usize },
Cyclic { path: String, line: usize },
Order { path: String, line: usize },
Name {
path: String,
},
ZombieFile {
path: String,
},
MultipleNames {
pos: Position<ChangeId>,
path: String,
},
Zombie {
path: String,
line: usize,
},
Cyclic {
path: String,
line: usize,
},
Order {
path: String,
line: usize,
},