replacement in pijul/src/commands/credit.rs at line 7
[3.1431]→[3.178808:178851](∅→∅),
[3.178808]→[3.178808:178851](∅→∅) − use libpijul::vertex_buffer::VertexBuffer;
+ use libpijul::changestore::ChangeStore;
+ use libpijul::vertex_buffer::{change_message, VertexBuffer};
replacement in pijul/src/commands/credit.rs at line 162
− fn output_conflict_marker(
+ fn output_conflict_marker<C: ChangeStore>(
replacement in pijul/src/commands/credit.rs at line 166
+ sides: Option<(&C, &[&Hash])>,
replacement in pijul/src/commands/credit.rs at line 172
[3.249]→[3.249:370](∅→∅),
[3.97]→[3.182846:182856](∅→∅),
[3.370]→[3.182846:182856](∅→∅),
[3.182846]→[3.182846:182856](∅→∅) − for side in sides {
− let h = side.to_base32();
− write!(self.w, " [{}]", h.split_at(8).0)?;
− }
+ match sides {
+ Some((changes, sides)) => {
+ for side in sides.into_iter() {
+ let h = side.to_base32();
+ write!(
+ self.w,
+ " [{} {}]",
+ h.split_at(8).0,
+ change_message(changes, side)
+ )?;
+ }
+ }
+ None => (),
+ };
replacement in libpijul/src/vertex_buffer.rs at line 1
[3.217258]→[3.217258:217282](∅→∅) − use crate::pristine::*;
+ use crate::{changestore::ChangeStore, pristine::*};
replacement in libpijul/src/vertex_buffer.rs at line 19
[3.217953]→[3.660:691](∅→∅) − fn output_conflict_marker(
+ fn output_conflict_marker<C: ChangeStore>(
replacement in libpijul/src/vertex_buffer.rs at line 23
+ sides: Option<(&C, &[&Hash])>,
replacement in libpijul/src/vertex_buffer.rs at line 25
− fn begin_conflict(&mut self, id: usize, side: &[&Hash]) -> Result<(), std::io::Error> {
+ fn begin_conflict<C: ChangeStore>(
+ &mut self,
+ id: usize,
+ side: Option<(&C, &[&Hash])>,
+ ) -> Result<(), std::io::Error> {
replacement in libpijul/src/vertex_buffer.rs at line 32
[3.218153]→[3.961:991](∅→∅) − fn begin_zombie_conflict(
+ fn begin_zombie_conflict<C: ChangeStore>(
replacement in libpijul/src/vertex_buffer.rs at line 35
[3.1029]→[3.1029:1056](∅→∅) + add_del: Option<(&C, &[&Hash])>,
replacement in libpijul/src/vertex_buffer.rs at line 39
[3.218260]→[3.1158:1300](∅→∅) − fn begin_cyclic_conflict(&mut self, id: usize) -> Result<(), std::io::Error> {
− self.output_conflict_marker(START_MARKER, id, &[])
+ fn begin_cyclic_conflict<C: ChangeStore>(&mut self, id: usize) -> Result<(), std::io::Error> {
+ self.output_conflict_marker::<C>(START_MARKER, id, None)
replacement in libpijul/src/vertex_buffer.rs at line 42
[3.218367]→[3.1301:1392](∅→∅) − fn conflict_next(&mut self, id: usize, side: &[&Hash]) -> Result<(), std::io::Error> {
+ fn conflict_next<C: ChangeStore>(
+ &mut self,
+ id: usize,
+ side: Option<(&C, &[&Hash])>,
+ ) -> Result<(), std::io::Error> {
replacement in libpijul/src/vertex_buffer.rs at line 49
[3.218483]→[3.1450:1581](∅→∅) − fn end_conflict(&mut self, id: usize) -> Result<(), std::io::Error> {
− self.output_conflict_marker(END_MARKER, id, &[])
+ fn end_conflict<C: ChangeStore>(&mut self, id: usize) -> Result<(), std::io::Error> {
+ self.output_conflict_marker::<C>(END_MARKER, id, None)
replacement in libpijul/src/vertex_buffer.rs at line 52
[3.218599]→[3.1582:1693](∅→∅) − fn end_zombie_conflict(&mut self, id: usize) -> Result<(), std::io::Error> {
− self.end_conflict(id)
+ fn end_zombie_conflict<C: ChangeStore>(&mut self, id: usize) -> Result<(), std::io::Error> {
+ self.end_conflict::<C>(id)
replacement in libpijul/src/vertex_buffer.rs at line 55
[3.218722]→[3.1694:1832](∅→∅) − fn end_cyclic_conflict(&mut self, id: usize) -> Result<(), std::io::Error> {
− self.output_conflict_marker(END_MARKER, id, &[])
+ fn end_cyclic_conflict<C: ChangeStore>(&mut self, id: usize) -> Result<(), std::io::Error> {
+ self.output_conflict_marker::<C>(END_MARKER, id, None)
replacement in libpijul/src/vertex_buffer.rs at line 115
[3.220451]→[3.1833:1864](∅→∅) − fn output_conflict_marker(
+ fn output_conflict_marker<C: ChangeStore>(
replacement in libpijul/src/vertex_buffer.rs at line 119
[3.1919]→[3.1919:1944](∅→∅) + sides: Option<(&C, &[&Hash])>,
replacement in libpijul/src/vertex_buffer.rs at line 130
[3.2115]→[3.2115:2236](∅→∅),
[3.195]→[3.220833:220843](∅→∅),
[3.2236]→[3.220833:220843](∅→∅),
[3.220833]→[3.220833:220843](∅→∅) − for side in sides {
− let h = side.to_base32();
− write!(self.w, " [{}]", h.split_at(8).0)?;
− }
+ match sides {
+ Some((changes, sides)) => {
+ for side in sides {
+ let h = side.to_base32();
+ write!(
+ self.w,
+ " [{} {}]",
+ h.split_at(8).0,
+ change_message(changes, side)
+ )?;
+ }
+ }
+ None => (),
+ };
replacement in libpijul/src/vertex_buffer.rs at line 149
[3.220895]→[3.2272:2364](∅→∅) − fn begin_conflict(&mut self, id: usize, side: &[&Hash]) -> Result<(), std::io::Error> {
+ fn begin_conflict<C: ChangeStore>(
+ &mut self,
+ id: usize,
+ sides: Option<(&C, &[&Hash])>,
+ ) -> Result<(), std::io::Error> {
replacement in libpijul/src/vertex_buffer.rs at line 158
[3.221103]→[3.2365:2425](∅→∅) − self.output_conflict_marker(START_MARKER, id, side)
+ self.output_conflict_marker(START_MARKER, id, sides)
replacement in libpijul/src/vertex_buffer.rs at line 160
[3.221159]→[3.2426:2456](∅→∅) − fn begin_zombie_conflict(
+ fn begin_zombie_conflict<C: ChangeStore>(
replacement in libpijul/src/vertex_buffer.rs at line 163
[3.2494]→[3.2494:2521](∅→∅) + add_del: Option<(&C, &[&Hash])>,
replacement in libpijul/src/vertex_buffer.rs at line 171
[3.221431]→[3.2624:2707](∅→∅) − fn begin_cyclic_conflict(&mut self, id: usize) -> Result<(), std::io::Error> {
+ fn begin_cyclic_conflict<C: ChangeStore>(&mut self, id: usize) -> Result<(), std::io::Error> {
replacement in libpijul/src/vertex_buffer.rs at line 176
[3.221647]→[3.2708:2767](∅→∅) − self.output_conflict_marker(START_MARKER, id, &[])
+ self.output_conflict_marker::<C>(START_MARKER, id, None)
+ }
+ }
+
+ pub fn change_message<C: ChangeStore>(changes: &C, hash: &Hash) -> String {
+ match changes.get_header(hash) {
+ Ok(header) => header.message.lines().next().unwrap().to_string(),
+ Err(_e) => "".to_string(),
replacement in libpijul/src/vertex_buffer.rs at line 240
[3.222923]→[3.2768:2799](∅→∅) − fn output_conflict_marker(
+ fn output_conflict_marker<C: ChangeStore>(
replacement in libpijul/src/vertex_buffer.rs at line 244
[3.2854]→[3.2854:2879](∅→∅) + sides: Option<(&C, &[&Hash])>,
replacement in libpijul/src/vertex_buffer.rs at line 251
[3.3007]→[3.3007:3128](∅→∅),
[3.293]→[3.223247:223257](∅→∅),
[3.3128]→[3.223247:223257](∅→∅),
[3.223247]→[3.223247:223257](∅→∅) − for side in sides {
− let h = side.to_base32();
− write!(self.w, " [{}]", h.split_at(8).0)?;
− }
+ match sides {
+ Some((changes, sides)) => {
+ for side in sides {
+ let h = side.to_base32();
+ write!(
+ self.w,
+ " [{} {}]",
+ h.split_at(8).0,
+ change_message(changes, side)
+ )?;
+ }
+ }
+ None => (),
+ };
replacement in libpijul/src/vertex_buffer.rs at line 269
[3.223279]→[3.3164:3256](∅→∅) − fn begin_conflict(&mut self, id: usize, side: &[&Hash]) -> Result<(), std::io::Error> {
+ fn begin_conflict<C: ChangeStore>(
+ &mut self,
+ id: usize,
+ side: Option<(&C, &[&Hash])>,
+ ) -> Result<(), std::io::Error> {
replacement in libpijul/src/vertex_buffer.rs at line 276
[3.223399]→[3.3317:3391](∅→∅) − fn end_conflict(&mut self, id: usize) -> Result<(), std::io::Error> {
+ fn end_conflict<C: ChangeStore>(&mut self, id: usize) -> Result<(), std::io::Error> {
replacement in libpijul/src/vertex_buffer.rs at line 278
[3.166]→[3.3392:3449](∅→∅) − self.output_conflict_marker(END_MARKER, id, &[])
+ self.output_conflict_marker::<C>(END_MARKER, id, None)
replacement in libpijul/src/vertex_buffer.rs at line 280
[3.220]→[3.3450:3480](∅→∅) − fn begin_zombie_conflict(
+ fn begin_zombie_conflict<C: ChangeStore>(
replacement in libpijul/src/vertex_buffer.rs at line 283
[3.3518]→[3.3518:3545](∅→∅) + add_del: Option<(&C, &[&Hash])>,
replacement in libpijul/src/vertex_buffer.rs at line 292
[3.370]→[3.3652:3733](∅→∅) − fn end_zombie_conflict(&mut self, id: usize) -> Result<(), std::io::Error> {
+ fn end_zombie_conflict<C: ChangeStore>(&mut self, id: usize) -> Result<(), std::io::Error> {
replacement in libpijul/src/vertex_buffer.rs at line 294
[3.472]→[3.3734:3791](∅→∅) − self.output_conflict_marker(END_MARKER, id, &[])
+ self.output_conflict_marker::<C>(END_MARKER, id, None)
replacement in libpijul/src/vertex_buffer.rs at line 296
[3.223526]→[3.3792:3934](∅→∅) − fn begin_cyclic_conflict(&mut self, id: usize) -> Result<(), std::io::Error> {
− self.output_conflict_marker(START_MARKER, id, &[])
+ fn begin_cyclic_conflict<C: ChangeStore>(&mut self, id: usize) -> Result<(), std::io::Error> {
+ self.output_conflict_marker::<C>(START_MARKER, id, None)
edit in libpijul/src/diff/vertex_buffer.rs at line 1
+ use crate::changestore::ChangeStore;
edit in libpijul/src/diff/vertex_buffer.rs at line 4
+ use crate::vertex_buffer::change_message;
replacement in libpijul/src/diff/vertex_buffer.rs at line 157
[3.32714]→[3.3935:4027](∅→∅) − fn begin_conflict(&mut self, id: usize, side: &[&Hash]) -> Result<(), std::io::Error> {
+ fn begin_conflict<C: ChangeStore>(
+ &mut self,
+ id: usize,
+ side: Option<(&C, &[&Hash])>,
+ ) -> Result<(), std::io::Error> {
replacement in libpijul/src/diff/vertex_buffer.rs at line 166
[3.774324]→[3.4104:4187](∅→∅) − fn begin_cyclic_conflict(&mut self, id: usize) -> Result<(), std::io::Error> {
+ fn begin_cyclic_conflict<C: ChangeStore>(&mut self, id: usize) -> Result<(), std::io::Error> {
replacement in libpijul/src/diff/vertex_buffer.rs at line 170
[3.774541]→[3.4188:4262](∅→∅) − self.output_conflict_marker(vertex_buffer::START_MARKER, id, &[])
+ self.output_conflict_marker::<C>(vertex_buffer::START_MARKER, id, None)
replacement in libpijul/src/diff/vertex_buffer.rs at line 173
[3.774613]→[3.4263:4293](∅→∅) − fn begin_zombie_conflict(
+ fn begin_zombie_conflict<C: ChangeStore>(
replacement in libpijul/src/diff/vertex_buffer.rs at line 176
[3.4331]→[3.4331:4358](∅→∅) + add_del: Option<(&C, &[&Hash])>,
replacement in libpijul/src/diff/vertex_buffer.rs at line 182
[3.32927]→[3.4476:4550](∅→∅) − fn end_conflict(&mut self, id: usize) -> Result<(), std::io::Error> {
+ fn end_conflict<C: ChangeStore>(&mut self, id: usize) -> Result<(), std::io::Error> {
replacement in libpijul/src/diff/vertex_buffer.rs at line 191
[3.775223]→[3.4551:4625](∅→∅) − self.output_conflict_marker(vertex_buffer::END_MARKER, id, &[])?;
+ self.output_conflict_marker::<C>(vertex_buffer::END_MARKER, id, None)?;
replacement in libpijul/src/diff/vertex_buffer.rs at line 198
[3.775540]→[3.4626:4707](∅→∅) − fn end_cyclic_conflict(&mut self, id: usize) -> Result<(), std::io::Error> {
+ fn end_cyclic_conflict<C: ChangeStore>(&mut self, id: usize) -> Result<(), std::io::Error> {
replacement in libpijul/src/diff/vertex_buffer.rs at line 200
[3.775648]→[3.4708:4740](∅→∅) − self.end_conflict(id)?;
+ self.end_conflict::<C>(id)?;
replacement in libpijul/src/diff/vertex_buffer.rs at line 205
[3.33063]→[3.4741:4832](∅→∅) − fn conflict_next(&mut self, id: usize, side: &[&Hash]) -> Result<(), std::io::Error> {
+ fn conflict_next<C: ChangeStore>(
+ &mut self,
+ id: usize,
+ side: Option<(&C, &[&Hash])>,
+ ) -> Result<(), std::io::Error> {
replacement in libpijul/src/diff/vertex_buffer.rs at line 222
[3.33129]→[3.4906:4937](∅→∅) − fn output_conflict_marker(
+ fn output_conflict_marker<C: ChangeStore>(
replacement in libpijul/src/diff/vertex_buffer.rs at line 226
[3.4997]→[3.4997:5022](∅→∅) + sides: Option<(&C, &[&Hash])>,
replacement in libpijul/src/diff/vertex_buffer.rs at line 243
[3.5318]→[3.5318:5458](∅→∅) − for side in sides {
− let h = side.to_base32();
− write!(self.contents_a, " [{}]", h.split_at(8).0)?;
− }
+ match sides {
+ Some((changes, sides)) => {
+ for side in sides {
+ let h = side.to_base32();
+ write!(
+ self.contents_a,
+ " [{} {}]",
+ h.split_at(8).0,
+ change_message(changes, side)
+ )?;
+ }
+ }
+ None => (),
+ };
replacement in libpijul/src/alive/output.rs at line 64
[3.5956]→[3.5956:6022](∅→∅) − line_buf.begin_conflict(id, &[&ext.into()])?;
+ line_buf.begin_conflict(id, Some((changes, &[&ext.into()])))?;
replacement in libpijul/src/alive/output.rs at line 67
[3.6063]→[3.6063:6118](∅→∅) − line_buf.begin_conflict(id, &[])?;
+ line_buf.begin_conflict::<P>(id, None)?;
replacement in libpijul/src/alive/output.rs at line 76
[3.6225]→[3.6225:6280](∅→∅) − line_buf.end_zombie_conflict(id)?;
+ line_buf.end_zombie_conflict::<P>(id)?;
replacement in libpijul/src/alive/output.rs at line 83
− line_buf.conflict_next(elt.id, &[&ext.into()])?;
+ line_buf.conflict_next(elt.id, Some((changes, &[&ext.into()])))?;
replacement in libpijul/src/alive/output.rs at line 86
[3.6648]→[2.106:168](∅→∅) − line_buf.conflict_next(elt.id, &[])?;
+ line_buf.conflict_next::<P>(elt.id, None)?;
replacement in libpijul/src/alive/output.rs at line 125
[3.7130]→[3.7130:7185](∅→∅) − line_buf.end_zombie_conflict(id)?;
+ line_buf.end_zombie_conflict::<P>(id)?;
replacement in libpijul/src/alive/output.rs at line 127
− line_buf.end_conflict(elt.id)?;
+ line_buf.end_conflict::<P>(elt.id)?;
replacement in libpijul/src/alive/output.rs at line 131
[3.7281]→[3.7281:7332](∅→∅) − line_buf.end_zombie_conflict(id)?;
+ line_buf.end_zombie_conflict::<P>(id)?;
replacement in libpijul/src/alive/output.rs at line 138
[3.7374]→[3.7374:7417](∅→∅) − line_buf.end_zombie_conflict(id)?;
+ line_buf.end_zombie_conflict::<P>(id)?;
replacement in libpijul/src/alive/output.rs at line 205
[3.993137]→[3.7500:7542](∅→∅) − vbuf.begin_cyclic_conflict(*id)?;
+ vbuf.begin_cyclic_conflict::<P>(*id)?;
replacement in libpijul/src/alive/output.rs at line 215
[3.7718]→[3.7718:7785](∅→∅) − vbuf.begin_zombie_conflict(*id, &[&hash.into()])?;
+ vbuf.begin_zombie_conflict(*id, Some((changes, &[&hash.into()])))?;
replacement in libpijul/src/alive/output.rs at line 219
[3.7863]→[3.7863:7906](∅→∅) − vbuf.end_zombie_conflict(id)?;
+ vbuf.end_zombie_conflict::<P>(id)?;
replacement in libpijul/src/alive/output.rs at line 246
[3.994106]→[3.7907:7953](∅→∅) − vbuf.end_cyclic_conflict(id_cyclic)?;
+ vbuf.end_cyclic_conflict::<P>(id_cyclic)?;