Getting rid of edge validation, which does not work for zombie conflicts

[?]
Nov 25, 2020, 12:17 PM
43AJ37IXON6PMMYRZM6OB2MJXPYCNIWW2XBDVNBXIRH5DD7JDTVQC

Dependencies

  • [2] BAUL3WR2 Format, versions, README
  • [3] I52XSRUH Massive cleanup, and simplification
  • [4] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).

Change contents

  • edit in libpijul/src/unrecord/mod.rs at line 301
    [4.240684][4.240684:240757]()
    let mut f = |h, from, to, flag| changes.has_edge(h, from, to, flag);
  • edit in libpijul/src/unrecord/mod.rs at line 305
    [4.240968][4.240968:240988]()
    &mut f,
  • edit in libpijul/src/apply.rs at line 47
    [4.945713][4.945713:945917]()
    apply_change_to_channel(
    |h, from, to, flag| changes.has_edge(h, from, to, flag),
    txn,
    &mut channel,
    internal,
    &hash,
    &change,
    workspace,
    )
  • edit in libpijul/src/apply.rs at line 47
    [4.945713]
    [4.945917]
    apply_change_to_channel(txn, &mut channel, internal, &hash, &change, workspace)
  • edit in libpijul/src/apply.rs at line 89
    [4.947384][4.947384:947698]()
    apply_change_to_channel(
    |h, from, to, flag| changes.has_edge(h, from, to, flag),
    txn,
    &mut channel,
    internal,
    &hash,
    &change,
    workspace,
    )?;
  • edit in libpijul/src/apply.rs at line 89
    [4.947384]
    [4.947698]
    apply_change_to_channel(txn, &mut channel, internal, &hash, &change, workspace)?;
  • edit in libpijul/src/apply.rs at line 125
    [4.948511][4.948511:948727]()
    fn apply_change_to_channel<
    T: MutTxnT,
    F: FnMut(
    Hash,
    Position<Option<Hash>>,
    Position<Option<Hash>>,
    EdgeFlags,
    ) -> Result<bool, anyhow::Error>,
    >(
    mut changes: F,
  • edit in libpijul/src/apply.rs at line 125
    [4.948511]
    [4.948727]
    fn apply_change_to_channel<T: MutTxnT>(
  • edit in libpijul/src/apply.rs at line 152
    [4.949732][4.949732:949778]()
    &mut changes,
  • edit in libpijul/src/apply.rs at line 174
    [4.950554][4.950554:950600]()
    &mut changes,
  • edit in libpijul/src/apply.rs at line 213
    [4.952104][4.952104:952159]()
    // org id 7IPbKRayK1ey50vdV6FP2KOmzRGn2tCT3qapFICvlNc=
  • edit in libpijul/src/apply.rs at line 213
    [4.952104]
    [4.952159]
  • edit in libpijul/src/apply.rs at line 227
    [4.952701][4.952701:952760]()
    // org id GEylov+bdcaQUmngYlibUCe0K6dMYx9lmeEmNPGCFUQ=
  • edit in libpijul/src/apply.rs at line 230
    [3.67381][4.952912:953210](),[4.952912][4.952912:953210]()
    // org id O9lNVqhAbRqj2tE6JW0Ax8U3WSetv22rYrSXHQlT78A=
    let n = apply_change_to_channel(
    |_, _, _, _| Ok(true),
    txn,
    &mut channel,
    internal,
    &hash,
    &change,
    workspace,
    )?;
    // org id w0Bu10TO1Kbn1WbRcFHyU/0xBR4Yi61jj66D/1uiicM=
  • edit in libpijul/src/apply.rs at line 230
    [3.67381]
    [4.953210]
    let n = apply_change_to_channel(txn, &mut channel, internal, &hash, &change, workspace)?;
  • edit in libpijul/src/apply.rs at line 524
    [4.962732][4.962732:962794]()
    pub(crate) fn put_newedge<T, C, F>(
    mut validate_edge: C,
  • edit in libpijul/src/apply.rs at line 524
    [4.962732]
    [4.962794]
    pub(crate) fn put_newedge<T, F>(
  • edit in libpijul/src/apply.rs at line 535
    [4.963026][4.963026:963175]()
    C: FnMut(
    Hash,
    Position<Option<Hash>>,
    Position<Option<Hash>>,
    EdgeFlags,
    ) -> Result<bool, anyhow::Error>,
  • edit in libpijul/src/apply.rs at line 594
    [4.965236][4.965236:965517](),[4.965517][2.453:526](),[2.526][4.965589:965631](),[4.965589][4.965589:965631]()
    if !del {
    if let Some(intro) = n.introduced_by {
    // Check that the edge actually existed at some point.
    if !validate_edge(intro, n.from, n.to.start_pos(), n.previous)? {
    debug!("edge doesn't exist: {:?}", n);
    return Err(crate::Error::InconsistentChange.into());
    }
    }
    }