Improving the UI around zombie conflicts

[?]
May 11, 2021, 10:26 AM
Z6FWHKCAGF5MJCIG327JK7SYXQ53KM2UVGVE3QL64KDVOUPKQ3HQC

Dependencies

  • [2] BD5PC25A Deleting conflict resolution vertices when the sides are deleted
  • [3] WZY73P6T Fixing a bug in the recording of zombie conflict resolutions
  • [4] NA5I4WYN Fixing the inverse of conflict resolutions
  • [5] 3AMEP2Y5 More convenient interface for channels
  • [6] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [7] VO5OQW4W Removing anyhow in libpijul
  • [8] CCLLB7OI Upgrading to Sanakirja 0.15 + version bump
  • [9] GHO6DWPI Refactoring iterators

Change contents

  • replacement in libpijul/src/vertex_buffer.rs at line 36
    [4.5665][4.218668:218716](),[4.218668][4.218668:218716]()
    self.output_conflict_marker(END_MARKER)
    [4.5665]
    [4.218716]
    self.end_conflict()
  • replacement in libpijul/src/diff/mod.rs at line 114
    [4.796567][4.796567:796653]()
    debug!("pos = {:?}", d.pos_a);
    debug!("{:?} {:?}", lines_a, lines_b);
    [4.796567]
    [4.796653]
    trace!("pos = {:?}", d.pos_a);
    trace!("{:?} {:?}", lines_a, lines_b);
  • edit in libpijul/src/diff/delete.rs at line 197
    [4.812149]
    [4.812149]
    let mut level = 0;
  • replacement in libpijul/src/diff/delete.rs at line 200
    [4.812233][4.812233:812328]()
    Some(&ConflictMarker::Next) => result = true,
    Some(_) => return false,
    [4.812233]
    [4.812328]
    Some(&ConflictMarker::Next) if level == 0 => result = true,
    Some(&ConflictMarker::Begin) => level += 1,
    Some(&ConflictMarker::End) if level > 0 => level -= 1,
  • edit in libpijul/src/diff/delete.rs at line 288
    [2.2084]
    [4.814786]
    debug!("{:#?}", d);
  • replacement in libpijul/src/diff/delete.rs at line 302
    [4.815274][3.0:138]()
    let pos = bytes_pos(lines_a, d[r].old) + bytes_len(lines_a, d[r].old, d[r].old_len);
    pos.min(solved_conflict_end)
    [4.815274]
    [4.815340]
    bytes_pos(lines_a, d[r].old).min(solved_conflict_end)
  • replacement in libpijul/src/diff/delete.rs at line 309
    [4.815580][3.187:264]()
    || (i + 1 < diff.pos_a.len() && diff.pos_a[i + 1].pos < pos)
    [4.815580]
    [4.815658]
    || (i + 1 < diff.pos_a.len() && diff.pos_a[i + 1].pos <= pos)
  • edit in libpijul/src/alive/output.rs at line 30
    [4.989204]
    [4.989204]
    let mut is_zombie = false;
  • edit in libpijul/src/alive/output.rs at line 55
    [4.990237]
    [4.990237]
    if is_zombie {
    is_zombie = false;
    line_buf.end_zombie_conflict()?;
    }
  • replacement in libpijul/src/alive/output.rs at line 64
    [4.990469][4.990469:990549]()
    output_scc(changes, txn, graph, &sccs[scc], line_buf)?;
    [4.990469]
    [4.990549]
    output_scc(changes, txn, graph, &sccs[scc], &mut is_zombie, line_buf)?;
  • edit in libpijul/src/alive/output.rs at line 85
    [4.991266]
    [4.991266]
    if is_zombie {
    is_zombie = false;
    line_buf.end_zombie_conflict()?;
    }
  • edit in libpijul/src/alive/output.rs at line 92
    [4.991339]
    [4.991339]
    if is_zombie {
    is_zombie = false;
    line_buf.end_zombie_conflict()?;
    }
  • edit in libpijul/src/alive/output.rs at line 99
    [4.991416]
    [4.991416]
    }
    if is_zombie {
    line_buf.end_zombie_conflict()?;
  • edit in libpijul/src/alive/output.rs at line 162
    [4.993063]
    [4.993063]
    is_zombie: &mut bool,
  • replacement in libpijul/src/alive/output.rs at line 171
    [4.993305][4.993305:993348]()
    vbuf.begin_zombie_conflict()?;
    [4.993305]
    [4.993348]
    if !*is_zombie {
    *is_zombie = true;
    vbuf.begin_zombie_conflict()?;
    }
    } else if *is_zombie {
    *is_zombie = false;
    vbuf.end_zombie_conflict()?;
  • edit in libpijul/src/alive/output.rs at line 200
    [4.993872][4.993872:993968]()
    if graph[v].flags.contains(Flags::ZOMBIE) {
    vbuf.end_conflict()?;
    }