Solving a conflict

pmeunier
Feb 23, 2023, 7:30 AM
ZFSIT55UO5CEMMNAARCEXHK5INIXZUSPTT4OQUVGBO67EAGR6PVQC

Dependencies

  • [2] 3QXUJMZD More detailed display of conflicts
  • [3] GQTC4TJA show first line of change message in conflict markers
  • [4] GA3P7FOM Nicer conflict markers
  • [5] 7GQSGIV5 Fixing conflict identifiers (some nested conflicts were wrong)
  • [6] YXAVFTPP Allowing vertex buffer to use references to the transaction, by changing `output::output` to take an ArcTxn<T> instead of a simple T
  • [7] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).

Change contents

  • replacement in libpijul/src/vertex_buffer.rs at line 165
    [4.221091][2.734:796]()
    changes: side.iter().cloned().cloned().collect(),
    [4.221091]
    [2.796]
    changes: sides.iter().flat_map(|(_, b)| b.iter()).cloned().cloned().collect(),
  • replacement in libpijul/src/vertex_buffer.rs at line 179
    [4.221363][2.861:926]()
    changes: add_del.iter().cloned().cloned().collect(),
    [4.221363]
    [2.926]
    changes: add_del.iter().flat_map(|(_, b)| b.iter()).cloned().cloned().collect(),
  • edit in libpijul/src/vertex_buffer.rs at line 193
    [3.2765][3.2765:2996]()
    }
    }
    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 194
    [4.221703][2.1041:1133]()
    fn conflict_next(&mut self, id_: usize, side: &[&Hash]) -> Result<(), std::io::Error> {
    [4.221703]
    [2.1133]
    fn conflict_next<C: ChangeStore>(&mut self, id_: usize, sides: Option<(&C, &[&Hash])>) -> Result<(), std::io::Error> {
  • replacement in libpijul/src/vertex_buffer.rs at line 198
    [2.1306][2.1306:1368]()
    changes.extend(side.into_iter().cloned())
    [2.1306]
    [2.1368]
    changes.extend(sides.into_iter().flat_map(|(_, b)| b.into_iter()).cloned())
  • replacement in libpijul/src/vertex_buffer.rs at line 201
    [2.1473][2.1473:1535]()
    changes.extend(side.into_iter().cloned())
    [2.1473]
    [2.1535]
    changes.extend(sides.into_iter().flat_map(|(_, b)| b.into_iter()).cloned())
  • replacement in libpijul/src/vertex_buffer.rs at line 204
    [2.1640][2.1640:1702]()
    changes.extend(side.into_iter().cloned())
    [2.1640]
    [2.1702]
    changes.extend(sides.into_iter().flat_map(|(_, b)| b.into_iter()).cloned())
  • replacement in libpijul/src/vertex_buffer.rs at line 209
    [2.1772][2.1772:1830]()
    self.output_conflict_marker(SEPARATOR, id_, side)
    [2.1772]
    [2.1830]
    self.output_conflict_marker(SEPARATOR, id_, sides)
  • edit in libpijul/src/vertex_buffer.rs at line 213
    [4.221706]
    [4.221706]
    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(),
    }
    }
  • edit in libpijul/src/alive/output.rs at line 66
    [2.7397][2.7397:7456](),[4.5956][3.5727:5810](),[4.5956][3.5727:5810]()
    line_buf.begin_conflict(id, &[&ext])?;
    line_buf.begin_conflict(id, Some((changes, &[&ext.into()])))?;
  • resolve order conflict in libpijul/src/alive/output.rs at line 66
    [2.7397]
  • edit in libpijul/src/alive/output.rs at line 66
    [0.893]
    [4.6022]
    line_buf.begin_conflict(id, Some((changes, &[&ext])))?;
  • edit in libpijul/src/alive/output.rs at line 69
    [4.6063]
    [3.5811]
    std::mem::drop(channel);
    std::mem::drop(txn);
  • edit in libpijul/src/alive/output.rs at line 88
    [2.7685][2.7685:7751](),[4.6529][3.5934:6024](),[4.6529][3.5934:6024]()
    line_buf.conflict_next(elt.id, &[&ext])?;
    line_buf.conflict_next(elt.id, Some((changes, &[&ext.into()])))?;
  • resolve order conflict in libpijul/src/alive/output.rs at line 88
    [2.7685]
  • edit in libpijul/src/alive/output.rs at line 88
    [0.1058]
    [4.6599]
    line_buf.conflict_next(elt.id, Some((changes, &[&ext])))?;
  • edit in libpijul/src/alive/output.rs at line 283
    [4.6063][2.7457:7543](),[4.6063][2.7457:7543]()
    std::mem::drop(channel);
    std::mem::drop(txn);
  • resolve order conflict in libpijul/src/alive/output.rs at line 283
    [4.995154]