Fixing output (including its uses in reset and pull)
[?]
Jan 20, 2021, 10:42 PM
LGEJSLTYI7Y2CYC3AN6ECMT3D3MTWCAKZPVQEG5MPM2OBW5FQ46ACDependencies
- [2]
NMX52UOGFixing the "invalid change" errors - [3]
RHHNPMZIFixing `pijul git` - [4]
LLT3GY6UWhen recording, do not consider deleted filenames as current - [5]
3KRGVQFUDo not update the mtime of unmodified files - [6]
SXEYMYF7Fixing the bad changes in history (unfortunately, by rebooting). - [7]
Y7YAFMFFFix path prefix striping on Windows. - [8]
QMTANHVNReset: only output changed files - [9]
BJOZ25EUDeterministic Git import - [10]
XA23FMQMReset only files that have been modified - [11]
I7VL7VPZMinor cleanup - [12]
Q45QHPO4Feedback on network stuff - [13]
3AMEP2Y5More convenient interface for channels - [14]
JL4WKA5PImplement the Sanakirja concurrency model in a cross-process way - [15]
I52XSRUHMassive cleanup, and simplification - [16]
VMPAOJS2Don't output after pushing to a local channel - [17]
5DVRL6MFHard-unrecord - [18]
L4JXJHWXpijul/*: reorganize imports and remove extern crate - [19]
76PCXGMLPushing to, and pulling from the local repository - [20]
VYHHOEYHVersions and formatting - [21]
B3QWIGDEFixing the Git features with the latest Pijul (+ conflicts in Cargo.toml) - [22]
MHQBEHJDunrecord --reset without a pending change - [23]
MU5GSJAWPartial push and pull (WARNING: breaks the existing protocol) - [24]
VO5OQW4WRemoving anyhow in libpijul - [25]
LYTVEPH3Avoid cloning into an existing path - [26]
VNBLGT6GDo not output unmodified files when resetting (fix) - [27]
L2LPPKD4Fixing the Git feature - [28]
GHO6DWPIRefactoring iterators - [29]
CCLLB7OIUpgrading to Sanakirja 0.15 + version bump - [30]
UDHP4ZVBFixing SSH asynchronicity issues
Change contents
- replacement in pijul/src/remote/ssh.rs at line 1
use std::collections::{HashMap, HashSet};use std::collections::HashSet; - edit in pijul/src/remote/ssh.rs at line 912
&mut HashMap::new(), - replacement in pijul/src/remote/local.rs at line 1
use std::collections::{HashMap, HashSet};use std::collections::HashSet; - replacement in pijul/src/remote/local.rs at line 128
txn.output_repository_no_pending(&mut repo,&store,&mut channel,&mut HashMap::new(),"",true,None,)?;txn.output_repository_no_pending(&mut repo, &store, &mut channel, "", true, None)?; - replacement in pijul/src/remote/local.rs at line 155
send.send(*c).await.unwrap();send.send(*c).await?; - edit in pijul/src/commands/unrecord.rs at line 1
use std::collections::HashMap; - edit in pijul/src/commands/unrecord.rs at line 122
&mut HashMap::new(), - replacement in pijul/src/commands/reset.rs at line 1
use std::collections::{HashMap, HashSet};use std::collections::HashSet; - edit in pijul/src/commands/reset.rs at line 102
&mut HashMap::new(), - edit in pijul/src/commands/reset.rs at line 142
&mut HashMap::new(), - edit in pijul/src/commands/reset.rs at line 148
let mut done = HashMap::new(); - edit in pijul/src/commands/reset.rs at line 155
&mut done, - replacement in pijul/src/commands/pushpull.rs at line 1
use std::collections::{HashMap, HashSet};use std::collections::HashSet; - replacement in pijul/src/commands/pushpull.rs at line 458
let mut done = HashMap::new();for i in touched {let (path, _) =libpijul::fs::find_path(&repo.changes, &txn, &channel.borrow(), false, i)?;let mut touched_paths: Vec<_> = Vec::new();for &i in touched.iter() {touched_paths.push(libpijul::fs::find_path(&repo.changes, &txn, &channel.borrow(), false, i)?.0)}touched_paths.sort();let mut last = "";for path in touched_paths.iter() {if !last.is_empty() && path.starts_with(last) {continue;} - replacement in pijul/src/commands/pushpull.rs at line 474
&mut done,&path,path, - edit in pijul/src/commands/pushpull.rs at line 478
last = path - edit in pijul/src/commands/protocol.rs at line 242
&mut HashMap::new(), - replacement in pijul/src/commands/git.rs at line 2
use std::collections::{BTreeMap, BTreeSet, HashMap};use std::collections::{BTreeMap, BTreeSet}; - edit in pijul/src/commands/git.rs at line 426
&mut HashMap::new(), - edit in pijul/src/commands/clone.rs at line 1
use std::collections::HashMap; - edit in pijul/src/commands/clone.rs at line 100
&mut HashMap::new(), - edit in pijul/src/commands/apply.rs at line 76
let mut done = HashMap::new(); - edit in pijul/src/commands/apply.rs at line 83
&mut done, - replacement in libpijul/src/record.rs at line 398
debug!("former basename of {:?}: {:?} {:?}", vertex, basename, metadata);debug!("former basename of {:?}: {:?} {:?}",vertex, basename, metadata); - edit in libpijul/src/output/output.rs at line 35
done: &mut HashMap<Position<ChangeId>, Vertex<ChangeId>>, - edit in libpijul/src/output/output.rs at line 45
done, - edit in libpijul/src/output/output.rs at line 63
done: &mut HashMap<Position<ChangeId>, Vertex<ChangeId>>, - edit in libpijul/src/output/output.rs at line 71
let mut is_first_none = true;if next_prefix_basename.is_none() {let dead = collect_dead_files(txn, txn.graph(channel), pending_change_id, Inode::ROOT)?;debug!("dead (line {}) = {:?}", line!(), dead);kill_dead_files::<T, R, P>(txn, repo, &dead)?;is_first_none = false;} - edit in libpijul/src/output/output.rs at line 88[5.674278]→[5.674278:674352](∅→∅),[5.674352]→[5.4365:4462](∅→∅),[5.4462]→[5.674437:674493](∅→∅),[5.57866]→[5.674437:674493](∅→∅),[5.82270]→[5.674437:674493](∅→∅),[5.674437]→[5.674437:674493](∅→∅),[5.674493]→[5.20227:20282](∅→∅),[5.20282]→[5.674537:674574](∅→∅),[5.674537]→[5.674537:674574](∅→∅)
let mut is_first_none = true;if next_prefix_basename.is_none() {let dead = collect_dead_files(txn, txn.graph(channel), pending_change_id, Inode::ROOT)?;debug!("dead (line {}) = {:?}", line!(), dead);kill_dead_files::<T, R, P>(txn, repo, &dead)?;is_first_none = false;} - edit in libpijul/src/output/output.rs at line 90
let mut done_vertices = HashMap::new(); - replacement in libpijul/src/output/output.rs at line 111
match done.entry(output_item.pos) {match done_vertices.entry(output_item.pos) { - edit in libpijul/src/lib.rs at line 275
done: &mut HashMap<pristine::Position<ChangeId>, Vertex<ChangeId>>, - edit in libpijul/src/lib.rs at line 285
done, - edit in libpijul/src/apply.rs at line 643
debug_assert!(ws.children.is_empty());debug_assert!(ws.parents.is_empty());