Fixing the parsing of zombie resurrection in the change text format

[?]
Nov 23, 2020, 11:14 AM
ISQJRA3OJJRDMYVQX7XNYGJNMR6CPWIVAIFOS2NCIZH2ZAPDTC5QC

Dependencies

  • [2] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [3] UNZXTNSJ Change text format: order dependencies in the order they were on the channel at record time

Change contents

  • replacement in libpijul/src/change.rs at line 1807
    [2.894291][2.894291:894369]()
    write!(w, "Resurrecting zombie lines in {:?} ", local.path)?;
    [2.894291]
    [2.894369]
    write!(w, "Resurrecting zombie lines in {:?}:{} ", local.path, local.line)?;
  • replacement in libpijul/src/change.rs at line 1809
    [2.894429][2.894429:894486]()
    writeln!(w, " at line {}", local.line)?;
    [2.894429]
    [2.894486]
    writeln!(w, "")?;
  • replacement in libpijul/src/change.rs at line 1852
    [2.896408][2.896408:896503]()
    Regex::new(r#"(\d+)\. Resurrecting zombie lines in ([^:]+):(\d+) (\d+\.\d+)"#)
    [2.896408]
    [2.896503]
    Regex::new(r#"(\d+)\. Resurrecting zombie lines in (?P<path>"[^"]+"):(?P<line>\d+) (?P<inode>\d+\.\d+)"#)
  • edit in libpijul/src/change.rs at line 2068
    [2.904855]
    [2.904855]
    ))
    } else if let Some(cap) = ZOMBIE.captures(h) {
    if has_newvertices(current) {
    contents_.push(0)
    }
    let mut v = default_edgemap();
    v.inode = parse_pos(changes, &cap.name("inode").unwrap().as_str());
    Ok(std::mem::replace(
    current,
    Some(Record::ResurrectZombies {
    change: Atom::EdgeMap(v),
    local: Local {
    path: cap.name("path").unwrap().as_str().parse().unwrap(),
    line: cap.name("line").unwrap().as_str().parse().unwrap(),
    },
    })