address clippy lints

[?]
Nov 30, 2020, 7:57 PM
WZVCLZKY34KQBQU6YBGJLQCDADBQ67LQVDNRVCMQVY3O3C3EIWSQC

Dependencies

  • [2] I52XSRUH Massive cleanup, and simplification
  • [3] H23LO7U7 a few more clippy lints addressed
  • [4] ZXTHL45O address clippy lints
  • [5] 76PCXGML Pushing to, and pulling from the local repository
  • [6] Q45QHPO4 Feedback on network stuff
  • [7] KVBLRDOU Concatenating edits with order conflict resolutions (if relevant), and parsing the text format of the result
  • [8] AEPEFS7O Write help for each argument
  • [9] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [10] UNZXTNSJ Change text format: order dependencies in the order they were on the channel at record time
  • [11] 3YDPHBAN address non-controversial clippy lints
  • [12] KDF6FJRV bigger clippy refactors
  • [13] QE64ATLZ Fixing asynchronicity problems in SSH
  • [14] KWAMD2KR A few fixes in the documentation comments
  • [15] 4H2XTVJ2 Fix some mistakes in the docs
  • [16] 74HX2XZD Cleanup and debugging
  • [17] ISQJRA3O Fixing the parsing of zombie resurrection in the change text format
  • [18] VQPAUKBQ channel switch as an alias to reset
  • [19] UDHP4ZVB Fixing SSH asynchronicity issues
  • [20] NLGQAH4H Credit and reset relative to current directory instead of the root
  • [21] BXD3IQYN Fixing --features git
  • [22] 7UPL3Y2A Unrecord: don't restore the same unrecorded file deletion twice in the inodes and tree tables

Change contents

  • replacement in pijul/src/remote/ssh.rs at line 50
    [4.26436][4.26436:26547]()
    let cap = if let Some(cap) = ADDRESS.captures(addr) {
    cap
    } else {
    return None;
    };
    [4.26436]
    [4.26547]
    let cap = ADDRESS.captures(addr)?;
  • edit in pijul/src/remote/ssh.rs at line 257
    [4.32380]
    [4.32380]
    type BoxFuture<T> = Pin<Box<dyn futures::future::Future<Output = T> + Send>>;
  • replacement in pijul/src/remote/ssh.rs at line 262
    [4.32510][4.916:1048]()
    type FutureUnit = Pin<
    Box<dyn futures::future::Future<Output = Result<(Self, Session), anyhow::Error>> + Send>,
    >;
    [4.32510]
    [4.1137]
    type FutureUnit = BoxFuture<Result<(Self, Session), anyhow::Error>>;
  • replacement in pijul/src/remote/ssh.rs at line 584
    [4.38916][4.38916:38972]()
    prefix.unwrap_or(String::new())
    [4.38916]
    [4.38972]
    prefix.unwrap_or_else(String::new)
  • replacement in pijul/src/remote/mod.rs at line 149
    [4.56556][4.56556:56659]()
    match *self {
    RemoteRepo::Ssh(ref mut s) => s.finish().await?,
    _ => {}
    [4.56556]
    [4.56659]
    if let RemoteRepo::Ssh(s) = self {
    s.finish().await?
  • replacement in pijul/src/remote/mod.rs at line 667
    [4.78008][4.78008:78205]()
    match *self {
    RemoteRepo::Ssh(ref mut s) => {
    return s.clone_channel(repo, txn, local_channel, lazy).await
    }
    _ => {}
    [4.78008]
    [4.78205]
    if let RemoteRepo::Ssh(s) = self {
    return s.clone_channel(repo, txn, local_channel, lazy).await;
  • replacement in pijul/src/commands/upgrade.rs at line 27
    [4.94167][4.94167:94247]()
    let e = channels.entry(name.to_string()).or_insert(Vec::new());
    [4.94167]
    [4.94247]
    let e = channels.entry(name.to_string()).or_insert_with(Vec::new);
  • replacement in pijul/src/commands/reset.rs at line 70
    [4.99700][4.643:727]()
    if self.channel.as_ref().map(|x| x.as_str()) == Some(current_channel) {
    [4.99700]
    [4.727]
    if self.channel.as_deref() == Some(current_channel) {
  • replacement in pijul/src/commands/record.rs at line 133
    [4.105803][4.105803:105871]()
    message: self.message.clone().unwrap_or(String::new()),
    [4.105803]
    [4.105871]
    message: self.message.clone().unwrap_or_else(String::new),
  • replacement in pijul/src/commands/pushpull.rs at line 163
    [4.116059][4.116059:116148]()
    return Err((crate::Error::AmbiguousPath { path: path.clone() }).into());
    [4.116059]
    [4.116148]
    return Err((crate::Error::AmbiguousPath { path }).into());
  • replacement in pijul/src/commands/pushpull.rs at line 314
    [4.6896][4.6896:6993]()
    return Err((crate::Error::AmbiguousPath { path: path.clone() }).into());
    [4.6896]
    [4.6993]
    return Err((crate::Error::AmbiguousPath { path }).into());
  • replacement in pijul/src/commands/protocol.rs at line 43
    [4.124591][4.124591:124627]()
    Err((Error::NoSuchChannel {
    [4.124591]
    [4.124627]
    Err(Error::NoSuchChannel {
  • edit in pijul/src/commands/protocol.rs at line 46
    [4.124677][4.124677:124694]()
    .into())
  • replacement in pijul/src/commands/protocol.rs at line 61
    [4.125201][4.125201:125227]()
    let o = o.lock();
    [4.125201]
    [4.125227]
    let mut o = BufWriter::new(o.lock());
  • replacement in pijul/src/commands/protocol.rs at line 63
    [4.125269][4.125269:125308]()
    let mut o = BufWriter::new(o);
    [4.125269]
    [4.125308]
  • replacement in pijul/src/commands/protocol.rs at line 76
    [4.125810][4.125810:126148]()
    if n < pos {
    continue;
    } else if n > pos {
    writeln!(o, "-")?;
    break;
    } else {
    writeln!(o, "{} {}", n, m.to_base32())?;
    break;
    [4.125810]
    [4.126148]
    match n.cmp(&pos) {
    std::cmp::Ordering::Less => continue,
    std::cmp::Ordering::Greater => {
    writeln!(o, "-")?;
    break;
    }
    std::cmp::Ordering::Equal => {
    writeln!(o, "{} {}", n, m.to_base32())?;
    break;
    }
  • edit in pijul/src/commands/protocol.rs at line 88
    [4.126196]
    [4.126196]
    } else if let Some((n, (_, m))) = txn.reverse_log(&channel.borrow(), None).next() {
    writeln!(o, "{} {}", n, m.to_base32())?
  • replacement in pijul/src/commands/protocol.rs at line 91
    [4.126221][4.126221:126476]()
    if let Some((n, (_, m))) = txn.reverse_log(&channel.borrow(), None).next() {
    writeln!(o, "{} {}", n, m.to_base32())?
    } else {
    writeln!(o, "-")?;
    }
    [4.126221]
    [4.126476]
    writeln!(o, "-")?;
  • replacement in pijul/src/commands/protocol.rs at line 126
    [4.128015][4.128015:128049]()
    writeln!(o, "")?;
    [4.128015]
    [4.128049]
    writeln!(o)?;
  • replacement in pijul/src/commands/init.rs at line 21
    [4.136928][4.136928:137015]()
    let channel_name = self.channel.unwrap_or(crate::DEFAULT_CHANNEL.to_string());
    [4.136928]
    [4.137015]
    let channel_name = self
    .channel
    .unwrap_or_else(|| crate::DEFAULT_CHANNEL.to_string());
  • replacement in libpijul/src/unrecord/working_copy.rs at line 64
    [2.6890][2.6890:6982]()
    .filter(|e| e.flag.contains(EdgeFlags::PARENT | EdgeFlags::FOLDER))
    .next()
    [2.6890]
    [2.6982]
    .find(|e| e.flag.contains(EdgeFlags::PARENT | EdgeFlags::FOLDER))
  • replacement in libpijul/src/unrecord/mod.rs at line 81
    [4.233799][4.233799:233955]()
    if br.name != channel.name {
    if txn.get_changeset(&br.changes, change_id, None).is_some() {
    return false;
    }
    [4.233799]
    [4.233955]
    if br.name != channel.name && txn.get_changeset(&br.changes, change_id, None).is_some() {
    return false;
  • replacement in libpijul/src/unrecord/mod.rs at line 117
    [4.235179][4.235179:235581]()
    match *change {
    Atom::EdgeMap(ref n) => {
    remove_zombies(txn, channel, change_id, n)?;
    repair_edges_context(
    changes,
    txn,
    channel,
    &mut ws.apply.missing_context,
    change_id,
    n,
    )?
    }
    _ => {}
    [4.235179]
    [4.235581]
    if let Atom::EdgeMap(ref n) = *change {
    remove_zombies(txn, channel, change_id, n)?;
    repair_edges_context(
    changes,
    txn,
    channel,
    &mut ws.apply.missing_context,
    change_id,
    n,
    )?
  • edit in libpijul/src/unrecord/mod.rs at line 129
    [4.235597]
    [4.235597]
  • replacement in libpijul/src/unrecord/mod.rs at line 226
    [4.238605][4.238605:238828]()
    if new_vertex.flag.contains(EdgeFlags::FOLDER) {
    if new_vertex.down_context.is_empty() {
    // let mut f = std::fs::File::create("debug_unrecord")?;
    // txn.debug(&channel, &mut f).unwrap();
    [4.238605]
    [4.238828]
    if new_vertex.flag.contains(EdgeFlags::FOLDER) && new_vertex.down_context.is_empty() {
    // let mut f = std::fs::File::create("debug_unrecord")?;
    // txn.debug(&channel, &mut f).unwrap();
  • replacement in libpijul/src/unrecord/mod.rs at line 230
    [4.238829][4.238829:238914]()
    working_copy::undo_file_addition(txn, change_id, new_vertex)?;
    }
    [4.238829]
    [4.238914]
    working_copy::undo_file_addition(txn, change_id, new_vertex)?;
  • replacement in libpijul/src/unrecord/mod.rs at line 420
    [4.245085][4.245085:245224]()
    if !follow {
    if e.introduced_by != change_id {
    continue;
    }
    [4.245085]
    [4.245224]
    if !follow && e.introduced_by != change_id {
    continue;
  • replacement in libpijul/src/unrecord/mod.rs at line 452
    [2.9621][2.9621:9698]()
    .filter(|e| e.dest == v.start_pos())
    .next()
    [2.9621]
    [2.9698]
    .find(|e| e.dest == v.start_pos())
  • replacement in libpijul/src/tests/conflict.rs at line 78
    [4.360015][4.360015:360057]()
    (&mut conflict[2..9]).sort();
    [4.360015]
    [4.360057]
    (&mut conflict[2..9]).sort_unstable();
  • replacement in libpijul/src/tests/conflict.rs at line 267
    [4.366066][4.366066:366108]()
    (&mut conflict[2..7]).sort();
    [4.366066]
    [4.366108]
    (&mut conflict[2..7]).sort_unstable();
  • replacement in libpijul/src/tests/conflict.rs at line 331
    [4.368147][4.368147:368185]()
    (&mut conflict[2..6]).sort();
    [4.368147]
    [4.368185]
    (&mut conflict[2..6]).sort_unstable();
  • replacement in libpijul/src/tests/conflict.rs at line 636
    [4.378056][4.378056:378075]()
    lines2.sort();
    [4.378056]
    [4.378075]
    lines2.sort_unstable();
  • replacement in libpijul/src/tests/conflict.rs at line 638
    [4.378159][4.378159:378178]()
    lines3.sort();
    [4.378159]
    [4.378178]
    lines3.sort_unstable();
  • replacement in libpijul/src/tests/conflict.rs at line 754
    [4.381873][4.381873:381892]()
    lines2.sort();
    [4.381873]
    [4.381892]
    lines2.sort_unstable();
  • replacement in libpijul/src/tests/conflict.rs at line 756
    [4.381968][4.381968:381987]()
    lines3.sort();
    [4.381968]
    [4.381987]
    lines3.sort_unstable();
  • replacement in libpijul/src/tests/conflict.rs at line 975
    [4.388991][4.388991:389033]()
    (&mut conflict[2..5]).sort();
    [4.388991]
    [4.389033]
    (&mut conflict[2..5]).sort_unstable();
  • replacement in libpijul/src/tests/conflict.rs at line 1185
    [4.395506][4.395506:395532]()
    buf == &[
    [4.395506]
    [4.395532]
    buf == [
  • replacement in libpijul/src/tests/conflict.rs at line 1198
    [4.395925][4.395925:395951]()
    == &[
    [4.395925]
    [4.395951]
    == [
  • replacement in libpijul/src/tests/conflict.rs at line 1233
    [4.397013][4.397013:397039]()
    buf == &[
    [4.397013]
    [4.397039]
    buf == [
  • replacement in libpijul/src/tests/conflict.rs at line 1246
    [4.397432][4.397432:397458]()
    == &[
    [4.397432]
    [4.397458]
    == [
  • replacement in libpijul/src/tests/conflict.rs at line 1394
    [4.402198][4.402198:402216]()
    lines.sort();
    [4.402198]
    [4.402216]
    lines.sort_unstable();
  • replacement in libpijul/src/tests/conflict.rs at line 1396
    [4.402300][4.402300:402319]()
    lines2.sort();
    [4.402300]
    [4.402319]
    lines2.sort_unstable();
  • replacement in libpijul/src/tests/conflict.rs at line 1539
    [4.406909][4.406909:406927]()
    lines.sort();
    [4.406909]
    [4.406927]
    lines.sort_unstable();
  • replacement in libpijul/src/tests/conflict.rs at line 1541
    [4.407011][4.407011:407030]()
    lines2.sort();
    [4.407011]
    [4.407030]
    lines2.sort_unstable();
  • replacement in libpijul/src/tests/conflict.rs at line 2554
    [4.440325][4.440325:440394]()
    fn check_tree_inodes<'env, T: TxnT>(txn: &T, channel: &Channel<T>) {
    [4.440325]
    [4.440394]
    fn check_tree_inodes<T: TxnT>(txn: &T, channel: &Channel<T>) {
  • replacement in libpijul/src/small_string.rs at line 43
    [4.481468][4.481468:481500]()
    assert_eq!(s0.clone(), s1);
    [4.481468]
    [4.481500]
    assert_eq!(s0, s1);
  • replacement in libpijul/src/record.rs at line 798
    [4.519257][4.519257:520235]()
    } else {
    if vertex.start == vertex.end {
    debug!("delete_recursively {:?}", vertex);
    // Killing an inode.
    if !self.deleted_vertices.insert(vertex.start_pos()) {
    continue;
    }
    if let Some(inode) = txn.get_revinodes(vertex.start_pos(), None) {
    debug!(
    "delete_recursively, vertex = {:?}, inode = {:?}",
    vertex, inode
    );
    self.recorded_inodes
    .insert(inode, vertex.start_pos().to_option());
    self.rec
    .updatables
    .insert(self.rec.actions.len(), InodeUpdate::Deleted { inode });
    }
    self.delete_inode_vertex(txn, channel, vertex, vertex.start_pos(), full_path)
    [4.519257]
    [4.520235]
    } else if vertex.start == vertex.end {
    debug!("delete_recursively {:?}", vertex);
    // Killing an inode.
    if !self.deleted_vertices.insert(vertex.start_pos()) {
    continue;
    }
    if let Some(inode) = txn.get_revinodes(vertex.start_pos(), None) {
    debug!(
    "delete_recursively, vertex = {:?}, inode = {:?}",
    vertex, inode
    );
    self.recorded_inodes
    .insert(inode, vertex.start_pos().to_option());
    self.rec
    .updatables
    .insert(self.rec.actions.len(), InodeUpdate::Deleted { inode });
  • edit in libpijul/src/record.rs at line 815
    [4.520253]
    [4.520253]
    self.delete_inode_vertex(txn, channel, vertex, vertex.start_pos(), full_path)
  • replacement in libpijul/src/pristine/sanakirja.rs at line 1010
    [4.566176][4.566176:566288]()
    self.open_channels
    .borrow_mut()
    .insert(name.clone(), br.clone());
    [4.566176]
    [4.566288]
    self.open_channels.borrow_mut().insert(name, br.clone());
  • replacement in libpijul/src/pristine/mod.rs at line 349
    [2.39512][2.39512:39575]()
    let curs = txn.cursor_graph(graph, Some((k, v)));
    curs
    [2.39512]
    [2.39575]
    txn.cursor_graph(graph, Some((k, v)))
  • replacement in libpijul/src/pristine/mod.rs at line 358
    [2.39792][2.39792:39863]()
    let curs = T::cursor_graph_ref(txn, graph, Some((k, v)));
    curs
    [2.39792]
    [2.39863]
    T::cursor_graph_ref(txn, graph, Some((k, v)))
  • replacement in libpijul/src/pristine/mod.rs at line 462
    [2.42740][2.42740:42868]()
    .filter(|e| e.flag.contains(EdgeFlags::BLOCK) || e.flag.contains(EdgeFlags::FOLDER))
    .next()
    .is_some()
    [2.42740]
    [2.42868]
    .any(|e| e.flag.contains(EdgeFlags::BLOCK) || e.flag.contains(EdgeFlags::FOLDER))
  • replacement in libpijul/src/pristine/mod.rs at line 635
    [4.615054][2.47773:48035](),[2.48035][4.615566:615580](),[4.615566][4.615566:615580]()
    if v.flag.contains(EdgeFlags::PARENT) && !v.flag.contains(EdgeFlags::DELETED) {
    if !reachable.contains(&k) {
    let file = find_file(txn, &channel, k, &mut stack, &mut visited);
    alive_unreachable.insert(k, file);
    }
    [4.615054]
    [2.48036]
    if v.flag.contains(EdgeFlags::PARENT)
    && !v.flag.contains(EdgeFlags::DELETED)
    && !reachable.contains(&k)
    {
    let file = find_file(txn, &channel, k, &mut stack, &mut visited);
    alive_unreachable.insert(k, file);
  • replacement in libpijul/src/pristine/channel_dump.rs at line 396
    [4.665380][4.665380:665411]()
    let mut e = e.clone();
    [4.665380]
    [3.580]
    let mut e = e;
  • replacement in libpijul/src/path.rs at line 120
    [4.671198][4.671198:671327]()
    assert!(!extra.starts_with("/")); // Make sure the extra path is relative.
    if !path.ends_with("/") && !path.is_empty() {
    [4.671198]
    [4.671327]
    assert!(!extra.starts_with('/')); // Make sure the extra path is relative.
    if !path.ends_with('/') && !path.is_empty() {
  • replacement in libpijul/src/output/mod.rs at line 95
    [4.688597][2.56722:56783](),[2.56783][4.688597:688617](),[4.688597][4.688597:688617]()
    .filter(|e| !e.flag.contains(EdgeFlags::PARENT))
    .next()
    [4.688597]
    [2.56784]
    .find(|e| !e.flag.contains(EdgeFlags::PARENT))
  • replacement in libpijul/src/output/mod.rs at line 108
    [4.689352][4.689352:689409]()
    let v = files.entry(name).or_insert(Vec::new());
    [4.689352]
    [4.689409]
    let v = files.entry(name).or_insert_with(Vec::new);
  • replacement in libpijul/src/lib.rs at line 388
    [4.730131][2.60533:60611](),[2.60611][4.730192:730259](),[4.730192][4.730192:730259]()
    let cid = if let Some(c) = pristine::TxnT::get_internal(self, hash) {
    c
    } else {
    return None;
    };
    [4.730131]
    [4.730259]
    let cid = pristine::TxnT::get_internal(self, hash)?;
  • replacement in libpijul/src/fs.rs at line 305
    [4.747931][4.747931:748177]()
    if is_dir {
    if !txn.del_tree(file_id.as_file_id(), Some(inode))? {
    debug!(
    "rec_delete (is_dir): {:?} {:?} not present",
    file_id.as_file_id(),
    inode
    );
    }
    [4.747931]
    [4.748177]
    if is_dir && !txn.del_tree(file_id.as_file_id(), Some(inode))? {
    debug!(
    "rec_delete (is_dir): {:?} {:?} not present",
    file_id.as_file_id(),
    inode
    );
  • replacement in libpijul/src/fs.rs at line 410
    [4.751401][4.751401:751447]()
    if k.basename.len() > 0 {
    [4.751401]
    [4.751447]
    if !k.basename.is_empty() {
  • replacement in libpijul/src/find_alive.rs at line 90
    [4.766828][4.766828:766873](),[4.766873][2.64880:64922]()
    if next_file.is_none() {
    if iter_adjacent(
    [4.766828]
    [2.64922]
    if next_file.is_none()
    && iter_adjacent(
  • replacement in libpijul/src/find_alive.rs at line 102
    [2.65388][2.65388:65417](),[2.65417][4.767242:767318](),[4.767242][4.767242:767318]()
    }) {
    alive.insert(vertex);
    }
    [2.65388]
    [4.767318]
    })
    {
    alive.insert(vertex);
  • replacement in libpijul/src/diff/mod.rs at line 22
    [4.793667][4.793667:793828]()
    if self.before_end_marker {
    if !b.last && b.l.last() == Some(&b'\n') {
    return &b.l[..b.l.len() - 1] == self.l;
    }
    [4.793667]
    [4.793828]
    if self.before_end_marker && !b.last && b.l.last() == Some(&b'\n') {
    return &b.l[..b.l.len() - 1] == self.l;
  • replacement in libpijul/src/diff/mod.rs at line 25
    [4.793838][4.793838:794005]()
    if b.before_end_marker {
    if !self.last && self.l.last() == Some(&b'\n') {
    return &self.l[..self.l.len() - 1] == b.l;
    }
    [4.793838]
    [4.794005]
    if b.before_end_marker && !self.last && self.l.last() == Some(&b'\n') {
    return &self.l[..self.l.len() - 1] == b.l;
  • replacement in libpijul/src/diff/mod.rs at line 48
    [4.794648][4.794648:794898]()
    if std::str::from_utf8(&d.contents_a).is_err() || std::str::from_utf8(&b).is_err() {
    if d.contents_a != b {
    self.diff_binary(changes, txn, channel, path, inode, a, &b);
    return Ok(());
    }
    [4.794648]
    [4.794898]
    if (std::str::from_utf8(&d.contents_a).is_err() || std::str::from_utf8(&b).is_err())
    && d.contents_a != b
    {
    self.diff_binary(changes, txn, channel, path, inode, a, &b);
    return Ok(());
  • replacement in libpijul/src/change.rs at line 170
    [4.836629][4.836629:836683]()
    deps.insert(dep.clone());
    [4.836629]
    [4.836683]
    deps.insert(*dep);
  • replacement in libpijul/src/change.rs at line 319
    [4.841221][4.841221:841331](),[4.841331][4.841331:841345]()
    } else {
    if internal_deps_.remove(&id) {
    debug!("removing dep {:?}", id);
    }
    [4.841221]
    [4.841345]
    } else if internal_deps_.remove(&id) {
    debug!("removing dep {:?}", id);
  • replacement in libpijul/src/change.rs at line 1174
    [4.870162][4.870162:870243]()
    let mut offsets = Offsets::default();
    offsets.version = VERSION;
    [4.870162]
    [4.870243]
    let version = VERSION;
  • replacement in libpijul/src/change.rs at line 1179
    [4.870366][4.870366:870416]()
    offsets.hashed_len = hashed.len() as u64;
    [4.870366]
    [4.870416]
    let hashed_len = hashed.len() as u64;
  • edit in libpijul/src/change.rs at line 1185
    [4.870599]
    [4.870599]
  • replacement in libpijul/src/change.rs at line 1193
    [4.870813][4.870813:870867]()
    offsets.unhashed_len = unhashed.len() as u64;
    [4.870813]
    [4.870867]
    let unhashed_len = unhashed.len() as u64;
  • replacement in libpijul/src/change.rs at line 1198
    [4.870988][4.870988:871066]()
    offsets.unhashed_off = Self::OFFSETS_SIZE + hashed_comp.len() as u64;
    [4.870988]
    [4.871066]
    let unhashed_off = Self::OFFSETS_SIZE + hashed_comp.len() as u64;
  • replacement in libpijul/src/change.rs at line 1201
    [4.871160][4.871160:871242]()
    offsets.contents_off = offsets.unhashed_off + unhashed_comp.len() as u64;
    [4.871160]
    [4.871242]
    let contents_off = unhashed_off + unhashed_comp.len() as u64;
  • replacement in libpijul/src/change.rs at line 1205
    [4.871342][4.871342:871476]()
    offsets.contents_len = self.contents.len() as u64;
    offsets.total = offsets.contents_off + contents_comp.len() as u64;
    [4.871342]
    [4.871476]
    let contents_len = self.contents.len() as u64;
    let total = contents_off + contents_comp.len() as u64;
    let offsets = Offsets {
    version,
    hashed_len,
    unhashed_off,
    unhashed_len,
    contents_off,
    contents_len,
    total,
    };
  • replacement in libpijul/src/change.rs at line 2107
    [4.905077][4.905077:905121]()
    if h.starts_with("+") {
    [4.905077]
    [4.905121]
    if h.starts_with('+') {
  • replacement in libpijul/src/change.rs at line 2120
    [4.905792][4.905792:905844]()
    if h.starts_with("+") {
    [4.905792]
    [4.905844]
    if h.starts_with('+') {
  • replacement in libpijul/src/change.rs at line 2124
    [4.905985][4.905985:906037]()
    } else if h.starts_with("\\") {
    [4.905985]
    [4.906037]
    } else if h.starts_with('\\') {
  • replacement in libpijul/src/change.rs at line 2232
    [4.911073][4.911073:911125]()
    } else if h.starts_with("\\") {
    [4.911073]
    [4.911125]
    } else if h.starts_with('\\') {
  • replacement in libpijul/src/change.rs at line 2268
    [4.912973][4.912973:913025]()
    } else if h.starts_with("\\") {
    [4.912973]
    [4.913025]
    } else if h.starts_with('\\') {
  • replacement in libpijul/src/change.rs at line 2394
    [4.917686][4.917686:917890]()
    Some(rec) => rec.iter().any(|e| {
    if let Atom::NewVertex(_) = e {
    true
    } else {
    false
    }
    }),
    [4.917686]
    [4.917890]
    Some(rec) => rec.iter().any(|e| matches!(e, Atom::NewVertex(_))),
  • replacement in libpijul/src/change.rs at line 2452
    [4.919617][4.919617:919652]()
    for edge in s.split(",") {
    [4.919617]
    [4.919652]
    for edge in s.split(',') {
  • replacement in libpijul/src/apply.rs at line 947
    [4.977730][4.977730:978338]()
    match atom {
    Atom::EdgeMap(ref n) => {
    for e in n.edges.iter() {
    if e.flag.contains(EdgeFlags::DELETED) {
    trace!("repairing context deleted {:?}", e);
    repair_context_deleted(
    txn,
    channel,
    &mut ws.missing_context,
    n.inode,
    change_id,
    |h| change.knows(&h),
    e,
    )?
    }
    [4.977730]
    [4.978338]
    if let Atom::EdgeMap(ref n) = atom {
    for e in &n.edges {
    if e.flag.contains(EdgeFlags::DELETED) {
    trace!("repairing context deleted {:?}", e);
    repair_context_deleted(
    txn,
    channel,
    &mut ws.missing_context,
    n.inode,
    change_id,
    |h| change.knows(&h),
    e,
    )?
  • edit in libpijul/src/apply.rs at line 962
    [4.978370][4.978370:978390]()
    _ => {}
  • replacement in libpijul/src/apply.rs at line 1046
    [4.981063][4.981063:981102]()
    let ref mut stack = ws.up_context;
    [4.981063]
    [4.981102]
    let stack = &mut ws.up_context;
  • replacement in libpijul/src/apply.rs at line 1049
    [4.981140][4.981140:981178]()
    let ref mut visited = ws.parents;
    [4.981140]
    [4.981178]
    let visited = &mut ws.parents;
  • replacement in libpijul/src/alive/tarjan.rs at line 20
    [4.982966][4.982966:983009]()
    let ref mut l = self[n_l];
    [4.982966]
    [4.983009]
    let l = &mut self[n_l];
  • replacement in libpijul/src/alive/tarjan.rs at line 25
    [4.983179][4.983179:983214]()
    index = index + 1;
    [4.983179]
    [4.983214]
    index += 1;
  • replacement in libpijul/src/alive/tarjan.rs at line 50
    [4.984213][4.984213:984293]()
    self[n_p].flags = self[n_p].flags ^ Flags::ONSTACK;
    [4.984213]
    [4.984293]
    self[n_p].flags ^= Flags::ONSTACK;
  • replacement in libpijul/src/alive/retrieve.rs at line 93
    [2.73801][2.73801:73823]()
    .filter(|e| {
    [2.73801]
    [2.73823]
    .any(|e| {
  • replacement in libpijul/src/alive/retrieve.rs at line 96
    [2.73927][2.73927:73973](),[2.73973][4.987405:987415](),[4.987405][4.987405:987415]()
    })
    .next()
    .is_some()
    {
    [2.73927]
    [4.987415]
    }) {
  • replacement in libpijul/src/alive/mod.rs at line 79
    [4.997018][4.997018:997050]()
    let ref line = self[i];
    [4.997018]
    [4.997050]
    let line = &self[i];
  • replacement in libpijul/src/alive/dfs.rs at line 208
    [4.1007027][4.1007027:1007086]()
    (return_value.unwrap_or(Path::new()), forward_scc)
    [4.1007027]
    [4.1007086]
    (return_value.unwrap_or_else(Path::new), forward_scc)
  • replacement in libpijul/src/alive/dfs.rs at line 254
    [4.1008794][4.1008794:1008808]()
    d.sort();
    [4.1008794]
    [4.1008808]
    d.sort_unstable();
  • replacement in libpijul/src/alive/dfs.rs at line 295
    [4.1010212][4.1010212:1010233]()
    .map(|&x| x)
    [4.1010212]
    [4.1010233]
    .copied()