Do not touch the channel if this is a partial record

[?]
Jan 10, 2021, 6:31 PM
G6S6PWZEFJK7ARWBIFKDU6VYC5DCJ2YFJMWZOLLWWKU52R2QPXZAC

Dependencies

  • [2] VNBLGT6G Do not output unmodified files when resetting (fix)
  • [3] I52XSRUH Massive cleanup, and simplification
  • [4] 3KRGVQFU Do not update the mtime of unmodified files
  • [5] QMTANHVN Reset: only output changed files
  • [6] XA23FMQM Reset only files that have been modified
  • [7] GHO6DWPI Refactoring iterators
  • [8] DJYHARZ7 Skipping old files when recording
  • [9] VO5OQW4W Removing anyhow in libpijul
  • [10] CCLLB7OI Upgrading to Sanakirja 0.15 + version bump
  • [11] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).

Change contents

  • edit in pijul/src/commands/record.rs at line 88
    [3.104054]
    [3.104054]
    let no_prefixes = self.prefixes.is_empty();
  • replacement in pijul/src/commands/record.rs at line 121
    [3.298][3.298:370]()
    txn.touch_channel(&mut channel.borrow_mut(), Some(oldest));
    [3.298]
    [3.105252]
    if no_prefixes {
    txn.touch_channel(&mut channel.borrow_mut(), Some(oldest));
    }
  • replacement in pijul/src/commands/record.rs at line 126
    [3.105296][2.827:891](),[2.891][3.686:713](),[3.686][3.686:713]()
    txn.touch_channel(&mut channel.borrow_mut(), None);
    txn.commit()?;
    [3.105296]
    [3.105296]
    if no_prefixes {
    txn.touch_channel(&mut channel.borrow_mut(), None);
    txn.commit()?;
    }
  • replacement in libpijul/src/record.rs at line 426
    [3.502359][3.1394:1500]()
    || self.modified_since_last_commit::<T, _>(&channel, working_copy, &item.full_path)?)
    [3.502359]
    [3.502452]
    || self.modified_since_last_commit::<T, _>(
    &channel,
    working_copy,
    &item.full_path,
    )?)
  • replacement in libpijul/src/record.rs at line 619
    [3.2354][3.2354:2499]()
    .duration_since(std::time::UNIX_EPOCH)?
    .as_secs()
    + 2
    >= T::last_modified(channel))
    [3.2354]
    [3.2499]
    .duration_since(std::time::UNIX_EPOCH)?
    .as_secs()
    + 2
    >= T::last_modified(channel))
  • replacement in libpijul/src/pristine/mod.rs at line 1636
    [3.3425][3.3425:3555]()
    fn first_state_after<T: ChannelTxnT>(txn: &T, c: &T::Channel, pos: u64) -> Result<Option<(u64, Merkle)>, TxnErr<T::GraphError>> {
    [3.3425]
    [3.3555]
    fn first_state_after<T: ChannelTxnT>(
    txn: &T,
    c: &T::Channel,
    pos: u64,
    ) -> Result<Option<(u64, Merkle)>, TxnErr<T::GraphError>> {
  • replacement in libpijul/src/pristine/mod.rs at line 1644
    [3.3686][3.3686:3722]()
    return Ok(Some((n, m)))
    [3.3686]
    [3.3722]
    return Ok(Some((n, m)));
  • replacement in libpijul/src/pristine/mod.rs at line 1650
    [3.3754][3.3754:3867]()
    fn last_state<T: ChannelTxnT>(txn: &T, c: &T::Channel) -> Result<Option<(u64, Merkle)>, TxnErr<T::GraphError>> {
    [3.3754]
    [3.3867]
    fn last_state<T: ChannelTxnT>(
    txn: &T,
    c: &T::Channel,
    ) -> Result<Option<(u64, Merkle)>, TxnErr<T::GraphError>> {
  • replacement in libpijul/src/pristine/mod.rs at line 1666
    [3.4126][3.4126:4265]()
    pub fn last_common_state<T: ChannelTxnT>(txn: &T, c0: &T::Channel, c1: &T::Channel) -> Result<(u64, u64, Merkle), TxnErr<T::GraphError>> {
    [3.4126]
    [3.4265]
    pub fn last_common_state<T: ChannelTxnT>(
    txn: &T,
    c0: &T::Channel,
    c1: &T::Channel,
    ) -> Result<(u64, u64, Merkle), TxnErr<T::GraphError>> {
  • replacement in libpijul/src/pristine/mod.rs at line 1675
    [3.4376][3.4376:4418]()
    return Ok((0, 0, Merkle::zero()))
    [3.4376]
    [3.4418]
    return Ok((0, 0, Merkle::zero()));
  • replacement in libpijul/src/pristine/mod.rs at line 1678
    [3.4483][3.4483:4517]()
    return Ok((aa, b, state))
    [3.4483]
    [3.4517]
    return Ok((aa, b, state));
  • replacement in libpijul/src/pristine/mod.rs at line 1682
    [3.4561][3.4561:4590]()
    let mid = (a+b) / 2;
    [3.4561]
    [3.4590]
    let mid = (a + b) / 2;
  • replacement in libpijul/src/output/output.rs at line 198
    [3.2517][3.2517:2574]()
    .map_err(OutputError::from)?
    [3.2517]
    [2.963]
    .map_err(OutputError::from)?
  • replacement in libpijul/src/output/output.rs at line 231
    [3.21084][2.1053:1167]()
    fn needs_output<R: WorkingCopy>(repo: &R, if_modified_after: Option<std::time::SystemTime>, path: &str) -> bool {
    [3.21084]
    [2.1167]
    fn needs_output<R: WorkingCopy>(
    repo: &R,
    if_modified_after: Option<std::time::SystemTime>,
    path: &str,
    ) -> bool {
  • replacement in libpijul/src/output/output.rs at line 240
    [2.1371][2.1371:1410]()
    return d.as_secs() > 0
    [2.1371]
    [2.1410]
    return d.as_secs() > 0;
  • replacement in libpijul/src/output/output.rs at line 242
    [2.1431][2.1431:1460]()
    return false
    [2.1431]
    [2.1460]
    return false;
  • replacement in libpijul/src/lib.rs at line 276
    [3.725733][3.2597:2654]()
    if_modified_since: Option<std::time::SystemTime>
    [3.725733]
    [3.94684]
    if_modified_since: Option<std::time::SystemTime>,