Conflict resolution

[?]
May 11, 2021, 4:17 PM
TVVW53HZGYPODAXEQ4BFZNSPBOFG6JEDVOKIYIDZMWFAMOBKOR2QC

Dependencies

  • [2] T3S4P4ET Version updates
  • [3] QL6K2ZM3 Tags
  • [4] P6WE7YKL Unrecord did not check whether a file already existed before adding it back
  • [5] GDDYJH7A fix encoded file add
  • [6] ZSF3YFZT encoded file deletion
  • [7] NYOF5766 track file encoding in the record, including change text for file adds
  • [8] X7OHUPL5 Fixing a bug in unrecord, and fixing the tests
  • [9] RXNT67OT Sanakirja version, and removing an unwrap
  • [10] PDTUHOMV fix left over conflicts
  • [11] ADPAFSMY Proper old metadata when recording
  • [12] YN63NUZO Sanakirja 1.0
  • [13] JRSBH6HT Identification of line numbers in replacements
  • [14] OCBM7IFE New release: pijul-1.0.0-alpha.8
  • [15] XSEODPNE Fixing conflicts
  • [16] I24UEJQL Various post-fire fixes
  • [17] 246V5TYI decode existing files
  • [18] A3DMBJJA Upgrading the `git` subcommand to the latest Sanakirja and Libpijul
  • [19] 3WIQYEIS Fixing conflicts in Cargo.lock
  • [20] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [21] VMOYG7MK text file decoding for new files
  • [22] JRENVH5D Reqwest 0.11
  • [23] CCFJ7VO3 Renaming "Record" to "Hunk" in the changes
  • [24] 3S6LU2U5 abstract out FileMetadata (de)serialistion
  • [25] HDGRZISM Version updates
  • [26] UDHP4ZVB Fixing SSH asynchronicity issues
  • [27] H62VFFJE Cargo.nix, and solving conflicts
  • [28] UFCZKKLX Upgrading to the latest Sanakirja/Rand
  • [29] ENKQ3QZG Forward the exit status messages from the SSH background loop to the client (solving hangs)
  • [30] YTQS4ES3 Fixing a parsing problem (related to permissions), and the associated permissions
  • [31] QNJBR73K don't return Result for infallible functions
  • [32] SAGSYAPX Various version bumps
  • [33] TPEH2XNB 1.0.0-alpha.28, with Tokio 1.0
  • [34] IIV3EL2X Cleanup, formatting, and fixing the Git feature
  • [35] 6HNRL5RT detect non-utf8 text files
  • [36] JMBGCWM5 Fixing a zombie, probably due to the new conflict algorithm
  • [37] NO2QPRFL Adding rollback test
  • [38] CCLLB7OI Upgrading to Sanakirja 0.15 + version bump
  • [39] B3QWIGDE Fixing the Git features with the latest Pijul (+ conflicts in Cargo.toml)
  • [40] W4NSLQNG make text_encoding available to all of libpijul
  • [41] WEHUTJUK Lockfile update
  • [42] 4NNR32V6 conflicts
  • [43] Q3GU26WD merge with changes from sanakirja v1.1.2
  • [44] KJDQ2WOM Fixing the parsing of section headers in the text change format
  • [45] WIORLB47 Version bump
  • [46] BZCGXVS7 Fixing two bugs around conflicts on the last line, where invalid patches were produced (first bug) and applied (second bug)
  • [47] XWETQ4DE Upgrading versions
  • [48] ZAEUSICJ File deletions were not shown with their names in the metadata during record
  • [49] B5Z4IMEU Generating Cargo.nix for pijul 1.0.0-alpha.6
  • [50] GHO6DWPI Refactoring iterators
  • [51] 6DOXSHWG Cleanup, and version bump
  • [52] 7UPL3Y2A Unrecord: don't restore the same unrecorded file deletion twice in the inodes and tree tables
  • [53] X243Z3Y5 Recording only the required metadata (can even be changed later!)
  • [54] QQZNSB26 Permission update (after #X243)
  • [55] MDBC27ZU Fixing a bug when unrecording directory deletions (the "directory marker" in the tree table was not set)
  • [56] O4DNWMPD Cleaunp and proofreading of libpijul::record
  • [57] 33SQMZYX New versions of dependencies
  • [58] TIPZ7UXN Started fixing the tests for parallel record/output
  • [59] XR7MNOMU file encoding in updates
  • [60] VO5OQW4W Removing anyhow in libpijul
  • [61] Q45QHPO4 Feedback on network stuff
  • [62] IYJZVLET Cleaning up the literate programming bits
  • [63] BT2ZHPY4 Version bumps
  • [64] UM5DLRPB store new non-UTF-8 files raw and decode to deplay the contents
  • [65] KVBLRDOU Concatenating edits with order conflict resolutions (if relevant), and parsing the text format of the result
  • [66] 7ZFRYVVQ Cargo.nix and formatting
  • [67] EQLDTLXV Fixing a bug with empty new files, and another one with empty replacements
  • [68] JACZWIJ6 Version bump
  • [69] LLT3GY6U When recording, do not consider deleted filenames as current
  • [*] NF4O25IE Cleaning up useless operations in InodeMetadata

Change contents

  • resurrect zombie in libpijul/src/working_copy/mod.rs at line 20
    [7.1728][7.24701:25038](),[7.1728][7.24701:25038]()
    fn remove_path(&self, name: &str) -> Result<(), Self::Error>;
    fn rename(&self, former: &str, new: &str) -> Result<(), Self::Error>;
    fn set_permissions(&self, name: &str, permissions: u16) -> Result<(), Self::Error>;
    type Writer: std::io::Write;
    fn write_file(&self, file: &str) -> Result<Self::Writer, Self::Error>;
  • edit in libpijul/src/working_copy/mod.rs at line 26
    [7.2100][7.65:66](),[7.2100][7.65:66]()
  • resurrect zombie in libpijul/src/working_copy/mod.rs at line 26
    [7.66][7.0:38](),[7.66][7.0:38](),[7.38][7.139:147](),[7.139][7.139:147](),[7.139][7.139:147](),[7.147][7.39:112](),[7.147][7.39:112](),[7.112][7.213:233](),[7.213][7.213:233](),[7.213][7.213:233](),[7.252][7.252:351](),[7.252][7.252:351](),[7.351][7.159:243](),[7.159][7.159:243](),[7.159][7.159:243](),[7.243][7.352:444](),[7.243][7.352:444](),[7.444][7.113:167](),[7.444][7.113:167](),[7.167][7.342:560](),[7.513][7.342:560](),[7.342][7.342:560](),[7.342][7.342:560](),[7.560][7.168:245](),[7.560][7.168:245](),[7.245][7.636:726](),[7.636][7.636:726](),[7.636][7.636:726](),[7.726][7.246:287](),[7.726][7.246:287](),[7.287][7.788:859](),[7.586][7.788:859](),[7.788][7.788:859](),[7.788][7.788:859](),[7.859][7.288:309](),[7.859][7.288:309](),[7.309][7.891:922](),[7.891][7.891:922](),[7.891][7.891:922](),[7.922][7.310:327](),[7.922][7.310:327](),[7.327][7.950:961](),[7.950][7.950:961](),[7.950][7.950:961](),[7.961][7.328:365](),[7.961][7.328:365](),[7.588][7.588:609](),[7.588][7.588:609](),[7.588][7.588:609](),[7.938][7.938:946](),[7.938][7.938:946]()
    /// Read the file into the buffer
    ///
    /// Returns the file's text encoding or None if it was a binary file
    fn decode_file(
    file: &str,
    buffer: &mut Vec<u8>,
    ) -> Result<Option<Encoding>, Self::Error> {
    let mut uncoded = Vec::new();
    self.read_file(&file, &mut uncoded)?;
    let mime = tree_magic_mini::from_u8(&uncoded);
    debug!("mime = {:?}", mime);
    let encoding = if mime.starts_with("text/") {
    let mut detector = EncodingDetector::new();
    detector.feed(&uncoded, true);
    let encoding = detector.guess(None, true);
    debug!("guessed encoding = {:?}", encoding.name());
    let (_decoded, encoding, malformed) = encoding.decode(&uncoded);
    debug!("final encoding = {:?}", encoding.name());
    if !malformed {
    Some(Encoding(encoding))
    } else {
    warn!("text file was malformed");
    None
    }
    } else {
    None
    };
    buffer.append(&mut uncoded);
    Ok(encoding)
    }
    }
  • resolve order conflict in libpijul/src/working_copy/mod.rs at line 26
    [7.25038]
    [7.0]
  • replacement in libpijul/src/working_copy/mod.rs at line 30
    [7.233][7.233:252](),[7.233][7.233:252]()
    &mut self,
    [7.233]
    [7.252]
    &self,
  • edit in libpijul/src/working_copy/mod.rs at line 55
    [7.365][7.587:588](),[7.998][7.587:588](),[7.998][7.587:588]()
  • edit in libpijul/src/vertex_buffer.rs at line 139
    [7.221793]
    [7.221793]
    is_zombie: bool,
  • edit in libpijul/src/vertex_buffer.rs at line 148
    [7.221952]
    [7.221952]
    is_zombie: false,
  • edit in libpijul/src/vertex_buffer.rs at line 202
    [7.223399]
    [7.6541]
    fn end_conflict(&mut self) -> Result<(), std::io::Error> {
    self.is_zombie = false;
    self.output_conflict_marker(END_MARKER)
    }
  • replacement in libpijul/src/vertex_buffer.rs at line 207
    [7.6613][7.223470:223520](),[7.223470][7.223470:223520]()
    self.output_conflict_marker(START_MARKER)
    [7.6613]
    [7.223520]
    if self.is_zombie {
    Ok(())
    } else {
    self.is_zombie = true;
    self.begin_conflict()
    }
    }
    fn end_zombie_conflict(&mut self) -> Result<(), std::io::Error> {
    self.is_zombie = false;
    self.output_conflict_marker(END_MARKER)
  • replacement in libpijul/src/unrecord/working_copy.rs at line 108
    [7.229205][7.0:48]()
    let FileMetadata { basename, .. } = changes
    [7.229205]
    [7.48]
    let FileMetadata { basename, metadata, .. } = changes
  • replacement in libpijul/src/unrecord/working_copy.rs at line 127
    [4.842][4.842:873]()
    if meta.is_dir() {
    [4.842]
    [4.873]
    if metadata.is_dir() {
  • edit in libpijul/src/unrecord/working_copy.rs at line 198
    [7.229205][7.0:35](),[7.229205][7.0:35]()
    let (meta, basename) = changes
  • resolve order conflict in libpijul/src/unrecord/working_copy.rs at line 198
    [7.231483]
  • file move: text.rs (----------)text.rs.XSEODPNEN2Y2S (----------)
    [7.248792]
    [7.10]
  • edit in libpijul/src/tests/mod.rs at line 119
    [7.613]
    [5.0]
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  • file move: data (d--r------)data.XSEODPNEN2Y2S (d--r------)
    [7.248792]
    [7.4375]
  • resolve order conflict in libpijul/src/record.rs at line 12
    [7.40928]
    [6.1496]
  • edit in libpijul/src/record.rs at line 14
    [7.124][7.692:734](),[7.489199][7.692:734]()
    use std::collections::{HashMap, HashSet};
  • edit in libpijul/src/record.rs at line 541
    [7.53266]
    [7.53266]
    changes,
  • edit in libpijul/src/record.rs at line 564
    [7.53804]
    [7.53804]
    changes: &C,
  • replacement in libpijul/src/record.rs at line 613
    [7.55791][7.55791:55892]()
    rec.record_deleted_file(txn, txn.graph(channel), working_copy, &full_path, *vertex)?
    [7.55791]
    [7.55892]
    rec.record_deleted_file(txn, txn.graph(channel), working_copy, &full_path, *vertex, changes)?
  • edit in libpijul/src/record.rs at line 656
    [7.56892]
    [7.56892]
    /*
  • edit in libpijul/src/record.rs at line 664
    [7.57212]
    [7.57212]
    */
  • edit in libpijul/src/record.rs at line 668
    [7.495974][6.1611:1612](),[7.495974][6.1611:1612](),[7.57327][7.496436:496437](),[7.496436][7.496436:496437](),[7.496437][7.735:790](),[7.496437][7.735:790](),[7.885][7.49402:49474](),[7.496480][7.49402:49474](),[7.496480][7.49402:49474](),[7.496480][7.49402:49474](),[7.49474][5.84:179](),[7.49474][5.84:179](),[5.179][7.886:947](),[7.49474][7.886:947](),[7.49474][7.886:947](),[7.947][7.49475:49643](),[7.496630][7.49475:49643](),[7.496630][7.49475:49643](),[7.496630][7.49475:49643]()
    let (contents, encoding) = if meta.is_file() {
    let start = ChangePosition(self.rec.contents.len().into());
    let encoding = working_copy.decode_file(&item.full_path, &mut self.rec.contents)?;
    self.rec.has_binary_files |= encoding.is_none();
    let end = ChangePosition(self.rec.contents.len().into());
    self.rec.largest_file = self.rec.largest_file.max(end.0.as_u64() - start.0.as_u64());
  • resurrect zombie in libpijul/src/record.rs at line 668
    [7.496480][7.57328:57391](),[7.496480][7.57328:57391](),[7.496480][7.57328:57391](),[7.57460][7.57460:57611](),[7.57460][7.57460:57611](),[7.57460][7.57460:57611]()
    let start = ChangePosition(contents.len().into());
    let end = ChangePosition(contents.len().into());
    self.largest_file = self.largest_file.max(end.0.as_u64() - start.0.as_u64());
  • resolve order conflict in libpijul/src/record.rs at line 668
    [7.57327]
  • edit in libpijul/src/record.rs at line 668
    [0.925]
    [7.57328]
    let (contents_, encoding) = if meta.is_file() {
  • replacement in libpijul/src/record.rs at line 670
    [7.57391][7.57391:57460](),[7.57391][7.57391:57460](),[7.57391][7.57391:57460]()
    working_copy.read_file(&item.full_path, &mut contents)?;
    [7.57391]
    [7.57460]
    let encoding = working_copy.decode_file(&item.full_path, &mut contents)?;
    self.has_binary_files |= encoding.is_none();
  • edit in libpijul/src/record.rs at line 674
    [7.57611][7.57611:57650](),[7.57611][7.57611:57650](),[7.57611][7.57611:57650](),[7.49750][7.57651:57716](),[7.49750][7.57651:57716](),[7.49750][7.57651:57716]()
    self.has_binary_files |= {
    let utf8 = std::str::from_utf8(&contents[s..e]);
  • resurrect zombie in libpijul/src/record.rs at line 674
    [7.497208][7.57717:57747](),[7.497208][7.57717:57747](),[7.497208][7.57717:57747](),[7.57747][7.0:29](),[7.497247][7.0:29](),[7.497247][7.0:29](),[7.57747][7.0:29]()
    contents.push(0);
    if end > start {
  • edit in libpijul/src/record.rs at line 699
    [7.497912][7.57748:57790]()
    self.actions.push(Hunk::FileAdd {
  • resurrect zombie in libpijul/src/record.rs at line 699
    [7.497912][6.1613:1614](),[7.497912][6.1613:1614](),[6.1687][6.1687:1851](),[6.1687][6.1687:1851]()
    let file_meta = FileMetadata {
    metadata: meta,
    basename: item.basename.as_str(),
    encoding: encoding.clone(),
    };
  • replacement in libpijul/src/record.rs at line 700
    [6.1614][6.1614:1687](),[6.1614][6.1614:1687]()
    let name_start = ChangePosition(self.rec.contents.len().into());
    [6.1614]
    [6.1687]
    let name_start = ChangePosition(contents.len().into());
  • replacement in libpijul/src/record.rs at line 706
    [6.1851][6.1851:2007](),[6.1851][6.1851:2007]()
    file_meta.write(&mut self.rec.contents);
    let name_end = ChangePosition(self.rec.contents.len().into());
    self.rec.contents.push(0);
    [6.1851]
    [7.498023]
    file_meta.write(&mut contents);
    let name_end = ChangePosition(contents.len().into());
    contents.push(0);
    self.actions.push(Hunk::FileAdd {
  • replacement in libpijul/src/record.rs at line 729
    [7.498736][7.498736:498758]()
    contents,
    [7.498736]
    [7.498758]
    contents: contents_,
  • edit in libpijul/src/record.rs at line 801
    [7.6574][7.58547:58619](),[7.6574][7.58547:58619]()
    |p| txn_.get_external(&p).unwrap().map(From::from),
  • resurrect zombie in libpijul/src/record.rs at line 801
    [7.6542][6.2008:2180](),[7.6542][6.2008:2180](),[6.2180][7.361:393](),[7.361][7.361:393](),[7.361][7.361:393]()
    let mut meta = Vec::new();
    let FileMetadata {
    basename,
    metadata,
    encoding,
    } = changes
    .get_file_meta(
  • edit in libpijul/src/record.rs at line 808
    [7.393]
    [7.6645]
    |p| txn_.get_external(&p).unwrap().map(From::from),
  • resurrect zombie in libpijul/src/record.rs at line 822
    [7.204][7.394:450](),[7.204][7.394:450]()
    basename: basename.to_string(),
  • edit in libpijul/src/record.rs at line 822
    [7.50317]
    [7.394]
    former_parents.push(Parent {
  • edit in libpijul/src/record.rs at line 852
    [7.502201][6.2248:2309](),[7.502201][6.2248:2309]()
    self.former_parents[0].encoding.clone(),
  • resolve order conflict in libpijul/src/record.rs at line 852
    [7.59226]
  • edit in libpijul/src/record.rs at line 852
    [0.1521]
    [7.33880]
    former_parents[0].encoding.clone(),
  • edit in libpijul/src/record.rs at line 926
    [7.60119][7.60119:60561]()
    let name_start = ChangePosition(contents.len().into());
    // Push the metadata, big-endian.
    contents.push((item.metadata.0 >> 8) as u8);
    contents.push((item.metadata.0 & 0xff) as u8);
    //
    contents.extend(item.basename.as_bytes());
    let name_end = ChangePosition(contents.len().into());
    contents.push(0);
    let name = &contents[name_start.0.as_usize()..name_end.0.as_usize()];
  • resurrect zombie in libpijul/src/record.rs at line 926
    [7.48][7.451:498](),[7.48][7.451:498](),[7.571][7.571:653](),[7.571][7.571:653](),[7.653][6.2780:2820](),[7.653][6.2780:2820](),[6.2820][7.653:663](),[7.653][7.653:663](),[7.653][7.653:663]()
    let basename = item.basename.as_str();
    FileMetadata {
    metadata: item.metadata,
    basename,
    encoding: encoding.clone(),
    }
  • resolve order conflict in libpijul/src/record.rs at line 926
    [7.60119]
    [7.451]
  • replacement in libpijul/src/record.rs at line 927
    [7.498][7.498:571](),[7.498][7.498:571]()
    let meta_start = ChangePosition(self.rec.contents.len().into());
    [7.498]
    [7.571]
    let meta_start = ChangePosition(contents.len().into());
  • replacement in libpijul/src/record.rs at line 933
    [7.663][7.663:774](),[7.663][7.663:774]()
    .write(&mut self.rec.contents);
    let meta_end = ChangePosition(self.rec.contents.len().into());
    [7.663]
    [7.36030]
    .write(&mut contents);
    let meta_end = ChangePosition(contents.len().into());
  • replacement in libpijul/src/record.rs at line 985
    [7.510318][7.60724:60783](),[7.510318][7.881:949]()
    contents.truncate(name_start.0.as_usize())
    self.rec.contents.truncate(meta_start.0.as_usize())
    [7.510318]
    [7.510384]
    contents.truncate(meta_start.0.as_usize())
  • replacement in libpijul/src/record.rs at line 988
    [7.510415][7.60784:60839](),[7.510415][7.950:1014]()
    contents.truncate(name_start.0.as_usize())
    self.rec.contents.truncate(meta_start.0.as_usize())
    [7.510415]
    [7.510477]
    contents.truncate(meta_start.0.as_usize())
  • edit in libpijul/src/record.rs at line 1419
    [7.504310][6.2336:2383](),[7.504310][6.2336:2383](),[7.6881][6.2384:2423](),[7.6881][6.2384:2423](),[7.495][6.2424:2609](),[7.495][6.2424:2609](),[7.851][6.2610:2656](),[7.851][6.2610:2656](),[7.50856][6.2657:2690](),[7.50856][6.2657:2690](),[7.504935][6.2691:2712](),[7.504935][6.2691:2712](),[7.7149][6.2713:2742](),[7.7149][6.2713:2742](),[7.50317][7.58745:58794](),[7.50317][7.58745:58794]()
    let mut meta = Vec::new();
    &mut meta,
    let FileMetadata { basename: name, .. } = FileMetadata::read(&mut meta);
    if !full_path.is_empty() {
    full_path.push('/');
    full_path.push_str(name);
    changes,
    changes: &C,
    changes,
    former_parents.push(Parent {
  • resolve order conflict in libpijul/src/record.rs at line 1419
    [7.525217]
  • resurrect zombie in libpijul/src/pristine/sanakirja.rs at line 533
    [7.68287][7.62143:62647](),[7.68287][7.62143:62647]()
    let mut k = match cursor.set(txn, &key, None) {
    Ok(Some((k, _))) => k,
    Ok(None) => {
    if let Some((k, _)) = cursor.prev(txn).map_err(|x| BlockError::Txn(x.into()))? {
    k
    } else {
    debug!("find_block_end, no prev");
    return Err(BlockError::Block { block: p });
    }
    }
    Err(e) => {
    debug!("find_block_end: BLOCK ERROR");
    return Err(BlockError::Txn(e.into()));
    }
  • edit in libpijul/src/pristine/sanakirja.rs at line 533
    [7.36000]
    [7.62143]
    let mut cursor =
    btree::cursor::Cursor::new(txn, graph).map_err(|x| BlockError::Txn(x.into()))?;
  • edit in libpijul/src/pristine/sanakirja.rs at line 2265
    [7.36000][6.3764:3873](),[7.36000][6.3764:3873]()
    let mut cursor =
    btree::cursor::Cursor::new(txn, graph).map_err(|x| BlockError::Txn(x.into()))?;
  • resolve order conflict in libpijul/src/pristine/sanakirja.rs at line 2265
    [3.26498]
  • edit in libpijul/src/pristine/inode_metadata.rs at line 8
    [7.641877][7.72555:72594]()
    use byteorder::{BigEndian, ByteOrder};
  • edit in libpijul/src/pristine/inode_metadata.rs at line 50
    [71.220]
    [7.643614]
    }
  • resurrect zombie in libpijul/src/diff/replace.rs at line 8
    [7.780225][7.150:186](),[7.780225][7.150:186]()
    use crate::text_encoding::Encoding;
  • resolve order conflict in libpijul/src/diff/replace.rs at line 8
    [7.85662]
    [7.150]
  • resurrect zombie in libpijul/src/diff/replace.rs at line 83
    [7.782229][7.225:324](),[7.782229][7.225:324]()
    Some(Hunk::Edit {
    change: c, local, ..
    }) => {
  • edit in libpijul/src/diff/replace.rs at line 83
    [7.782186]
    [7.225]
    match self.actions.pop() {
  • replacement in libpijul/src/diff/replace.rs at line 96
    [7.782625][7.86222:86297](),[7.782625][7.382:441]()
    self.actions.push(Hunk::Edit { change: c, local })
    self.rec.actions.push(Hunk::Edit {
    [7.782625]
    [7.441]
    self.actions.push(Hunk::Edit {
  • edit in libpijul/src/diff/replace.rs at line 361
    [7.782186][7.86119:86158](),[7.782186][7.86119:86158]()
    match self.actions.pop() {
  • resolve order conflict in libpijul/src/diff/replace.rs at line 361
    [7.793237]
  • resurrect zombie in libpijul/src/diff/mod.rs at line 5
    [7.793368][7.640:677](),[7.793368][7.640:677]()
    use crate::text_encoding::Encoding;
  • resolve order conflict in libpijul/src/diff/mod.rs at line 5
    [7.86417]
    [7.640]
  • resurrect zombie in libpijul/src/diff/delete.rs at line 9
    [7.805702][7.1165:1201](),[7.805702][7.1165:1201]()
    use crate::text_encoding::Encoding;
  • resolve order conflict in libpijul/src/diff/delete.rs at line 9
    [7.86899]
    [7.1165]
  • resurrect zombie in libpijul/src/change.rs at line 1
    [7.831409][7.88731:88751](),[7.831409][7.88731:88751]()
    use crate::HashSet;
  • resurrect zombie in libpijul/src/change.rs at line 2
    [7.831438][7.88752:88784](),[7.831438][7.88752:88784]()
    use std::collections::BTreeSet;
  • resurrect zombie in libpijul/src/change.rs at line 3
    [7.831481][7.2946:2976](),[7.831481][7.2946:2976](),[7.2977][7.1442:1502](),[7.2977][7.1442:1502]()
    use chrono::{DateTime, Utc};
    use crate::pristine::*;
    use crate::text_encoding::Encoding;
  • resolve order conflict in libpijul/src/change.rs at line 3
    [7.88784]
    [7.2946]
  • edit in libpijul/src/change.rs at line 5
    [7.2976][7.2976:2977](),[7.2976][7.2976:2977]()
  • resurrect zombie in libpijul/src/change/text_changes.rs at line 1
    [7.38019][7.89108:89128](),[7.38019][7.89108:89128]()
    use crate::HashMap;
  • replacement in libpijul/src/change/text_changes.rs at line 580
    [7.57069][7.89461:89589](),[7.57069][7.3840:3992]()
    Regex::new(r#"^(?P<n>\d+)\. File addition: "(?P<name>[^"]*)" in "(?P<parent>[^"]*)"(?P<perm> \S+)?"#).unwrap();
    Regex::new(r#"^(?P<n>\d+)\. File addition: "(?P<name>[^"]*)" in "(?P<parent>[^"]*)"(?P<perm> [^ ]+)? "(?P<encoding>[^"]*)""#).unwrap();
    [7.57069]
    [7.57195]
    Regex::new(r#"^(?P<n>\d+)\. File addition: "(?P<name>[^"]*)" in "(?P<parent>[^"]*)"(?P<perm> \S+)? "(?P<encoding>[^"]*)""#).unwrap();
  • edit in libpijul/src/change/text_changes.rs at line 636
    [7.59651][7.89630:89730](),[7.59651][7.89630:89730]()
    contents_.push((meta.0 >> 8) as u8);
    contents_.push((meta.0 & 0xff) as u8);
  • replacement in libpijul/src/change/text_changes.rs at line 643
    [7.3176][7.3176:3216]()
    meta.write(&mut contents_);
    [7.3176]
    [7.140931]
    meta.write(contents_);
  • edit in libpijul/src/change/text_changes.rs at line 781
    [7.64590][7.89731:89831](),[7.64590][7.89731:89831]()
    contents_.push((meta.0 >> 8) as u8);
    contents_.push((meta.0 & 0xff) as u8);
  • replacement in libpijul/src/change/text_changes.rs at line 786
    [7.3349][7.3349:3389]()
    meta.write(&mut contents_);
    [7.3349]
    [7.141265]
    meta.write(contents_);
  • replacement in libpijul/Cargo.toml at line 119
    [7.730][7.2:2](),[7.2][7.5871:5897](),[7.1023338][7.5871:5897]()
    tree_magic_mini = "1.0.0"
    [7.730]
    [7.5897]
    tree_magic_mini = "3.0.0"
  • replacement in Cargo.lock at line 5
    [7.1030508][7.141416:141435]()
    version = "0.14.1"
    [7.1030508]
    [7.1030527]
    version = "0.15.1"
  • replacement in Cargo.lock at line 7
    [7.1030592][7.141436:141514]()
    checksum = "a55f82cfe485775d02112886f4169bde0c5894d75e79ead7eafe7e40a25e45f7"
    [7.1030592]
    [7.1030670]
    checksum = "03345e98af8f3d786b6d9f656ccfa6ac316d954e92bc4841f0bba20789d5fb5a"
  • replacement in Cargo.lock at line 20
    [7.1030923][7.1030923:1030942]()
    version = "0.7.15"
    [7.1030923]
    [7.1030942]
    version = "0.7.18"
  • replacement in Cargo.lock at line 22
    [7.1031007][7.1031007:1031085]()
    checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"
    [7.1031007]
    [7.1031085]
    checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
  • replacement in Cargo.lock at line 64
    [7.1032392][2.99:118]()
    version = "0.3.57"
    [7.1032392]
    [7.1032411]
    version = "0.3.59"
  • replacement in Cargo.lock at line 66
    [7.1032476][2.119:197]()
    checksum = "78ed203b9ba68b242c62b3fb7480f589dd49829be1edb3fe8fc8b4ffda2dcb8d"
    [7.1032476]
    [7.1032554]
    checksum = "4717cfcbfaa661a0fd48f8453951837ae7e8f81e481fbb136e3202d72805a744"
  • edit in Cargo.lock at line 69
    [7.1032585]
    [7.1032585]
    "cc",
  • replacement in Cargo.lock at line 106
    [7.460][7.460:479]()
    version = "0.19.4"
    [7.460]
    [7.479]
    version = "0.19.5"
  • replacement in Cargo.lock at line 108
    [7.544][7.544:622]()
    checksum = "a7ba35e9565969edb811639dbebfe34edc0368e472c5018474c8eb2543397f81"
    [7.544]
    [7.622]
    checksum = "8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321"
  • edit in Cargo.lock at line 117
    [7.691][7.1033914:1034177](),[7.1033914][7.1033914:1034177]()
    name = "blake2b_simd"
    version = "0.5.11"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587"
    dependencies = [
    "arrayref",
    "arrayvec",
    "constant_time_eq",
    ]
    [[package]]
  • replacement in Cargo.lock at line 133
    [7.1034498][7.151342:151361]()
    version = "0.2.15"
    [7.1034498]
    [7.1034517]
    version = "0.2.16"
  • replacement in Cargo.lock at line 135
    [7.1034582][7.151362:151440]()
    checksum = "a40b47ad93e1a5404e6c18dec46b628214fee441c70f4ab5d6942142cc268a3d"
    [7.1034582]
    [7.1034660]
    checksum = "90682c8d613ad3373e66de8c6411e0ae2ab2571e879d2efbf73558cc66f21279"
  • replacement in Cargo.lock at line 187
    [7.5974][7.5974:5993]()
    version = "0.1.10"
    [7.5974]
    [7.5993]
    version = "0.1.12"
  • replacement in Cargo.lock at line 189
    [7.6058][7.6058:6136]()
    checksum = "f866cba7596c2e70200523e399101d460514a5e59191223aa87d579e49e52025"
    [7.6058]
    [7.6136]
    checksum = "459978032e1aa8d5ca411ee0057ea84f98a93a648ff9f78654e53f33447cf0f9"
  • replacement in Cargo.lock at line 286
    [7.117741][7.117741:117759]()
    version = "0.9.3"
    [7.117741]
    [7.117759]
    version = "0.9.4"
  • replacement in Cargo.lock at line 288
    [7.117824][7.117824:117902]()
    checksum = "2584f639eb95fea8c798496315b297cf81b9b58b6d30ab066a75455333cf4b12"
    [7.117824]
    [7.117902]
    checksum = "52fb27eab85b17fbb9f6fd667089e07d6a2eb8743d02639ee7f6a7a7729c9c94"
  • replacement in Cargo.lock at line 299
    [7.902][7.17922:17940]()
    version = "0.8.3"
    [7.902]
    [7.920]
    version = "0.8.4"
  • replacement in Cargo.lock at line 301
    [7.985][7.17941:18019]()
    checksum = "e7e9d99fa91428effe99c5c6d4634cdeba32b8cf784fc428a2a687f61a952c49"
    [7.985]
    [7.1063]
    checksum = "4feb231f0d4d6af81aed15928e58ecf5816aa62a2393e2c82f46973e92a9a278"
  • replacement in Cargo.lock at line 375
    [7.1040602][7.1993:2011]()
    version = "3.0.1"
    [7.1040602]
    [7.1040620]
    version = "3.0.2"
  • replacement in Cargo.lock at line 377
    [7.1040685][7.2012:2090]()
    checksum = "142995ed02755914747cc6ca76fc7e4583cd18578746716d0508ea6ed558b9ff"
    [7.1040685]
    [7.1040763]
    checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309"
  • replacement in Cargo.lock at line 394
    [7.1041091][7.1041091:1041109]()
    version = "0.3.5"
    [7.1041091]
    [7.1041109]
    version = "0.3.6"
  • replacement in Cargo.lock at line 396
    [7.1041174][7.1041174:1041252]()
    checksum = "8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a"
    [7.1041174]
    [7.1041252]
    checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780"
  • replacement in Cargo.lock at line 399
    [7.1041278][7.295:317]()
    "redox_users 0.3.5",
    [7.1041278]
    [7.791]
    "redox_users",
  • replacement in Cargo.lock at line 410
    [7.1041536][7.416:438]()
    "redox_users 0.4.0",
    [7.1041536]
    [7.803]
    "redox_users",
  • replacement in Cargo.lock at line 481
    [7.1043005][2.781:805]()
    "redox_syscall 0.2.6",
    [7.1043005]
    [7.827]
    "redox_syscall",
  • replacement in Cargo.lock at line 682
    [7.1047789][7.1047789:1047808]()
    version = "0.23.0"
    [7.1047789]
    [7.1047808]
    version = "0.24.0"
  • replacement in Cargo.lock at line 684
    [7.1047873][7.1047873:1047951]()
    checksum = "f6503fe142514ca4799d4c26297c4248239fe8838d827db6bd6065c6ed29a6ce"
    [7.1047873]
    [7.1047951]
    checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189"
  • replacement in Cargo.lock at line 716
    [7.1048723][2.1797:1815]()
    version = "0.3.2"
    [7.1048723]
    [7.1048741]
    version = "0.3.3"
  • replacement in Cargo.lock at line 718
    [7.1048806][2.1816:1894]()
    checksum = "fc018e188373e2777d0ef2467ebff62a08e66c3f5857b23c8fbec3018210dc00"
    [7.1048806]
    [7.1048884]
    checksum = "825343c4eef0b63f541f8903f395dc5beb362a979b5799a84062527ef1e37726"
  • replacement in Cargo.lock at line 770
    [7.1049974][2.1993:2011]()
    version = "0.4.1"
    [7.1049974]
    [7.1049992]
    version = "0.4.2"
  • replacement in Cargo.lock at line 772
    [7.1050057][2.2012:2090]()
    checksum = "5dfb77c123b4e2f72a2069aeae0b4b4949cc7e966df277813fc16347e7549737"
    [7.1050057]
    [7.1050135]
    checksum = "60daa14be0e0786db0f03a9e57cb404c9d756eed2b6c62b9ea98ec5743ec75a9"
  • replacement in Cargo.lock at line 781
    [7.1050204][2.2113:2131]()
    version = "1.4.0"
    [7.1050204]
    [7.1050222]
    version = "1.4.1"
  • replacement in Cargo.lock at line 783
    [7.1050287][2.2132:2210]()
    checksum = "4a1ce40d6fc9764887c2fdc7305c3dcc429ba11ff981c1509416afd5697e4437"
    [7.1050287]
    [7.1050365]
    checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68"
  • replacement in Cargo.lock at line 920
    [7.1053886][2.2703:2722]()
    version = "0.3.50"
    [7.1053886]
    [7.1053905]
    version = "0.3.51"
  • replacement in Cargo.lock at line 922
    [7.1053970][2.2723:2801]()
    checksum = "2d99f9e3e84b8f67f846ef5b4cbbc3b1c29f6c759fcbce6f01aa0e73d932a24c"
    [7.1053970]
    [7.1054048]
    checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062"
  • replacement in Cargo.lock at line 935
    [7.6432][7.882:900]()
    version = "0.7.5"
    [7.6432]
    [7.6450]
    version = "0.7.6"
  • replacement in Cargo.lock at line 937
    [7.6515][7.901:979]()
    checksum = "21f866863575d0e1d654fbeeabdc927292fdf862873dc3c96c6f753357e13374"
    [7.6515]
    [7.6593]
    checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe"
  • replacement in Cargo.lock at line 948
    [7.1054747][2.2802:2821](),[7.1054747][7.998:1017]()
    version = "0.2.93"
    version = "0.2.87"
    [7.1054747]
    [7.1054766]
    version = "0.2.94"
  • replacement in Cargo.lock at line 950
    [7.1054831][2.2822:2900](),[7.1054831][7.1018:1096]()
    checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41"
    checksum = "265d751d31d6780a3f956bb5b8022feba2d94eeee5a84ba64f4212eedca42213"
    [7.1054831]
    [7.1054909]
    checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e"
  • edit in Cargo.lock at line 1002
    [7.1055861][7.118074:118088]()
    "twox-hash",
  • edit in Cargo.lock at line 1003
    [7.6739]
    [7.1055861]
    "twox-hash",
  • replacement in Cargo.lock at line 1034
    [7.1056444][7.1056444:1056462]()
    version = "1.1.2"
    [7.1056444]
    [7.1056462]
    version = "1.1.3"
  • replacement in Cargo.lock at line 1036
    [7.1056527][7.1056527:1056605]()
    checksum = "602113192b08db8f38796c4e85c39e960c145965140e918018bcde1952429655"
    [7.1056527]
    [7.1056605]
    checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66"
  • replacement in Cargo.lock at line 1052
    [7.1056895][2.3007:3025]()
    version = "0.4.3"
    [7.1056895]
    [7.1056913]
    version = "0.4.4"
  • replacement in Cargo.lock at line 1054
    [7.1056978][2.3026:3104]()
    checksum = "5a3c91c24eae6777794bb1997ad98bbb87daf92890acab859f7eaa4320333176"
    [7.1056978]
    [7.1057056]
    checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb"
  • replacement in Cargo.lock at line 1085
    [7.1057767][7.1057767:1057785]()
    version = "2.3.4"
    [7.1057767]
    [7.1057785]
    version = "2.4.0"
  • replacement in Cargo.lock at line 1087
    [7.1057850][7.1057850:1057928]()
    checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
    [7.1057850]
    [7.1057928]
    checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc"
  • replacement in Cargo.lock at line 1240
    [7.1061523][7.155449:155468]()
    version = "0.23.0"
    [7.1061523]
    [7.1061542]
    version = "0.24.0"
  • replacement in Cargo.lock at line 1242
    [7.1061607][7.155469:155547]()
    checksum = "a9a7ab5d64814df0fe4a4b5ead45ed6c5f181ee3ff04ba344313a6c80446c5d4"
    [7.1061607]
    [7.1061685]
    checksum = "1a5b3dd1c072ee7963717671d1ca129f1048fda25edea6b752bfc71ac8854170"
  • edit in Cargo.lock at line 1247
    [7.1061717][7.1217:1235]()
    version = "1.7.2"
  • resolve order conflict in Cargo.lock at line 1247
    [2.3418]
    [7.1061735]
  • edit in Cargo.lock at line 1248
    [7.1061800][2.3419:3497]()
    checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
  • replacement in Cargo.lock at line 1252
    [7.1061908][2.3498:3518]()
    version = "0.10.33"
    [7.1061908]
    [7.1061928]
    version = "0.10.34"
  • replacement in Cargo.lock at line 1254
    [7.1061993][2.3519:3597]()
    checksum = "a61075b62a23fef5a29815de7536d940aa35ce96d18ce0cc5076272db678a577"
    [7.1061993]
    [7.1062071]
    checksum = "6d7830286ad6a3973c0f1d9b73738f69c76b739301d0229c4b96501695cbe4c8"
  • replacement in Cargo.lock at line 1272
    [7.1062411][2.3613:3632]()
    version = "0.9.61"
    [7.1062411]
    [7.1062430]
    version = "0.9.63"
  • replacement in Cargo.lock at line 1274
    [7.1062495][2.3633:3711]()
    checksum = "313752393519e876837e09e1fa183ddef0be7735868dced3196f4472d536277f"
    [7.1062495]
    [7.1062573]
    checksum = "b6b0d6fb7d80f877617dfcb014e605e2b5ab2fb0afdf27935219bb6bd984cb98"
  • replacement in Cargo.lock at line 1328
    [7.1063591][2.3712:3736]()
    "redox_syscall 0.2.6",
    [7.1063591]
    [7.1063609]
    "redox_syscall",
  • edit in Cargo.lock at line 1434
    [7.1065701][7.1315:1333]()
    version = "0.2.5"
  • resolve order conflict in Cargo.lock at line 1434
    [2.3951]
    [7.1392]
  • edit in Cargo.lock at line 1436
    [7.1457][7.1334:1412]()
    checksum = "0cf491442e4b033ed1c722cb9f0df5fcfcf4de682466c46469c36bc47dc5548a"
  • resolve order conflict in Cargo.lock at line 1436
    [2.4030]
    [7.1535]
  • replacement in Cargo.lock at line 1598
    [7.1069063][7.1069063:1069082]()
    version = "0.1.57"
    [7.1069063]
    [7.1069082]
    version = "0.2.8"
  • replacement in Cargo.lock at line 1600
    [7.1069147][7.1069147:1069238](),[7.1069238][7.2233:2256](),[7.2256][2.4130:4148](),[2.4148][7.2274:2339](),[7.9279][7.2274:2339](),[7.156387][7.2274:2339](),[7.2274][7.2274:2339](),[7.2339][2.4149:4227]()
    checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
    [[package]]
    name = "redox_syscall"
    version = "0.2.6"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "8270314b5ccceb518e7e578952f0b72b88222d02e8f77f5ecf7abbb673539041"
    [7.1069147]
    [7.2417]
    checksum = "742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc"
  • edit in Cargo.lock at line 1603
    [7.2447][7.2447:2462](),[7.2462][7.1069238:1069437](),[7.1069238][7.1069238:1069437](),[7.1069437][7.142351:142372](),[7.142372][7.2463:2488](),[7.2488][7.1069469:1069485](),[7.1069469][7.1069469:1069485]()
    ]
    [[package]]
    name = "redox_users"
    version = "0.3.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d"
    dependencies = [
    "getrandom 0.1.16",
    "redox_syscall 0.1.57",
    "rust-argon2",
  • replacement in Cargo.lock at line 1612
    [7.156487][2.4228:4252]()
    "redox_syscall 0.2.6",
    [7.156487]
    [7.2732]
    "redox_syscall",
  • replacement in Cargo.lock at line 1617
    [7.1069515][2.4253:4271]()
    version = "1.4.6"
    [7.1069515]
    [7.1069533]
    version = "1.5.4"
  • replacement in Cargo.lock at line 1619
    [7.1069598][2.4272:4350]()
    checksum = "2a26af418b574bd56588335b3a3659a65725d4e636eb1016c2f9e3b38c7cc759"
    [7.1069598]
    [7.1069676]
    checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
  • replacement in Cargo.lock at line 1628
    [7.1069792][2.4351:4370]()
    version = "0.6.23"
    [7.1069792]
    [7.1069811]
    version = "0.6.25"
  • replacement in Cargo.lock at line 1630
    [7.1069876][2.4371:4449]()
    checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548"
    [7.1069876]
    [7.1069954]
    checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
  • edit in Cargo.lock at line 1686
    [7.1071022][7.1071022:1071043](),[7.1071043][7.1126:1144](),[7.1144][7.1071061:1071126](),[7.1071061][7.1071061:1071126](),[7.1071126][7.1145:1223](),[7.1223][7.1071204:1071221](),[7.1071204][7.1071204:1071221](),[7.1071221][7.1224:1235](),[7.1235][7.1071232:1071270](),[7.1736][7.1071232:1071270](),[7.1071232][7.1071232:1071270](),[7.1071270][7.1236:1256](),[7.1256][7.1071290:1071305](),[7.1763][7.1071290:1071305](),[7.1071290][7.1071290:1071305]()
    name = "rust-argon2"
    version = "0.8.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb"
    dependencies = [
    "base64",
    "blake2b_simd",
    "constant_time_eq",
    "crossbeam-utils",
    ]
    [[package]]
  • replacement in Cargo.lock at line 1687
    [7.1071329][7.1071329:1071348]()
    version = "0.1.18"
    [7.1071329]
    [7.1071348]
    version = "0.1.19"
  • replacement in Cargo.lock at line 1689
    [7.1071413][7.1071413:1071491]()
    checksum = "6e3bad0ee36814ca07d7968269dd4b7ec89ec2da10c4bb613928d3077083c232"
    [7.1071413]
    [7.156891]
    checksum = "410f7acf3cb3a44527c5d9546bad4bf4e6c460915d5f9f2fc524498bfe8f70ce"
  • replacement in Cargo.lock at line 1724
    [7.157079][7.119248:119266]()
    version = "1.2.4"
    [7.157079]
    [7.157097]
    version = "1.2.7"
  • replacement in Cargo.lock at line 1726
    [7.157162][7.119267:119345]()
    checksum = "c15b6118bc265955b685bee694a1f04c70dfb65344411495d88e716a2cd74a3b"
    [7.157162]
    [7.157240]
    checksum = "81ad8f3bbfb988e3ce4e5e73ee50f5d5a7f99a5e6dba4123b491feebb5da94d5"
  • edit in Cargo.lock at line 1843
    [7.1075391][7.1075391:1075404](),[7.1075404][7.119346:119534]()
    [[package]]
    name = "static_assertions"
    version = "1.1.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
  • resolve order conflict in Cargo.lock at line 1845
    [7.119547]
    [7.7234]
  • replacement in Cargo.lock at line 1864
    [7.1075798][2.5141:5160]()
    version = "1.0.70"
    [7.1075798]
    [7.1075817]
    version = "1.0.72"
  • replacement in Cargo.lock at line 1866
    [7.1075882][2.5161:5239]()
    checksum = "b9505f307c872bab8eb46f77ae357c8eba1fdacead58ee5a850116b1d7f82883"
    [7.1075882]
    [7.1075960]
    checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82"
  • replacement in Cargo.lock at line 1899
    [7.119563][2.5240:5264]()
    "redox_syscall 0.2.6",
    [7.119563]
    [7.1076541]
    "redox_syscall",
  • replacement in Cargo.lock at line 1972
    [7.1078238][2.5265:5284]()
    version = "0.32.8"
    [7.1078238]
    [7.351]
    version = "0.32.9"
  • replacement in Cargo.lock at line 1974
    [7.416][2.5285:5363]()
    checksum = "139bf84fe168f1af688fb48c586b7eba59ac35684a87b52d973c7bdbc18d9b8f"
    [7.416]
    [7.1078400]
    checksum = "72d58952cd321b79c05e8c999b81ed6094b627157c415679fa297007a4a84da9"
  • replacement in Cargo.lock at line 2005
    [7.1078612][7.119564:119583]()
    version = "0.20.3"
    [7.1078612]
    [7.1078631]
    version = "0.20.4"
  • replacement in Cargo.lock at line 2007
    [7.1078696][7.119584:119662]()
    checksum = "32214c32e2327f5a7775879390b944396f23ae28f5f2a71bd2f6352dc6d10215"
    [7.1078696]
    [7.1078774]
    checksum = "ca573360d2c7d31df13c747663e69d7210aa732744feeeb808c8889f40934d02"
  • replacement in Cargo.lock at line 2136
    [7.1081601][7.159202:159221]()
    version = "0.1.25"
    [7.1081601]
    [7.1081620]
    version = "0.1.26"
  • replacement in Cargo.lock at line 2138
    [7.1081685][7.159222:159300]()
    checksum = "01ebdc2bb4498ab1ab5f5b73c5803825e60199229ccba0698170e3be0e7f959f"
    [7.1081685]
    [7.1081763]
    checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d"
  • replacement in Cargo.lock at line 2147
    [7.1081881][7.1081881:1081900]()
    version = "0.1.17"
    [7.1081881]
    [7.1081900]
    version = "0.1.18"
  • replacement in Cargo.lock at line 2149
    [7.1081965][7.1081965:1082043]()
    checksum = "f50de3927f93d202783f4513cda820ab47ef17f624b03c096e86ef00c67e6b5f"
    [7.1081965]
    [7.1082043]
    checksum = "a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052"
  • replacement in Cargo.lock at line 2156
    [7.7476][7.1792:1810]()
    version = "1.0.1"
    [7.7476]
    [7.7494]
    version = "3.0.0"
  • replacement in Cargo.lock at line 2158
    [7.7559][7.1811:1889]()
    checksum = "287a760af78a7d607cb231500c06009ea1e0599cd57b10c32760061979bab1f1"
    [7.7559]
    [7.7637]
    checksum = "0687683589ce7d3912e6bf52c1620d970fbed86c27e12118ca779a3780bbf888"
  • edit in Cargo.lock at line 2163
    [7.7686]
    [7.7686]
    "once_cell",
  • replacement in Cargo.lock at line 2222
    [7.1083842][7.1083842:1083860]()
    version = "0.2.1"
    [7.1083842]
    [7.1083860]
    version = "0.2.2"
  • replacement in Cargo.lock at line 2224
    [7.1083925][7.1083925:1084003]()
    checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
    [7.1083925]
    [7.1084003]
    checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
  • replacement in Cargo.lock at line 2228
    [7.1084029][7.159515:159533]()
    version = "2.2.1"
    [7.1084029]
    [7.1084047]
    version = "2.2.2"
  • replacement in Cargo.lock at line 2230
    [7.1084112][7.159534:159612]()
    checksum = "9ccd964113622c8e9322cfac19eb1004a07e636c545f325da085d5cdde6f1f8b"
    [7.1084112]
    [7.1084190]
    checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
  • replacement in Cargo.lock at line 2300
    [7.1086008][2.6168:6187]()
    version = "0.2.73"
    [7.1086008]
    [7.1086027]
    version = "0.2.74"
  • replacement in Cargo.lock at line 2302
    [7.1086092][2.6188:6266]()
    checksum = "83240549659d187488f91f33c0f8547cbfef0b2088bc470c116d1d260ef623d9"
    [7.1086092]
    [7.1086170]
    checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd"
  • replacement in Cargo.lock at line 2312
    [7.1086298][2.6267:6286]()
    version = "0.2.73"
    [7.1086298]
    [7.1086317]
    version = "0.2.74"
  • replacement in Cargo.lock at line 2314
    [7.1086382][2.6287:6365]()
    checksum = "ae70622411ca953215ca6d06d3ebeb1e915f0f6613e3b495122878d7ebec7dae"
    [7.1086382]
    [7.1086460]
    checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900"
  • replacement in Cargo.lock at line 2327
    [7.1086616][2.6366:6385]()
    version = "0.4.23"
    [7.1086616]
    [7.1086635]
    version = "0.4.24"
  • replacement in Cargo.lock at line 2329
    [7.1086700][2.6386:6464]()
    checksum = "81b8b767af23de6ac18bf2168b690bed2902743ddf0fb39252e36f9e2bfc63ea"
    [7.1086700]
    [7.1086778]
    checksum = "5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1"
  • replacement in Cargo.lock at line 2339
    [7.1086896][2.6465:6484]()
    version = "0.2.73"
    [7.1086896]
    [7.1086915]
    version = "0.2.74"
  • replacement in Cargo.lock at line 2341
    [7.1086980][2.6485:6563]()
    checksum = "3e734d91443f177bfdb41969de821e15c516931c3c3db3d318fa1b68975d0f6f"
    [7.1086980]
    [7.1087058]
    checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4"
  • replacement in Cargo.lock at line 2349
    [7.1087167][2.6564:6583]()
    version = "0.2.73"
    [7.1087167]
    [7.1087186]
    version = "0.2.74"
  • replacement in Cargo.lock at line 2351
    [7.1087251][2.6584:6662]()
    checksum = "d53739ff08c8a68b0fdbcd54c372b8ab800b1449ab3c9d706503bc7dd1621b2c"
    [7.1087251]
    [7.1087329]
    checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97"
  • replacement in Cargo.lock at line 2362
    [7.1087473][2.6663:6682]()
    version = "0.2.73"
    [7.1087473]
    [7.1087492]
    version = "0.2.74"
  • replacement in Cargo.lock at line 2364
    [7.1087557][2.6683:6761]()
    checksum = "d9a543ae66aa233d14bb765ed9af4a33e81b8b58d1584cf1b47ff8cd0b9e4489"
    [7.1087557]
    [7.1087635]
    checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f"
  • replacement in Cargo.lock at line 2368
    [7.1087665][2.6762:6781]()
    version = "0.3.50"
    [7.1087665]
    [7.1087684]
    version = "0.3.51"
  • replacement in Cargo.lock at line 2370
    [7.1087749][2.6782:6860]()
    checksum = "a905d57e488fec8861446d3393670fb50d27a262344013181c2cdf9fff5481be"
    [7.1087749]
    [7.1087827]
    checksum = "e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582"