Reset only files that have been modified
[?]
Jan 10, 2021, 5:40 PM
XA23FMQM2AI7RMR36AYN7UNP2D5JWVJMJPHURWZO7URM7H46PU6ACDependencies
- [2]
QMTANHVNReset: only output changed files - [3]
3KRGVQFUDo not update the mtime of unmodified files - [4]
I52XSRUHMassive cleanup, and simplification - [5]
L4JXJHWXpijul/*: reorganize imports and remove extern crate - [6]
SXEYMYF7Fixing the bad changes in history (unfortunately, by rebooting). - [7]
VO5OQW4WRemoving anyhow in libpijul - [8]
CCLLB7OIUpgrading to Sanakirja 0.15 + version bump - [9]
R3H7D42UDebugging `pijul git`: proper error reporting - [*]
5DVRL6MFHard-unrecord - [*]
MU5GSJAWPartial push and pull (WARNING: breaks the existing protocol)
Change contents
- edit in pijul/src/remote/ssh.rs at line 913
None, - edit in pijul/src/remote/local.rs at line 135
None, - edit in pijul/src/commands/unrecord.rs at line 127
None, - edit in pijul/src/commands/reset.rs at line 73
let last_modified = last_modified(&txn, &channel.borrow()); - edit in pijul/src/commands/reset.rs at line 81
Some(last_modified), - edit in pijul/src/commands/reset.rs at line 141
None, - edit in pijul/src/commands/reset.rs at line 156
None, - edit in pijul/src/commands/reset.rs at line 198
}fn last_modified<T: ChannelTxnT>(_: &T, channel: &T::Channel) -> std::time::SystemTime {std::time::SystemTime::UNIX_EPOCH + std::time::Duration::from_secs(T::last_modified(channel)) - edit in pijul/src/commands/pushpull.rs at line 461[12.10419][12.10419]
None, - edit in pijul/src/commands/protocol.rs at line 244
None, - edit in pijul/src/commands/clone.rs at line 104
None, - replacement in pijul/src/commands/apply.rs at line 1
use std::collections::HashMap;use std::collections::{HashMap, HashSet}; - replacement in pijul/src/commands/apply.rs at line 7
use libpijul::{MutTxnT, MutTxnTExt, TxnT};use libpijul::{DepsTxnT, GraphTxnT, MutTxnT, MutTxnTExt, TxnT}; - replacement in pijul/src/commands/apply.rs at line 60[3.196137]→[3.196137:196268](∅→∅),[3.196268]→[3.1927:1960](∅→∅),[3.1960]→[3.196268:196314](∅→∅),[3.196268]→[3.196268:196314](∅→∅)
txn.output_repository_no_pending(&mut repo.working_copy,&repo.changes,&mut channel,&mut HashMap::new(),"",true,)?;let mut touched = HashSet::new();for d in hashes.iter() {if let Some(int) = txn.get_internal(*d)? {for inode in txn.iter_rev_touched(int)? {let (int_, inode) = inode?;if int_ < int {continue;} else if int_ > int {break;}touched.insert(inode);}}}let mut done = HashMap::new();for i in touched {let (path, _) =libpijul::fs::find_path(&repo.changes, &txn, &channel.borrow(), false, i)?;txn.output_repository_no_pending(&mut repo.working_copy,&repo.changes,&mut channel,&mut done,&path,true,None,)?;} - edit in libpijul/src/output/output.rs at line 38
if_modified_since: Option<std::time::SystemTime>, - edit in libpijul/src/output/output.rs at line 49
if_modified_since, - edit in libpijul/src/output/output.rs at line 68
if_modified_after: Option<std::time::SystemTime>, - replacement in libpijul/src/output/output.rs at line 187
repo.write_file(&path, |w: &mut dyn std::io::Write| {output_file::<_, _, R>(txn,channel,changes,&output_item,&mut conflicts,w,)}).map_err(OutputError::from)?let output = if let Some(m) = if_modified_after {if let Ok(last) = repo.modified_time(&path) {last >= m} else {true}} else {true};if output {repo.write_file(&path, |w: &mut dyn std::io::Write| {output_file::<_, _, R>(txn,channel,changes,&output_item,&mut conflicts,w,)}).map_err(OutputError::from)?} - edit in libpijul/src/lib.rs at line 276
if_modified_since: Option<std::time::SystemTime> - edit in libpijul/src/lib.rs at line 287
if_modified_since,