Options to use Patience diff instead of Myers

pmeunier
Feb 27, 2023, 10:38 PM
MDY344ZZLCKXHA7VGJJYLNPCLHPI3I3LFODUYBPBH32SQ3SOOFIAC

Dependencies

  • [2] 36PM475P Fixing diff in the non-"--short" case
  • [3] DWSAYGVE Update codebase to use new identity management
  • [4] CCLLB7OI Upgrading to Sanakirja 0.15 + version bump
  • [5] 4DNDMC7I Fixing a number of bugs related to encodings (extra newlines + misdetection in linux2x)
  • [6] 2VXTRPO4 Custom diff separators
  • [7] 2RXOCWUW Making libpijul deterministic (and getting rid of `rand`)
  • [8] OU243LAB Support for staging
  • [9] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [10] OY3CGEHQ Early stop in the diff algorithms for diff --short
  • [11] HSEYMLO2 Adding an untracked change iterator
  • [12] PIQCNEEB Upgrading to Clap 3.0.0-alpha.5
  • [13] G7VOM2IM Returning an error when recording non-existent paths
  • [14] I24UEJQL Various post-fire fixes
  • [*] FXEDPLRI Resurrecting tests, and type cleanup (no need for Arc<RwLock<…>> anymore)
  • [*] OJZWJUF2 MUCH faster `pijul add -r`

Change contents

  • edit in pijul/src/commands/record.rs at line 56
    [3.477]
    [4.102757]
    /// Use Patience diff instead of the default Myers diff
    #[clap(long = "patience")]
    pub patience: bool,
  • replacement in pijul/src/commands/record.rs at line 324
    [4.13989][4.1269:1329](),[4.1269][4.1269:1329]()
    libpijul::Algorithm::default(),
    [4.13989]
    [4.44]
    if self.patience {
    libpijul::Algorithm::Patience
    } else {
    libpijul::Algorithm::default()
    },
  • replacement in pijul/src/commands/record.rs at line 342
    [4.14195][4.1642:1694](),[4.1642][4.1642:1694]()
    libpijul::Algorithm::default(),
    [4.14195]
    [4.80]
    if self.patience {
    libpijul::Algorithm::Patience
    } else {
    libpijul::Algorithm::default()
    },
  • edit in pijul/src/commands/record.rs at line 360
    [4.14343]
    [4.14343]
    if self.patience {
    libpijul::Algorithm::Patience
    } else {
    libpijul::Algorithm::default()
    },
  • edit in pijul/src/commands/diff.rs at line 35
    [4.174036]
    [4.174036]
    /// Use Patience diff instead of the default Myers diff
    #[clap(long = "patience")]
    pub patience: bool,
  • replacement in pijul/src/commands/diff.rs at line 72
    [4.20138][4.174545:174593](),[4.174545][4.174545:174593]()
    libpijul::Algorithm::default(),
    [4.20138]
    [2.0]
    if self.patience {
    libpijul::Algorithm::Patience
    } else {
    libpijul::Algorithm::default()
    },
  • edit in pijul/src/commands/diff.rs at line 89
    [4.20279]
    [4.20279]
    if self.patience {
    libpijul::Algorithm::Patience
    } else {
    libpijul::Algorithm::default()
    },
  • edit in libpijul/src/working_copy/filesystem.rs at line 164
    [16.757]
    [4.27781]
    algo: crate::Algorithm,
  • edit in libpijul/src/working_copy/filesystem.rs at line 180
    [4.28002]
    [4.28002]
    algo,
  • edit in libpijul/src/working_copy/filesystem.rs at line 194
    [17.679]
    [17.679]
    algo,
  • edit in libpijul/src/working_copy/filesystem.rs at line 318
    [16.858]
    [4.28306]
    algorithm: crate::Algorithm,
  • replacement in libpijul/src/working_copy/filesystem.rs at line 344
    [4.560][4.560:601]()
    crate::Algorithm::default(),
    [4.560]
    [4.147]
    algorithm,
  • replacement in libpijul/src/diff/mod.rs at line 20
    [4.793459][4.226:255]()
    #[derive(Hash, Clone, Copy)]
    [4.793459]
    [4.793495]
    #[derive(Clone, Copy)]
  • edit in libpijul/src/diff/mod.rs at line 32
    [4.459]
    [4.459]
    }
    }
    impl<'a> std::hash::Hash for Line<'a> {
    fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
    self.l.hash(state);
  • replacement in libpijul/Cargo.toml at line 114
    [4.1023274][4.1023274:1023288]()
    diffs = "0.4"
    [4.1023256]
    [4.1023305]
    diffs = "0.5"